Metadata-Version: 2.1
Name: dsms_sdk
Version: 2.0.2
Summary: Python SDK core-package for working with the Dataspace Management System (DSMS).
Home-page: https://github.com/MI-FraunhoferIWM/dsms-python-sdk
Author: Matthias Büschelberger, Yoav Nahshon, Pablo De Andres
Author-email: matthias.bueschelberger@iwm.fraunhofer.de, yoav.nahshon@iwm.fraunhofer.de, pablo.de.andres@iwm.fraunhofer.de
License: BSD-3-Clause
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyYAML <7,>=6
Requires-Dist: click <9,>=8
Requires-Dist: html5lib <2,>=1
Requires-Dist: lru-cache <1
Requires-Dist: pandas <3,>=2
Requires-Dist: pydantic >=2
Requires-Dist: pydantic-settings
Requires-Dist: python-dotenv
Requires-Dist: qrcode-artistic <4,>=3
Requires-Dist: rdflib <7,>=6
Requires-Dist: requests
Requires-Dist: segno <1.7,>=1.6
Provides-Extra: dev
Requires-Dist: bumpver ==2021.1114 ; extra == 'dev'
Requires-Dist: dunamai ==1.7.0 ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: ipython ==8.26.0 ; extra == 'docs'
Requires-Dist: jupyter ==1.0.0 ; extra == 'docs'
Requires-Dist: myst-parser ==4.0.0 ; extra == 'docs'
Requires-Dist: nbsphinx ==0.9.5 ; extra == 'docs'
Requires-Dist: sphinx-autobuild ==2024.4.16 ; extra == 'docs'
Requires-Dist: sphinx-book-theme ==1.1.3 ; extra == 'docs'
Requires-Dist: sphinx-copybutton ==0.5.2 ; extra == 'docs'
Requires-Dist: sphinx-markdown-tables ==0.0.17 ; extra == 'docs'
Requires-Dist: sphinx-panels ==0.4.1 ; extra == 'docs'
Requires-Dist: sphinxcontrib-plantuml ==0.30 ; extra == 'docs'
Requires-Dist: sphinxcontrib-redoc ==1.6.0 ; extra == 'docs'
Provides-Extra: pre_commit
Requires-Dist: pre-commit ==3.3.2 ; extra == 'pre_commit'
Requires-Dist: pylint ==3.2.0 ; extra == 'pre_commit'
Provides-Extra: tests
Requires-Dist: pytest ==6.2.5 ; extra == 'tests'
Requires-Dist: pytest-mock ; extra == 'tests'
Requires-Dist: responses ; extra == 'tests'

# DSMS-SDK
Python SDK core-package for interacting with the Dataspace Management System (DSMS)

## Installation

### From PyPI

```{python}
pip install dsms-sdk
```

## From source

```{bash}
git clone git@github.com:MI-FraunhoferIWM/dsms-python-sdk.git
cd dsms-python-sdk
pip install -e .
```

## Usage

The SDK provides a general Python interface to a remote DSMS deployment, allowing users to access, store and link data in a DSMS instance easily and safely. The package provides the following main capabilities:

- Managing Knowledge-Items (KItems), which are data instances of an explicitly defined semantic class type (KType)
 - Creating, updating and deleting meta data and properties, e.g. date, operator, material response data for a conducted tensile test
 - Administrating authorship, contact information and supplementary information upon making changes or adding KItems
 - Semantic annotation of KItems
- Conduct simple free-text searches within the DSMS instance including filters (e.g. limiting the search for certain materials) as well as a more experts-aware SPARQL interface
- Linking KItems to other KItems
- Linking Apps to KItems, triggererd, for example, during a file upload
- Performing simple file upload and download using attachments to KItems
- Export of a knowledge (sub) graph as common serializations (.ttl, .json)


## Documentation

Please have a look at our documentation on _readthedocs_:
https://dsms-python-sdk.readthedocs.io

## Tutorials

Please have a look at our tutorials on _readthedocs_:
* [1. Introduction](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/1_introduction.html)
* [2. Creation](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/2_creation.html)
* [3. Updation](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/3_updation.html)
* [4. Deletion](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/4_deletion.html)
* [5. Search](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/5_search.html)
* [6. Apps](https://dsms-python-sdk.readthedocs.io/en/latest/dsms_sdk/tutorials/6_apps.html)

Or try our Jupyter Notebooks:
* [1. Introduction](examples/tutorials/1_introduction.ipynb)
* [2. Creation](examples/tutorials/2_creation.ipynb)
* [3. Updation](examples/tutorials/3_updation.ipynb)
* [4. Deletion](examples/tutorials/4_deletion.ipynb)
* [5. Search](examples/tutorials/5_search.ipynb)
* [6. Apps](examples/tutorials/6_apps.ipynb)

## Authors

[Matthias Büschelberger](mailto:matthias.bueschelberger@iwm.fraunhofer.de) (Fraunhofer Institute for Mechanics of Materials IWM)

[Yoav Nahshon](mailto:yoav.nahshon@iwm.fraunhofer.de) (Fraunhofer Institute for Mechanics of Materials IWM)

[Pablo De Andres](mailto:pablo.de.andres@iwm.fraunhofer.de) (Fraunhofer Institute for Mechanics of Materials IWM)

[Priyabrat Mishra](mailto:priyabrat.mishra@iwm.fraunhofer.de) (Fraunhofer Institute for Mechanics of Materials IWM)

## License

This project is licensed under the BSD 3-Clause. See the LICENSE file for more information.


## Disclaimer

Copyright (c) 2014-2024, Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. acting on behalf of its Fraunhofer IWM.

Contact: [Matthias Büschelberger](mailto:matthias.bueschelberger@iwm.fraunhofer.de)
