Metadata-Version: 2.4
Name: pioreactor
Version: 25.5.22rc0
Summary: The core Python app of the Pioreactor. Control your bioreactor through Python.
Home-page: https://github.com/pioreactor/pioreactor
Author: Pioreactor
Author-email: hello@pioreactor.com
License: MIT
Keywords: microbiology,bioreactor,turbidostat,raspberry pi,education,research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Hardware
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click==8.1.7
Requires-Dist: paho-mqtt==2.1.0
Requires-Dist: JSON-log-formatter==0.5.1
Requires-Dist: colorlog==6.7.0
Requires-Dist: msgspec==0.19.0
Requires-Dist: crudini==0.9.5
Requires-Dist: iniparse==0.5
Requires-Dist: blinker==1.9.0
Requires-Dist: Flask==3.1.0
Requires-Dist: flup6==1.1.1
Requires-Dist: huey==2.5.2
Requires-Dist: itsdangerous==2.2.0
Requires-Dist: Jinja2==3.1.4
Requires-Dist: MarkupSafe==2.1.5
Requires-Dist: python-dotenv==1.0.1
Requires-Dist: Werkzeug==3.1.0
Requires-Dist: packaging==24.1
Provides-Extra: worker
Requires-Dist: Adafruit-Blinka==8.57.0; extra == "worker"
Requires-Dist: adafruit-circuitpython-ads1x15==2.2.23; extra == "worker"
Requires-Dist: adafruit-circuitpython-busdevice==5.2.9; extra == "worker"
Requires-Dist: adafruit-circuitpython-connectionmanager==3.1.1; extra == "worker"
Requires-Dist: adafruit-circuitpython-requests==4.1.3; extra == "worker"
Requires-Dist: adafruit-circuitpython-typing==1.10.3; extra == "worker"
Requires-Dist: Adafruit-PlatformDetect==3.78.0; extra == "worker"
Requires-Dist: Adafruit-PureIO==1.1.11; extra == "worker"
Requires-Dist: DAC43608==0.2.7; extra == "worker"
Requires-Dist: plotext==5.2.8; extra == "worker"
Requires-Dist: pyftdi==0.55.4; extra == "worker"
Requires-Dist: pyserial==3.5; extra == "worker"
Requires-Dist: pyusb==1.2.1; extra == "worker"
Requires-Dist: rpi_hardware_pwm==0.2.1; extra == "worker"
Provides-Extra: leader-worker
Requires-Dist: Adafruit-Blinka==8.57.0; extra == "leader-worker"
Requires-Dist: adafruit-circuitpython-ads1x15==2.2.23; extra == "leader-worker"
Requires-Dist: adafruit-circuitpython-busdevice==5.2.9; extra == "leader-worker"
Requires-Dist: adafruit-circuitpython-connectionmanager==3.1.1; extra == "leader-worker"
Requires-Dist: adafruit-circuitpython-requests==4.1.3; extra == "leader-worker"
Requires-Dist: adafruit-circuitpython-typing==1.10.3; extra == "leader-worker"
Requires-Dist: Adafruit-PlatformDetect==3.78.0; extra == "leader-worker"
Requires-Dist: Adafruit-PureIO==1.1.11; extra == "leader-worker"
Requires-Dist: DAC43608==0.2.7; extra == "leader-worker"
Requires-Dist: plotext==5.2.8; extra == "leader-worker"
Requires-Dist: pyftdi==0.55.4; extra == "leader-worker"
Requires-Dist: pyserial==3.5; extra == "leader-worker"
Requires-Dist: pyusb==1.2.1; extra == "leader-worker"
Requires-Dist: rpi_hardware_pwm==0.2.1; extra == "leader-worker"
Provides-Extra: leader
Requires-Dist: Adafruit-Blinka==8.57.0; extra == "leader"
Requires-Dist: adafruit-circuitpython-ads1x15==2.2.23; extra == "leader"
Requires-Dist: adafruit-circuitpython-busdevice==5.2.9; extra == "leader"
Requires-Dist: adafruit-circuitpython-connectionmanager==3.1.1; extra == "leader"
Requires-Dist: adafruit-circuitpython-requests==4.1.3; extra == "leader"
Requires-Dist: adafruit-circuitpython-typing==1.10.3; extra == "leader"
Requires-Dist: Adafruit-PlatformDetect==3.78.0; extra == "leader"
Requires-Dist: Adafruit-PureIO==1.1.11; extra == "leader"
Requires-Dist: DAC43608==0.2.7; extra == "leader"
Requires-Dist: plotext==5.2.8; extra == "leader"
Requires-Dist: pyftdi==0.55.4; extra == "leader"
Requires-Dist: pyserial==3.5; extra == "leader"
Requires-Dist: pyusb==1.2.1; extra == "leader"
Requires-Dist: rpi_hardware_pwm==0.2.1; extra == "leader"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<img src="https://user-images.githubusercontent.com/884032/101398418-08e1c700-389c-11eb-8cf2-592c20383a19.png" width="250">
<br />


[![CI](https://github.com/Pioreactor/pioreactor/actions/workflows/ci.yaml/badge.svg)](https://github.com/Pioreactor/pioreactor/actions/workflows/ci.yaml)

The Pioreactor is a *mostly* open source, affordable, and extensible bioreactor platform. The goal is to enable biologists, educators, DIYers, biohackers, and enthusiasts to be able to reliably control and study microorganisms.

We hope to empower the next generation of builders, similar to the Raspberry Pi's influence on our imagination (in fact, at the core of our hardware _is_ a Raspberry Pi). However, the builders in mind are those who are looking to use biology, or computer science, or both, to achieve their goals. For research, the affordable price point enables fleets of Pioreactors to study large experiment spaces. For educators and students, the Pioreactor is a learning tool to study a wide variety of microbiology, electrical engineering, and computer science principles. For enthusiasts, the control and extensibility of the Pioreactor gives them a platform to build their next project on-top of.



### Where can I get one?

Purchase [on our website](https://pioreactor.com/).

### Documentation

All the documentation is [available on our docs site](https://docs.pioreactor.com/).
