Metadata-Version: 2.3
Name: elematic
Version: 2.0.0
Summary: Materials information management via MatML for Python
License: MIT License
         
         Copyright (c) 2024 NOAH GULA
         
         Permission is hereby granted, free of charge, to any person obtaining a copy
         of this software and associated documentation files (the "Software"), to deal
         in the Software without restriction, including without limitation the rights
         to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         copies of the Software, and to permit persons to whom the Software is
         furnished to do so, subject to the following conditions:
         
         The above copyright notice and this permission notice shall be included in all
         copies or substantial portions of the Software.
         
         THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
         SOFTWARE.
Author: Noah Gula
Requires-Python: >=3.10,<3.14
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: lxml (>=5.3.0,<6.0.0)
Requires-Dist: pyside6-essentials (>=6.8.2.1,<7.0.0.0)
Requires-Dist: xsdata-pydantic[cli,lxml,soap] (>=24.5,<25.0)
Requires-Dist: xsdata[cli] (>=24.12,<25.0)
Project-URL: Documentation, https://github.com/nogula/elematic/wiki
Project-URL: Homepage, https://github.com/nogula/elematic
Project-URL: Issues, https://github.com/nogula/elematic/issues
Project-URL: Repository, https://github.com/nogula/elematic
Description-Content-Type: text/markdown

<h1><center>elematic</center></h1>

*Materials information management utilities in Python.*

## About elematic
elematic provides a data structure based on the MatML (Materials Markup Language) schema developed by NIST in the early 2000's. The following features are available:

- Convert MatML XML files to Python data structures (a JSON binding is also available via xsData).
- Inspect and edit materials information.
- Use materials information in other Python projects.

## Documentation
Documentation is available, but still a work in progress: [https://noahgula.com/elematic](https://noahgula.com/elematic).

## Installation
Use PyPI:
```sh
pip install elematic
```

## Usage
There are two main modules: `util` (import and export utilities) and `ds` (data structure). See [documentation](https://noahgula.com/elematic) for more information.

## Credits & Acknowledgements
- This project utilizes the MatML schema as the data structure architecture, originally developed by NIST.
- The initial API was created by conversion of the MatML 3.1 schema to a Python data structure via [xsData](https://xsdata.readthedocs.io/en/latest/).

## See Also
- [MatEditor](https://docs.welsim.com/mateditor/mateditor_overview/): a free material editor software program for engineers.
- [BT-MatML-Editor](https://github.com/P-McG/BT-MatML-Editor): a text editor for the MatML 3.1 XML Schema.
- [matml](https://www.mathworks.com/matlabcentral/fileexchange/19686-matml): converts between MATLAB and MatML data.

