Skip to content

OpenSemanticLab/osw-python

Repository files navigation

PyPI-Server DOI Coveralls docs license

Project generated with PyScaffold

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

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, entity manipulaton, querying, and file downloads

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

  • Basics - a description of the data model of OpenSemanticLab and how to interact with it

Development

Dev install

pip install -e . [dev,testing]

Activate pre-commit hooks (in git console)

pre-commit install

Run tests

tox -e test

Run integration tests (tests are skipped if login params are not provided)

tox -e test -- --wiki_domain "<osl-domain>" --wiki_username "<(bot)login>" --wiki_password "<password>" --db_username "<username>" --db_password "<password>"

Note

This project has been set up using PyScaffold 4.3.1. For details and usage information on PyScaffold see https://pyscaffold.org/.