Skip to main content

Build Status codecov Python PyPI version License

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)

Source distribution for pyetp 0.0.58
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)

Table of built distributions (wheels) for pyetp 0.0.58
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.0.58 This release

2 release files Full provenance

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