Pyetp is a library implementing an ETP v1.2 client with utilities and support for working with RESQML v2.0.1 models.
The following Energistics (c) products were used in the creation of this work: Energistics Transfer Protocol (ETP) v1.2 and RESQML v2.0.1
Installing the library
This package is published to PyPI, and can be installed via:
pip install pyetp
The library is tested against Python versions 3.11, 3.12 and 3.13.
Local development
Locally we suggest setting up a virtual environment, and installing the latest
version of pip. Then install the library in editable mode along with the
dev-dependency group. That is:
python -m venv .venv
source .venv/bin/activate
pip install pip --upgrade
pip install -e .
pip install --group dev
After doing changes to the code, make sure to lint, format, check the types, and run tests and see that they pass.
Linting and formatting
We use ruff as a linter and formatter. To lint run:
ruff check
To run the formatter do:
ruff format
Or if you just want to check what could have been formatted:
ruff format --check
Type checking
We use mypy to check type annotations via:
mypy src tests --strict
Running tests
We have set up tests against a local open-etp-server. To start this server run:
docker compose -f tests/compose.yml up [--detach]
If you want to re-use the same terminal window you should use the
--detach-option, otherwise start a new terminal. We use pytest for testing,
which can be run via:
py.test
Building the documentation
We use Material for Mkdocs for the documentation. To install the documentation dependencies run
pip install --group docs
While developing the documentation run
mkdocs serve --livereload
for hot-reloading. The pages are served at http://localhost:8000. To build the documentation for publication run
mkdocs build
which create a directory site/ with the pages.
Open site/index.html to see the result.
RESQML versions
The library is built and tested against RESQML v2.0.1. The spec can be downloaded here.
Generated Python objects from RESQML spec
Under src/pyetp/resqml_objects/v201/generated.py you will find Python objects
generated from the RESQML xml spec.
Metadata
Release files for pyetp 0.0.58
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyetp-0.0.58.tar.gz | 246.4 kB | With provenance | Details for pyetp-0.0.58.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pyetp-0.0.58-py3-none-any.whl | Python 3 | none | any | Details for pyetp-0.0.58-py3-none-any.whl |
Total release size: 514.3 kB
Release files / pyetp-0.0.58.tar.gz
| Download URL | pyetp-0.0.58.tar.gz |
|---|---|
| Size | 246.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42b9fb07bf535592aac5f2b3edb0d9420b9ef24bfcbb93d1942c6fe6aed78332
|
|
BLAKE2b-256 checksum How to use checksums |
549b90d93ca840877f4ef454cccbffe306df1640fa2a1365e519ed09dbf16b6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / pyetp-0.0.58-py3-none-any.whl
| Download URL | pyetp-0.0.58-py3-none-any.whl |
|---|---|
| Size | 267.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c6bdb93e2039fca74b3a5147409e230ecbb2723798338fc3e9f53912ab478dc
|
|
BLAKE2b-256 checksum How to use checksums |
2e651336b394a57f2d41f6ec220d070dad89adb62d34a51de5cfb9eb682e7e4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logSecurity for pyetp 0.0.58
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pyetp-0.0.58.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.