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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyetp-0.0.56.tar.gz (246.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyetp-0.0.56-py3-none-any.whl (267.5 kB view details)

Uploaded Python 3

File details

Details for the file pyetp-0.0.56.tar.gz.

File metadata

  • Download URL: pyetp-0.0.56.tar.gz
  • Upload date:
  • Size: 246.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyetp-0.0.56.tar.gz
Algorithm Hash digest
SHA256 46fee1fbcbb9b314424f40830d8b7b7c221c6efd4165e04fa1a8099944acc77d
MD5 0c28bab55f1c85f69b588e226a0ce4df
BLAKE2b-256 a072c72399f7e4a0048265510d2ea5df43da2d35d0fc512f1664f37b9fe2820c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyetp-0.0.56.tar.gz:

Publisher: publish.yml on equinor/pyetp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyetp-0.0.56-py3-none-any.whl.

File metadata

  • Download URL: pyetp-0.0.56-py3-none-any.whl
  • Upload date:
  • Size: 267.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyetp-0.0.56-py3-none-any.whl
Algorithm Hash digest
SHA256 ce06d579fb321b867e14900b20a07d9ce4fd8dbdfef196f37cbda10eabc1736e
MD5 fee20d1f105319815fc41e8553aabb4c
BLAKE2b-256 03270d8a816b01b3ea9848b3315e0a6accc3a7551388700991a4c3ee37033fb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyetp-0.0.56-py3-none-any.whl:

Publisher: publish.yml on equinor/pyetp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.57

2 files

This release

0.0.56 This release

2 files

0.0.55

2 files

0.0.54

2 files

0.0.53

2 files

0.0.52

2 files

0.0.51

2 files

0.0.50

2 files

0.0.49

2 files

0.0.48

2 files

0.0.47

2 files

0.0.46

2 files

0.0.45

2 files

0.0.44

2 files

0.0.43

2 files

0.0.39

2 files

0.0.38

2 files

0.0.37

2 files

0.0.36

2 files

0.0.35

2 files

0.0.34

2 files

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

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