Metadata-Version: 2.4
Name: pymats
Version: 0.1.1
Summary: A python module for handling materials
Author-email: Sebastian Mau <klixz09@gmail.com>
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: pandas
Requires-Dist: openpyxl
Requires-Dist: pytest
Requires-Dist: pydantic
Requires-Dist: skops
Requires-Dist: scikit-learn
Requires-Dist: pymongo
Requires-Dist: jinja2
Requires-Dist: docxtpl
Requires-Dist: fastapi
Requires-Dist: pydantic-settings

# PyMats
PyMats is a material database app for Python. 
It is designed to help you manage and organize your materials and data. 
You can create, edit, and delete materials, as well as search for materials by name or ID. 
PyMats also allows you to copy materials from other collections and save them to your own collection.
The api can be used to load material data to extternal applications, like excel. In additon the pymats module
can be used in python directly to interact with the database.

## Main Actions
- Search for materials by name or ID
- Load material data to external applications
- Interact with the database using the pymats module
- Get CAE Input Files for Ansys, LS-Dyna and Abaqus
- Compare Materials and find equivalents
- Generate Particular Material Apraisals (PMAs) automatically with custom requirements
- Since Excel is widley used, you can create a customized excel data table with your materials
- Future: "Engineering Data" for Ansys Workbench

The public collections and its materials are free to use. The material data is built from regression models
and only **approximate** the data of the corresponding standards. 

## Getting started
### Python Module
The package allows to load materials and determine properties at different design points.
#### Installation
The python module is available with `pip install pymats`
#### Example
```python
from pymats import MaterialFactory`
material = MaterialFactory.from_config({"Idenitifier": "SA-723-2-2"})`
```
This will load the material via the api by default. See the configuration section for defining custom databases or data sources.

## Using the API
The general endpoints `/load_materials`, `/material/{mid}/` and `/get_mids` can just be used like any other api endpoints. Check the [docu](/) for information of returns. If an enpoint requires authentication, provide your personal remote token as `?user=<token>`. The token can be placed in the env variable `$REMOTE_TOKEN` or your credentials are stored in `~/.pymats/credentials.json`.

## Using in Excel
With the token you have access to an excel addin based on OfficeJS. You can also use the token with a vba function. The addin can be downloaded via the [download section](/)

## Using in Mathcad
With the token you can download a compiled dll you can include to your mathcad environment to get the related udf's. 

## Configuration
### Environment Variables
`$PYMATS_TOKEN`: used for authentication
