Skip to main content

Enasis Network Homie Automate

Project description

Enasis Network Homie Automate

:warning: This project has not released its first major version.

Define desired scenes for groups using flexible conditional plugins.










Documentation

Read project documentation built using the Sphinx project. Should you venture into the sections below you will be able to use the sphinx recipe to build documention in the sphinx/html directory.

Useful and related links

Installing the package

Installing stable from the PyPi repository

pip install enhomie

Installing latest from GitHub repository

pip install git+https://github.com/enasisnetwork/enhomie

Quick start for local development

Start by cloning the repository to your local machine.

git clone https://github.com/enasisnetwork/enhomie.git

Set up the Python virtual environments expected by the Makefile.

make -s venv-create

Execute the linters and tests

The comprehensive approach is to use the check recipe. This will stop on any failure that is encountered.

make -s check

However you can run the linters in a non-blocking mode.

make -s linters-pass

And finally run the various tests to validate the code and produce coverage information found in the htmlcov folder in the root of the project.

make -s pytest

Running the service

There are several command line arguments, see them all here.

python -m enhomie.execution.service --help

Here is an example of running the service from inside the project folder within the Workspace project.

python -m enhomie.execution.service \
  --config ../../Persistent/enhomie-prod.yml \
  --console \
  --debug \
  --respite_update 120 \
  --respite_desire 15 \
  --timeout_stream 120 \
  --idempotent \
  --print_desire \
  --print_aspire

Replace ../../Persistent/enhomie-prod.yml with your configuration file.

Deploying the service

It is possible to deploy the project with the Ansible roles located within the Orchestro project! Below is an example of what you might run from that project to deploy this one. However there is a bit to consider here as this requires some configuration.

make -s \
  limit=all \
  orche_files=../../Persistent/orchestro-prod.yml \
  ansible_args=" --diff" \
  enhomie-install

Version management

:warning: Ensure that no changes are pending.

  1. Rebuild the environment.

    make -s check-revenv
    
  2. Update the version.txt file.

  3. Push to the main branch.

  4. Create repository release.

  5. Build the Python package.
    Be sure no uncommited files in tree.

    make -s pypackage
    
  6. Upload Python package to PyPi test.

    make -s pypi-upload-test
    
  7. Upload Python package to PyPi prod.

    make -s pypi-upload-prod
    

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

enhomie-0.13.6.tar.gz (101.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enhomie-0.13.6-py3-none-any.whl (227.0 kB view details)

Uploaded Python 3

File details

Details for the file enhomie-0.13.6.tar.gz.

File metadata

  • Download URL: enhomie-0.13.6.tar.gz
  • Upload date:
  • Size: 101.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for enhomie-0.13.6.tar.gz
Algorithm Hash digest
SHA256 0c9c1bda9a3a29431b9dbd05b9a0c0f40a50f98fa3fb1901e15eba8fe9596f82
MD5 4b38547f6dbd7054f1741e93e37e747d
BLAKE2b-256 18a7095bb0dd46e74bb47141061aae85e917d168c9a57d3f230b9d8bf63eb297

See more details on using hashes here.

File details

Details for the file enhomie-0.13.6-py3-none-any.whl.

File metadata

  • Download URL: enhomie-0.13.6-py3-none-any.whl
  • Upload date:
  • Size: 227.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for enhomie-0.13.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9e43c4fad7627daf1890be3593229aab6b8fb68aa29c9c52d56bcdec337f3ae9
MD5 9b39ac6565a670d8643728438e14b5dc
BLAKE2b-256 d3f3ec974b4ae81f851a76771a0a5f155ebd1a9f37f69c2c233f6d905ea47f11

See more details on using hashes here.

Supported by

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