Hopeit Engine: Microservices with Streams
Project description
hopeit.engine
Docs: https://hopeitengine.readthedocs.io/en/latest/
Engine development README
Install locally for apps or plugins development:
- Install uv
- Run from hopeit.engine project root
make dev
- Now everything you need is installed in .venv/
- Then you can create your apps or plugins and run the server
Install from Python Package Index
Install core hopeit.engine lib:
pip install "hopeit.engine"
Configure
- Create server configuration json file
- Create apps configuration and python files
- See apps examples
- Optionally you can develop plugins, similar to apps but can be shared
- See available plugins
Start http server
- Example starting a single app/microservice
python -m hopeit.server.web --config-files=server-config.json,app-folder/config/app-config.json
- Additional options:
--config-files: comma-separated file of config files to load, starting with server config, then plugins, then apps
--api-file: path to openapi complaint json specification
--host: server host address or name, default is --host=0.0.0.0
--port: indicates to listen on another port number, default is --port=8020
--path: indicates to listen in a unix socket path, default is disabled
--start-streams: indicates to automatically start events of type STREAM when starting server
- Example starting a single app that depends on plugins:
python engine/server/web.py --config-files=server-config.json,plugin-folder/config/plugin-config.json,app-folder/config/app-config.json
Tools for Engine Development
- To install development dependencies, from engine folder run:
make dev
- To run tests
make test
- To fromat code
make format
- To run static code checks (types, style)
make lint
- To create distribution library (hopeit.engine)
make dist
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
hopeit_engine-0.28.0.tar.gz
(73.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hopeit_engine-0.28.0.tar.gz.
File metadata
- Download URL: hopeit_engine-0.28.0.tar.gz
- Upload date:
- Size: 73.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f47a37bbeabe72289f536374eb6fc42ed6191bb354a883b1d1fa2e50b2a51682
|
|
| MD5 |
02708fe85d17eac583abce461e819627
|
|
| BLAKE2b-256 |
282adc5ecd0e8c6b0d35106014df95f9b341fd22ba29e7be3d9755ed15386a86
|
File details
Details for the file hopeit_engine-0.28.0-py3-none-any.whl.
File metadata
- Download URL: hopeit_engine-0.28.0-py3-none-any.whl
- Upload date:
- Size: 85.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33417869a2819f633579cbd043ad8b2681b2e25efd5074b647c2ef4747b5afdb
|
|
| MD5 |
dadcae047b9df9280a7868fa37d93645
|
|
| BLAKE2b-256 |
82fcc350aaf8578d2b446f95e91260d35a508a0a58a4079497e78a94e5fbf07d
|