Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

symbiotic

PyPI version Python package tests

Symbiotic allows you to create a smart environment where you have full control of your IoT devices. Sensors can be paired to devices and services to create complex actions and schedules.

Some of the main features are

  • Dependency-injection
  • Event bus
  • Fluent interface
  • Job scheduling

Installing

Install and update using pip

pip install symbiotic[yaml]

Simple app

from symbiotic import Symbiotic
from symbiotic.schedule import Schedule

app = Symbiotic()
app.config.from_yaml('config.yaml')

ifttt = app.services.IFTTT()  # <-- the service to control your device
light_bulb = app.devices.light_bulb('bedroom', service=ifttt)

# create custom schedules
weekdays_morning = Schedule().weekdays().at('08:00')
every_evening = Schedule().every_day().at('19:00')

# tell the app how to use your schedules
with app.scheduler(weekdays_morning) as scheduler:
    scheduler.add(light_bulb.on, brightness=80, transition_duration='30m')

with app.scheduler(every_evening) as scheduler:
    scheduler.add(
        light_bulb.on,
        brightness=50,
        color='red',
        transition_duration='60m'
    )

app.run()
* The application is running... (Press CTRL+C to terminate)

See example.py to learn how to configure devices like motion sensors.

Services

To learn how to configure an IFTTT applet, please read the documentation. Once your applet is configured, make sure to add your configuration parameters in config.yaml.

Contributions

Contributions are welcome! Feel free fork the project and to open a pull request.

Metadata

Release files for symbiotic 1.0.0a3

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

Source distribution (sdist)

Source distribution for symbiotic 1.0.0a3
File Size Uploaded
symbiotic-1.0.0a3.tar.gz 17.0 kB Details

Built distribution (wheel)

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

Total release size: 41.6 kB

Release files / symbiotic-1.0.0a3.tar.gz

Download URL symbiotic-1.0.0a3.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7122056f3a6127ad1c43b1e93ee53e4ccbf4b96078a3360e16bb3fdfae43fd6c
BLAKE2b-256 checksum
How to use checksums
e5c6c8ba5c5c5e10a8b3fa75b28b46dcc1c1ca8d2c9d66ee4fd23bd64296b1a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.8.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release files / symbiotic-1.0.0a3-py3-none-any.whl

Download URL symbiotic-1.0.0a3-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08d395fd51035d57b1c9abd472d1a05569e6fb2fdeb9fca1e49a63b533c36905
BLAKE2b-256 checksum
How to use checksums
2c3b38520590d54a38d44eb7350a99e018feb71902a48ba6454e26bf5a38bd70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.8.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
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