Metadata-Version: 2.1
Name: cimpyorm
Version: 0.8.2
Summary: A database-backed ORM for CIM datasets.
Home-page: http://www.ifht.rwth-aachen.de
License: BSD-3-Clause
Author: Thomas Offergeld
Author-email: offergeld@ifht.rwth-aachen.de
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: click (>=7.0,<8.0)
Requires-Dist: defusedxml (==0.6.0)
Requires-Dist: lxml (>=4.2,<5.0)
Requires-Dist: networkx (>=2.2,<3.0)
Requires-Dist: numpy (>=1.15,<2.0)
Requires-Dist: openpyxl (>=2.6,<3.0)
Requires-Dist: pandas (>=0.24.1,<0.25.0)
Requires-Dist: sqlalchemy (>=1.2,<2.0)
Requires-Dist: tabulate (>=0.8.3,<0.9.0)
Requires-Dist: tqdm (>=4.31,<5.0)
Project-URL: Repository, https://github.com/RWTH-IFHT/cimpyorm
Description-Content-Type: text/markdown

## Installation

###### PyPI:

```pip install cimpyorm```

---
##### Documentation

Some documentation can be found at [readthedocs](https://cimpyorm.readthedocs.io/en/latest/).

---
## Usage
```python
import cimpyorm
```

---
##### Loading datasets from cimpyorm-.db file
```python
session, m = cimpyorm.load(r"Path/To/DatabaseFile") # Load an existing .db file
```

---
##### Parsing datasets
```python
session, m = cimpyorm.parse(r"Path/To/Folder/Containing/Export") # Parse a .xml export (also creates a cimpyorm-.db file of the export)
```
To configure additional schemata (currently only the schema for the CGMES profiles are distributed
with the application), create additional subfolders in the ```/res/schemata/``` directory 
containg the schema RDFS.

---
##### Running the tests
You can run the included test-suite by running ```cimpyorm.test_all()```.

---
##### Querying datasets
```python
all_terminals = session.query(m.Terminal).all()
names_of_ConductingEquipment = [t.ConductingEquipment.name for t in all_terminals]
```

---
## Bug reports/feature requests
Please use the Issue Tracker.
