semvec/pypi-packages huggingface dataset:
django-huey-logger 1.0.0
A simple Django app to let you know if huey tasks are working without errors.
License: MIT

Django Huey Logger
==================

A simple Django app to let you know if huey tasks are working without
errors.

Installation
------------

.. code:: bash

    pip install django-huey-logger

Requirements
------------

Needs `huey <https://huey.readthedocs.io/en/latest/contrib.html#django>`__
installed and configured.

Usage
-----

**In your settings.py**

.. code:: py

    INSTALLED_APPS = [
        'huey_logger',
        # Django modules
        ...
    ]

**Run migrations**

::

    python manage.py migrate huey_logger

**Using the decorators**

Keep track of your periodic tasks by adding a decorator to your
functions

.. code:: py

    from huey_logger.decorators import log_db_periodic_task, log_db_task
    from huey import crontab


    @log_db_periodic_task(crontab(hour='*/1', minute=0))
    def periodic_do_something():
        print("I'm saying hello every hour :)")

    @log_db_task
    def do_something_in_background():
        print("I'm saying hello under the hood")
xinge 2.0.4
xinge Push API for Python(http://xg.qq.com).
License: MIT
Keywords: xinge,Android Push,iOS Push,push

# xinge-api-python

[![PyPI version](https://badge.fury.io/py/xinge.svg)](https://badge.fury.io/py/xinge)

## 概述

欢迎使用信鸽 ServerSDK - Python 版本封装的开发包，具有最新版本的信鸽 API 功能。

## 兼容版本

- Python 3.7
- 需要使用到 requests

```shell
➜  ~ pip install requests
```

- 如需运行测试用例，需要安装 unittest

```sbtshell
pip install unittest2
```

## 引用 SDK

```shell
  pip install xinge
```

## 代码示例

```python
from xinge_push import Xinge, Message

xinge = Xinge('app id', 'secret key')
message = Message(title="some title", content = "some content")
xinge.push_account(platform="android", account="some account", message=message)
ret_code, error_msg = xinge.push_account(platform="android", account="some account", message=message)
if ret_code:
    print "push failed! retcode: {}, msg: {}".format(ret_code, error_msg)
else:
    print "push successfully!"

```

## Publish

```shell
python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*
```
btdripper 0.1.0.post1
Control a Kamoer Dripping Pro pump
License: MIT

# btdripper

Control your [Kamoer Dripping Pro](http://kamoer.com/Products/showproduct.php?id=308&lang=en) plant irrigation pump with Python.

You can read more about the idea behind this in [this blog post](https://blog.laure.nz/2019/08/29/reverse-engineering-towards-a-smarter-bluetooth-balcony-plant-irrigation-system-part-1/).

## Installation

```sh
pip3 install btdripper
```

## Demo

You can run `btdripper.py` from the command line.
```
$ btdripper.py --help
usage: btdripper.py [-h] [--adapter ADAPTER] [--mac MAC] [--duration DURATION]

Dripper Pro SDK Demo

optional arguments:
  -h, --help           show this help message and exit
  --adapter ADAPTER    Name of Bluetooth adapter, defaults to 'hci0'
  --mac MAC            Mac address of Dripper Pro device to connect to
  --duration DURATION  Duration in seconds to turn on the pump. Default is 1s
```

Or you can directly import it into your project
```python
$ python
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
>>> import btdripper
>>> dripper = btdripper.BtDripper()
>>> dripper.on()
>>> dripper.off()
```

## API

First, you need to create a new `BtDripper` instance.
When you use an empty constructor, the library will try to connect to the first BLE device called "grow_c" that it finds.
If you already know your dripper's MAC address, you can provide it as a parameter to speed up connection. The parameter is `mac_address` and it takes an address in the format `"90:e2:02:9c:db:50"`.
Should you have more than one bluetooth adapter, you can supply that with the `adapter_name` parameter (default is `"hci0"`)
There is also a way to reuse a `gatt.DeviceManager` via the `manager` parameter if you need to support more than one bluetooth device.

The BtDripper class supports the following methods:

* `on` - turns dripper on
* `off` - turns dripper off
* `send_sequence` - sends a sequence of user-defined byte strings, should you want to experiment yourself.

Note that if you send malformed custom sequences, it can cause the driiper's software to hang. It will not reconnect and only a power cycle helps.

## Todo

This is a very basic implementation. It should be possible to find out how the timer mode works and integrate that. Maybe there is even a way to run the pump at lower speeds?

There are currently no timeouts or error handling. Also I wouldn't be surprised if the library breaks in an unexpected situation. Use at your own risk :)