Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pashehnet-0.1.1.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

pashehnet-0.1.1-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file pashehnet-0.1.1.tar.gz.

File metadata

  • Download URL: pashehnet-0.1.1.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pashehnet-0.1.1.tar.gz
Algorithm Hash digest
SHA256 784781bf1bfa0a024b54358bdae38b09b762bfed3bff36a5b91053258150512f
MD5 b6d1a44cf6c210bbe4b422cfd3608535
BLAKE2b-256 d6059f43a29200d7591742aa4fce0e1c940b993d79c5c1072c342574781afcd0

See more details on using hashes here.

File details

Details for the file pashehnet-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pashehnet-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pashehnet-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6eb4f900353fa138dc9f4ad09e91798f94fe65e7d50d15efe1652356167796ae
MD5 f1edb43d880d728cb44c8c50a1ad6422
BLAKE2b-256 afa6bece1f01f7c69364e2cb9bf378e46239c8c8afe69ac2527bda96b406d588

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page