Skip to main content

Enasis Network Homie Automate

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

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 \
  stage=prod limit=all \
  ansible_args=" --diff" \
  enhomie-install

Or you may use the Ansible collection directly! GitHub, Galaxy

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

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
    

Metadata

Release files for enhomie 0.14.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for enhomie 0.14.1
File Size Uploaded
enhomie-0.14.1.tar.gz 105.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for enhomie 0.14.1
File Interpreter ABI Platform
enhomie-0.14.1-py3-none-any.whl Python 3 none any Details

Total release size: 338.5 kB

Release files / enhomie-0.14.1.tar.gz

Download URL enhomie-0.14.1.tar.gz
Size 105.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f23d05f1fe95260d778bfb5433a551be09233bb88f40dfb66af2a00be56d4a54
BLAKE2b-256 checksum
How to use checksums
9868918b731f9d592449737a4152ddce2fa5228fa0b71833d3c6a533e1024aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release files / enhomie-0.14.1-py3-none-any.whl

Download URL enhomie-0.14.1-py3-none-any.whl
Size 233.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68e7185fba891e4fca44513d3e2cec84b64ca4f5c47fdefb6cf8969c9c7f69cf
BLAKE2b-256 checksum
How to use checksums
af245695b20efe35923be0b3b785be66e43cc2f6df95e3b6a267aa9bb229f598
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page