Skip to main content

pylife-odbclient

A Modern Python client for odbAccess using pylife-odbserver

Purpose

Unfortunately Abaqus usually comes with an outdated python engine. So you can't access an Abaqus odb file from within modern python code using the latest packages. This python package is the client part of a client server setup to make odb files accessible from within python code using a current python version in a transparent way.

Solution

The sibling package pylife-odbserver provides a slim server that as python software that is running with old python versions of Abaqus (even 2.7), that can be run inside the Abaqus python engine. It accepts command via sys.stdin and according to the command is querying data from the odbAccess interface and returning them in a pickle object.

This package comes with a python class OdbClient that spawns the server in the background when an instance of OdbClient is instantiated. Then the client object can be used to transparently access data from the odb file via the server. Once the client object goes out of scope i.e. is deleted, the server process is stopped automatically.

Installation

  • Install the odbclient using pip with the command
pip install pylife-odbclient

Usage

Usually you only will see the OdbClient class interface when you access an odb file. The only point you care about the server is when you instantiate an OdbClient object. You need to know the following things

  • The path to the Abaqus executable

  • The path to the python environment pylife-server is installed into.

Then you can instantiate a OdbClient object using

import odbclient as CL

client = CL.OdbClient("yourodb.odb")

See the API docs of OdbClient for details.

Limitations

Limited functionality

Only a subset of Abaqus variable locations are supported. These are: nodal, element nodal, whole element and centroid. Integration point variables are extrapolated to element nodal.

You can only extract data from an odb file, not write to it.

String literals

So far only names made of ascii strings are supported. That means that instance names, node that names and the like containing non-ascii characters like German umlauts will not work.

Development

Due to the server client architechture running the unit tests is not completely trivial. Here are some instructions on how to get them running.

Setting up the environments

As of now, we are assuming that conda is used to setup the server environments. Probably we will change for uv in the future.

We provide a bash script in tests/create_server_envs.sh that you can run from within the root folder of odbclient (the folder this README.md resides in). Then it should generate all the necessary environments. You will have to run the script again, if there has been a release update in between.

The script is not well tested. So please be prepared for some manual steps.


Metadata

Release files for pylife-odbclient 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pylife-odbclient 2.3.1
File Size Uploaded
pylife_odbclient-2.3.1.tar.gz 1.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pylife-odbclient 2.3.1
File Interpreter ABI Platform
pylife_odbclient-2.3.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 1.4 MB

Release files / pylife_odbclient-2.3.1.tar.gz

Download URL pylife_odbclient-2.3.1.tar.gz
Size 1.3 MB
Tags Source
SHA-256 checksum
How to use checksums
0c33632177fd853c518dc6cbce60a4a8b5443f30e0dcd11c3461737aa5fb03bd
BLAKE2b-256 checksum
How to use checksums
ae9379130fa0b124c0d400f20d0fc2974eced0f558c804de1683c060d11e949d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 28, 2026.

Transparency log

Release files / pylife_odbclient-2.3.1-py2.py3-none-any.whl

Download URL pylife_odbclient-2.3.1-py2.py3-none-any.whl
Size 14.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ee8a9f918a7b13cc5c52228479cf9d1194e2a7e70aeaf90f97cbba99a3e04f1d
BLAKE2b-256 checksum
How to use checksums
c43d1c0f3d2c792ca5a3140c07e16d1ef1c4620aab749a9b7d3807825b6fa19d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.3.1 This release

2 release files

2.3.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release 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