Skip to main content

A Python 3 client for odbAccess using pylife-odbserver

Project description

pylife-odbclient

A Python 3 client for odbAccess using pylife-odbserver

Purpose

Unfortunately Abaqus still comes with a python-2.x engine. So you can't access an Abaqus odb file from within modern python code. This python package is the client part of a client server setup to make odb files accessible from within python-3.x code in a transparent way.

Solution

The sibling package pylife-odbserver provides a slim server that as python-2.7 software, 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

Once there are released versions the installation will be easier.

  • Install the server using pip install pylife-odbserver in a python-2.0 environment that is usable from the current Abaqus python engine.

  • Install the client package using 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.


Project details


Download files

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

Source Distribution

pylife-odbclient-2.0.2.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

pylife_odbclient-2.0.2-py2.py3-none-any.whl (12.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pylife-odbclient-2.0.2.tar.gz.

File metadata

  • Download URL: pylife-odbclient-2.0.2.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pylife-odbclient-2.0.2.tar.gz
Algorithm Hash digest
SHA256 72169a666644c39d5a1835f043d6b72b6c33eb3d3c9fbaaba361a4e365078a16
MD5 4dd36d140b855fbd90ed16ab16cec64c
BLAKE2b-256 852d23ead8a442259495d2071b27f46e0feb84a3a8d02b7d9ebf48c442053d9d

See more details on using hashes here.

File details

Details for the file pylife_odbclient-2.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pylife_odbclient-2.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8e5f08def6b550da975be68145b7dcca0933eb55b7ae32ba74ed5d75426ec676
MD5 9cfd8aa597e549397c8abfdf223fab6b
BLAKE2b-256 fdb0f2efcc3ae27dc2aec8e4e9606e2aceee185bbdc03278c4cfd830e0a3c2c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page