[![PyPI-Server](https://img.shields.io/pypi/v/osw.svg)](https://pypi.org/project/osw/)
[![DOI](https://zenodo.org/badge/458130867.svg)](https://zenodo.org/badge/latestdoi/458130867)
[![Coveralls](https://img.shields.io/coveralls/github/OpenSemanticLab/osw-python/main.svg)](https://coveralls.io/r/OpenSemanticLab/osw)
[![docs](xx.xx)](https://opensemanticlab.github.io/osw-python/)
![license](https://img.shields.io/github/license/OpenSemanticLab/osw-python.svg)
<!-- [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.
com/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev) -->
[![Project generated with PyScaffold](https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold)](https://pyscaffold.org/)
# osw
Python toolset for data processing, queries, wikicode generation and page manipulation within OpenSemanticLab.
General features for object-oriented interaction with knowledge graphs are planned to be moved to a standalone package:
[oold-python](https://github.com/OpenSemanticWorld/oold-python)
## Installation
```
pip install osw
```
### Variants
| Variant | Description |
| -- | -- |
`osw[wikitext]` | Additional functions in `wiki_tools` to transform mediawiki markup / templates
`osw[DB]` | interact with SQL databases per DatabaseController
`osw[S3]` | Interact with S3 Stores per S3FileController
`osw[dataimport]` | Additional tools to import data
`osw[UI]` | To use a helper UI to work with entity slots
To install multiple optional/extra dependencies run
```
pip install osw[opt1, opt2, ...]
```
To install all optional/extra dependencies run
```
pip install osw[all]
```
## Getting started
You can find examples in the tutorial folder, e.g. [entity creation](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/create_entity.py), [entity manipulaton](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/store_entity.py), [querying](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/query_minimal.py), and [file downloads](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/file_download_minimal.py)
## Troubleshooting
### `Error: datamodel-codegen not found`
make sure datamodel-codegen is installed and included in PATH, e. g. on jupyterlab:
```
os.environ["PATH"] += os.pathsep + "/home/jovyan/.local/bin"
```
## Documentation
https://opensemanticlab.github.io/osw-python/
### Tutorials
Tutorials can be found at [tutorials](docs/tutorials/)
- [Basics](docs/tutorials/basics.md) - a description of the data model of OpenSemanticLab and how to interact with it
## Development
Dev install
```bash
pip install -e . [dev,testing]
```
Activate pre-commit hooks (in git console)
```
pre-commit install
```
Run tests
```bash
tox -e test
```
Run integration tests (tests are skipped if login params are not provided)
```bash
tox -e test -- --wiki_domain "<osl-domain>" --wiki_username "<(bot)login>" --wiki_password "<password>" --db_username "<username>" --db_password "<password>"
```
<!-- pyscaffold-notes -->
## Note
This project has been set up using PyScaffold 4.3.1. For details and usage
information on PyScaffold see https://pyscaffold.org/.
Raw data
{
"_id": null,
"home_page": "https://github.com/OpenSemanticLab/osw-python",
"name": "osw",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "\"Simon Stier\"",
"author_email": "simon.stier@isc.fraunhofer.de",
"download_url": "https://files.pythonhosted.org/packages/09/4d/7b19d54a5d2582544bcde78a86cf568070437d4e66435367dbddabaa8f3e/osw-0.31.0.tar.gz",
"platform": "any",
"description": "[![PyPI-Server](https://img.shields.io/pypi/v/osw.svg)](https://pypi.org/project/osw/)\n[![DOI](https://zenodo.org/badge/458130867.svg)](https://zenodo.org/badge/latestdoi/458130867)\n[![Coveralls](https://img.shields.io/coveralls/github/OpenSemanticLab/osw-python/main.svg)](https://coveralls.io/r/OpenSemanticLab/osw)\n[![docs](xx.xx)](https://opensemanticlab.github.io/osw-python/)\n![license](https://img.shields.io/github/license/OpenSemanticLab/osw-python.svg)\n<!-- [![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.\ncom/pydantic/pydantic/main/docs/badge/v2.json)](https://pydantic.dev) -->\n[![Project generated with PyScaffold](https://img.shields.io/badge/-PyScaffold-005CA0?logo=pyscaffold)](https://pyscaffold.org/)\n\n# osw\n\nPython toolset for data processing, queries, wikicode generation and page manipulation within OpenSemanticLab.\n\nGeneral features for object-oriented interaction with knowledge graphs are planned to be moved to a standalone package:\n[oold-python](https://github.com/OpenSemanticWorld/oold-python)\n\n## Installation\n```\npip install osw\n```\n\n### Variants\n| Variant | Description |\n| -- | -- |\n`osw[wikitext]` | Additional functions in `wiki_tools` to transform mediawiki markup / templates\n`osw[DB]` | interact with SQL databases per DatabaseController\n`osw[S3]` | Interact with S3 Stores per S3FileController\n`osw[dataimport]` | Additional tools to import data\n`osw[UI]` | To use a helper UI to work with entity slots\n\nTo install multiple optional/extra dependencies run\n```\npip install osw[opt1, opt2, ...]\n```\n\nTo install all optional/extra dependencies run\n```\npip install osw[all]\n```\n\n## Getting started\nYou can find examples in the tutorial folder, e.g. [entity creation](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/create_entity.py), [entity manipulaton](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/store_entity.py), [querying](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/query_minimal.py), and [file downloads](https://github.com/OpenSemanticLab/osw-python/blob/main/examples/file_download_minimal.py)\n\n## Troubleshooting\n\n### `Error: datamodel-codegen not found`\nmake sure datamodel-codegen is installed and included in PATH, e. g. on jupyterlab:\n```\nos.environ[\"PATH\"] += os.pathsep + \"/home/jovyan/.local/bin\"\n```\n\n## Documentation\n\nhttps://opensemanticlab.github.io/osw-python/\n\n### Tutorials\n\nTutorials can be found at [tutorials](docs/tutorials/)\n- [Basics](docs/tutorials/basics.md) - a description of the data model of OpenSemanticLab and how to interact with it\n\n## Development\n\nDev install\n```bash\npip install -e . [dev,testing]\n```\n\nActivate pre-commit hooks (in git console)\n```\npre-commit install\n```\n\nRun tests\n```bash\ntox -e test\n```\n\nRun integration tests (tests are skipped if login params are not provided)\n```bash\ntox -e test -- --wiki_domain \"<osl-domain>\" --wiki_username \"<(bot)login>\" --wiki_password \"<password>\" --db_username \"<username>\" --db_password \"<password>\"\n```\n\n<!-- pyscaffold-notes -->\n\n## Note\n\nThis project has been set up using PyScaffold 4.3.1. For details and usage\ninformation on PyScaffold see https://pyscaffold.org/.\n",
"bugtrack_url": null,
"license": "AGPL-3.0-or-later",
"summary": "Python toolset for data processing, queries, wikicode generation and page manipulation",
"version": "0.31.0",
"project_urls": {
"Changelog": "https://github.com/OpenSemanticLab/osw-python/blob/main/CHANGELOG.md",
"Documentation": "https://opensemanticlab.github.io/osw-python/",
"Download": "https://pypi.org/project/osw/#files",
"Homepage": "https://github.com/OpenSemanticLab/osw-python",
"Source": "https://github.com/OpenSemanticLab/osw-python"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b059a6accd1818a4361d3a0f5c20f61775a39443d97e8ae7eb992d79be0dd16d",
"md5": "7b2f216a465a28e32d6ccefd9591864b",
"sha256": "4c44b2e0e32b3b488376d15f89f0ac8f47e71619d66e08bc73b65adea600428c"
},
"downloads": -1,
"filename": "osw-0.31.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7b2f216a465a28e32d6ccefd9591864b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 127694,
"upload_time": "2024-12-03T11:05:00",
"upload_time_iso_8601": "2024-12-03T11:05:00.514510Z",
"url": "https://files.pythonhosted.org/packages/b0/59/a6accd1818a4361d3a0f5c20f61775a39443d97e8ae7eb992d79be0dd16d/osw-0.31.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "094d7b19d54a5d2582544bcde78a86cf568070437d4e66435367dbddabaa8f3e",
"md5": "bee5422f61fdcd9ff1c5f26a29ea285e",
"sha256": "9799b0b7394692790768581f29080bc290d37cc67b964360e9a37bd2652a08c2"
},
"downloads": -1,
"filename": "osw-0.31.0.tar.gz",
"has_sig": false,
"md5_digest": "bee5422f61fdcd9ff1c5f26a29ea285e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 462547,
"upload_time": "2024-12-03T11:05:02",
"upload_time_iso_8601": "2024-12-03T11:05:02.580801Z",
"url": "https://files.pythonhosted.org/packages/09/4d/7b19d54a5d2582544bcde78a86cf568070437d4e66435367dbddabaa8f3e/osw-0.31.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-03 11:05:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenSemanticLab",
"github_project": "osw-python",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "osw"
}