Python package to unify material management across the ansys portfolio
Project description
PyMaterials Manager is a Python package for unifying material management across the Ansys portfolio.
PyMaterials Manager is currently a proof of concept, expect things to break. It currently provides the following features:
It defines a Material Object that can have different material models
The supported material models can be read from a running PyMAPDL instance
The supported material models can written to a running PyMAPDL / pyFluent instance
Some supported material models can be read from a MatML XML file
Some supported material models can be written to a MatML XML file
The following material models are supported:
- pyMAPDL
Simple constant material properties
Piecewise linear material properties
Polynomial material properties
Anisotropic Elasticity
- pyFluent
Simple constant material properties
Ideal Gas properties
Installation
Install the ansys-materials-manager package with this code:
pip install ansys-materials-manager
Alternatively, clone and install this package with this code:
git clone https://github.com/ansys/pymaterials-manager
cd pymaterials-manager
pip install .
Testing
This project takes advantage of tox. This tool is used to automate common development tasks (similar to Makefile), but it is oriented towards Python development.
Use tox
tox uses environments, which are similar to Makefile rules, to make it highly customizable. In fact, this tool creates its own virtual environment so that anything being tested is isolated from the project to guarantee the project’s integrity.
Descriptions follow of some of the most widely used environments:
tox -e style: Checks the code style of your project.
tox -e py: Runs your test suite.
tox -e doc: Builds the documentation of your project.
Perform raw testing
If required, you can call style commands (such as black, isort, and flake8) or unit testing commands (such as pytest) from the command line. However, calling these commands does not guarantee that your project is being tested in an isolated environment, which is the reason why tools like tox exist.
Use pre-commit
The style checks take advantage of pre-commit. Developers are not forced but encouraged to install this tool by running this command:
python -m pip install pre-commit && pre-commit install
Every time you stage some changes and try to commit them, pre-commit only allows them to be committed if all defined hooks succeed.
Documentation and issues
For comprehensive information on PyMaterials Manager, see the latest release documentation. On the PyMaterials Manager Issues page, you can create issues to submit questions, report bugs, and request new features. This is the best place to post questions and code.
Distribution
If you want to create either source or wheel files, start by installing poetry and then executing the build module. To install poetry you should use the pipx installation method in the poetry documentation.
poetry install
poetry build
twine check ./dist
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ansys_materials_manager-0.3.1.tar.gz.
File metadata
- Download URL: ansys_materials_manager-0.3.1.tar.gz
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2eaee46f35e4160d1b290a85cc76eec2c3b45494d7eae3098f16bbe7ce6bb29
|
|
| MD5 |
0f75dc14f2ce588f478233efb7b3c088
|
|
| BLAKE2b-256 |
0cd96071a06d2d2ca1c493b9ebbc6b75a9e1989f1ebbff698f72d1db24f5e27b
|
Provenance
The following attestation bundles were made for ansys_materials_manager-0.3.1.tar.gz:
Publisher:
ci_cd.yml on ansys/pymaterials-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_materials_manager-0.3.1.tar.gz -
Subject digest:
b2eaee46f35e4160d1b290a85cc76eec2c3b45494d7eae3098f16bbe7ce6bb29 - Sigstore transparency entry: 560487262
- Sigstore integration time:
-
Permalink:
ansys/pymaterials-manager@dac6bfbf96d3739f5540cea8768f78419a83d753 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ansys
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd.yml@dac6bfbf96d3739f5540cea8768f78419a83d753 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ansys_materials_manager-0.3.1-py3-none-any.whl.
File metadata
- Download URL: ansys_materials_manager-0.3.1-py3-none-any.whl
- Upload date:
- Size: 56.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33c68a54aded7cdad1a58114069e0496c0d0fbb4321a6def3ff22f30467181a7
|
|
| MD5 |
748f0c45dd651710a67c52d4a0bedc17
|
|
| BLAKE2b-256 |
392433b545da48a78220196b64b8bf9441eb0d838c32893d56679debfbab0d31
|
Provenance
The following attestation bundles were made for ansys_materials_manager-0.3.1-py3-none-any.whl:
Publisher:
ci_cd.yml on ansys/pymaterials-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansys_materials_manager-0.3.1-py3-none-any.whl -
Subject digest:
33c68a54aded7cdad1a58114069e0496c0d0fbb4321a6def3ff22f30467181a7 - Sigstore transparency entry: 560487279
- Sigstore integration time:
-
Permalink:
ansys/pymaterials-manager@dac6bfbf96d3739f5540cea8768f78419a83d753 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ansys
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci_cd.yml@dac6bfbf96d3739f5540cea8768f78419a83d753 -
Trigger Event:
push
-
Statement type: