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)
