Sensor network simulator publishing to MQTT broker
Project description
PashehNet
Provides a simulated sensor network (SSN) framework for publishing to a target system. The package implements both an API and command line interface to provide this service.
This README is intentionally short for tl;dr purposes. Full documentation can be found here.
Installation
If available from a package repository:
pip install pashehnet
Otherwise you can install directly from the GitHub repo:
pip install git+https://github.com/zaggyai/pashehnet
Contributing
First, fork the repo if not a current maintainer, or clone if you are! :)
Make sure your virtual env is up-to-date:
pip install --upgrade pip wheel setuptools
Install package in dev/editable mode:
pip install -e .
Install dev environment dependencies such as pytest
, flake8
and supporting deps for tests:
pip install -r dev-requirements.txt
Keep in mind that even if you already have a virtualenv configured from a previous fork/clone, its dependencies could be out of date so re-running the installs should bring your virtualenv current.
Environment
You can leverage environment variables within code or CLI config files for sensitive data you don't want to check into a repo. This is always a going concern for any code that requires client/server configuration. Please be careful to never add security credentials to a commit as they're nearly impossible to permanently remove from a repo after the fact.
For MQTT broker config, we typically define the following env vars and use them in our code/configs:
MQTT_HOST
MQTT_PORT
MQTT_USER
MQTT_PWD
We like the cross-platform direnv tool and have a gitignore exclusion for its files, but you do you! :upside_down_face:
Opening a Pull Request (PR)
Pull requests are a git workflow for managing branch merges with reviews and tests. You can read more about them in the GitHub docs. Before opening a PR please make sure the following commands complete locally without errors in your local dev environment as they will block a PR if not:
# Run linter
flake8 src/ tests/
# Run all unit tests
# Note we disable deprecation warnings for the time being;
# there's a method to the madness
pytest -W ignore::DeprecationWarning
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
Hashes for pashehnet-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eb4f900353fa138dc9f4ad09e91798f94fe65e7d50d15efe1652356167796ae |
|
MD5 | f1edb43d880d728cb44c8c50a1ad6422 |
|
BLAKE2b-256 | afa6bece1f01f7c69364e2cb9bf378e46239c8c8afe69ac2527bda96b406d588 |