ewoxcore
ewoxcore contains the shared runtime primitives used by Ewox framework
services and companion packages. It includes HTTP clients, configuration and
dependency-injection helpers, local caching, serialization utilities, token
helpers, transport models, monitoring abstractions, and general utilities.
Requirements
- Python 3.13 or 3.14
- Poetry 2.1.3 for contributor and release workflows
Installation
Install the public package from PyPI:
python -m pip install ewoxcore
For local development:
poetry install --with dev
poetry run python -m unittest discover -s tests -p "test*.py"
Compatibility policy
The 1.6.x line preserves existing public import paths and transport formats.
Bug fixes may add optional parameters or deprecate names, but existing callers
will continue to work for the remainder of the line.
ConfigurationBuilder.add_json_file(path) continues to tolerate a missing file
for compatibility with existing services. Pass optional=False when a missing
configuration file must stop startup. Existing files containing invalid JSON
always raise an error.
In particular, the following JsonUtil methods retain their existing
jsonpickle-based behavior because Ewox APIs, Redis data, streams, WebSockets,
and tokens already exchange that format:
serializeJson64deserializeJson64deserialize_json64serializedeserialize
Do not deserialize untrusted input with the object-preserving jsonpickle mode. See SECURITY.md for the trust boundary and migration policy.
Authorizer continues to issue and accept HS256 JWTs using the existing
environment variables and payload representation. Optional encrypted payloads
remain compact JWE values using dir and A256GCM. The JOSE implementation is
internal; consuming applications must declare their own JOSE dependency when
they import one directly.
HTTPClient(method_whitelist=...) remains accepted as a deprecated alias for
allowed_methods. New code should use allowed_methods.
Local release validation
The release gate builds and smoke-tests both the wheel and source distribution:
./build_test_upload.sh
To upload the exact validated artifacts to TestPyPI:
TWINE_PASSWORD="<test-pypi-token>" ./build_test_upload.sh --upload
Production PyPI releases are made only by the protected GitHub Actions release environment using PyPI Trusted Publishing. See RELEASING.md.
Support and versioning
- Bug fixes and security patches are released from the latest
1.6.xversion. - Breaking public API or serialization changes require a major release.
- Python versions are supported only while they are included in CI.
- Deprecated compatibility aliases remain for at least the current minor line.
The supported public surface is the documented classes and modules imported by Ewox framework packages. Underscore-prefixed members are internal unless a document explicitly states otherwise.
Contributing
Read CONTRIBUTING.md before proposing changes. Security issues must follow SECURITY.md, not the public issue tracker.
License
MIT. See LICENSE.
Metadata
Release files for ewoxcore 1.6.44
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ewoxcore-1.6.44.tar.gz | 48.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ewoxcore-1.6.44-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 129.4 kB
Release files / ewoxcore-1.6.44.tar.gz
| Download URL | ewoxcore-1.6.44.tar.gz |
|---|---|
| Size | 48.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1d70250e87b19dc34e62c1635987c41173671e5e068bea3be5c96f69449051b
|
|
BLAKE2b-256 checksum How to use checksums |
241ae8b60c75c1f31dd997f04ff04f5c61af8cf307d903bc82c21e510c5732e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / ewoxcore-1.6.44-py3-none-any.whl
| Download URL | ewoxcore-1.6.44-py3-none-any.whl |
|---|---|
| Size | 81.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
430526b86533b15d8e75420ef2ab06197b989be8827de2b58264073f3e5d7ffe
|
|
BLAKE2b-256 checksum How to use checksums |
49acf5609663cb07a7d363ed8fd025f3e8ce08c824095e04d3c6eb307bb3f950
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|