The Scoly API Package
Project description
Scoly API
A Python 3 API package for the Scoly framework.
Usage
Create a ScolyAPI
instance for each Location you're dealing with: -
from scoly_api.client import Scoly
from datetime import datetime
client = Scoly(
scoly_url="127.0.0.1:8000",
location="Red Dwarf",
location_api_access_code="033589a1-c17d-45e0-bbaa-a5122300c9f3",
)
And then add sensor events, which will be transmitted to Scoly when the cache is full: -
client.add_sensor_data(
sensor="Rimmer",
timestamp_utc=datetime.now(),
data={"battery": 67, "presence": False, "celsius": 23.4, "lux": 45.6}
)
By default the cache will be flushed when it contains 50 events or if the
cache contents are older than 6 minutes. You can set your own
values when you initialise the ScolyAPI
instance with some extra parameters.
To set a cache size of 10 and maximum age of 2 minutes initialise the ScolyAPI
instance like this: -
client = Scoly(
[...],
sensor_event_cache_size = 10,
sensor_event_cache_period = 120,
)
If either value is zero sensor data will be transmitted on each call to
add_sensor_data()
.
There is no background task. After 6 minutes events will not be transmitted,
instead they will b e transmitted on the next call to add_sensor_data()
.
Alternatively, you can also flush cached data immediately by calling flush()
: -
client.flush()
Building
The project is managed by Poetry, so you can build and install the project forcing version 1.0.0 with: -
rm -rf dist
poetry version 1.0.0
poetry build
And then install locally with pip
: -
pip install dist/*.whl
When you're done you can uninstall the API package with pip: -
pip uninstall -y matildapeak_scoly_api
Contributing
The project uses: -
- Poetry for dependency management and packaging
- Pre-commit to enforce linting of files prior to committing them to the upstream repository
- Conventional Commits commit message format
- Black as a code formatter
You MUST comply with these choices in order to contribute to the project.
To get started review the pre-commit utility and the conventional commit style and then set-up your local clone by following the Installation and Quick Start sections: -
poetry shell
poetry install --with dev
pre-commit install -t commit-msg -t pre-commit
Now the project's rules will run on every commit, and you can check the current health of your clone with: -
pre-commit run --all-files
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file matildapeak_scoly_api-1.0.0.tar.gz
.
File metadata
- Download URL: matildapeak_scoly_api-1.0.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/5.4.109+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d8c05b706e0f1b4124741f6a75acc1718bc486383be9a1eed12d2470831a84c |
|
MD5 | a102b6e30a841ece3bb9ddaf7c5a8544 |
|
BLAKE2b-256 | df707bdcf1cf7ccd8ae13d4ae19aec9ee7574b87daa2045c765cbe751c54b697 |
File details
Details for the file matildapeak_scoly_api-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: matildapeak_scoly_api-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/5.4.109+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 411a761591554d3c0a7d06cacf2a93779e6cca270159302f5568301a34c27b7e |
|
MD5 | 32946a6f2ee4f088f1d9365e0cf5248a |
|
BLAKE2b-256 | c04487508cfa99ec2c143960f46165b80bb6b67340423682c7ddd8223d77e39d |