Metadata-Version: 2.1
Name: dsp-tools
Version: 1.1.0
Summary: A Python library and tools for the DaSCH Service Platform
Home-page: https://github.com/dasch-swiss/dsp-tools
Author: Lukas Rosenthaler
Author-email: lukas.rosenthaler@dasch.swiss
License: GPLv3
Description: [![PyPI version](https://badge.fury.io/py/dsp-tools.svg)](https://badge.fury.io/py/dsp-tools)
        
        # DSP-TOOLS - The DaSCH Service Platform Tools Repository
        dsp-tools is a python package containing a command line tool for data model (ontology) creation, a library allowing
        creation of single resources and mass upload using the bulk import of data into the Knora framework.
        
        The package consists of:
        - `dsplib` Python modules for accessing Knora using the API (ontology creation, data import/export etc.)
        - `dsp-tools` A command line program to perfrom several operations on a DSP server:
            - create an ontology out of a simple JSON description
            - dump an existing ontology from a DSP server to a JSON file
            - Bulk-upload of data from a XML data file
        
        Go to [Full Documentation](https://dasch-swiss.github.io/dsp-tools/)
        
        ## Install
        
        _Please note that dsp-tools require Python 3.9 for working properly!_
        
        To install the latest published version from PyPI, run:
        ```
        $ pip3 install dsp-tools
        ```
        
        To upgrade to the latest published version, run:
        ```
        $ pip3 install --upgrade dsp-tools
        ```
        
        ## Local Development Environment
        
        - Python3
        - [Bazel](https://bazel.build)
        
        Please consult the [https://docs.dasch.swiss/developers](https://docs.dasch.swiss/developers)
        documentation on how to install these prerequisites.
        
        ## Makefile for repository management tasks
        
        The project contains a Makefile defining management tasks. Please use
        `make help` to see what is available.
        
        To install from source, i.e., this repository, run:
        ```
        $ make install
        ```
        
        ## Testing
        
        ```bash
        $ make test
        ```
        
        ## Publishing
        
        Publishing is automated with github actions and should _not_ be done manually.
        
        Ensure to have only one Pull Request per feature, and follow the [conventions for commit messages and PR title](https://docs.dasch.swiss/developers/dsp/contribution/#pull-request-guidelines).
        
        If this is done correctly, when merging a PR into `main`, the `release-please` action will create or update a release-PR.  
        This PR will follow semantic versioning and update the change log.  
        Once all desired features are merged, the release can be executed by merging the release-PR into `main`.  
        This will trigger actions that create a release on Github, on PyPI and the docs.
        
        ### Publishing to PyPi
        
        Generate distribution package. Make sure you have the latest versions of `setuptools` and `wheel` installed.
        Remove the `dist`and `buil`-directories: `rm -rf bild dist`
        
        
        ```bash
        $ make upgrade-dist-tools
        $ make dist
        ```
        
        You can install the package locally from the dist:
        
        ```bash
        $ python3 -m pip install ./dist/some_name.whl
        ```
        
        Upload package with `twine`,
        
        first create `~/.pypirc` in your home folder:
        
        ```bash
        [distutils] 
        index-servers=pypi
        [pypi] 
        repository = https://upload.pypi.org/legacy/ 
        username =your_username_on_pypi
        ```
        
        then upload:
        
        ```bash
        $ make upload
        ```
        
        For local development:
        
        ```bash
        $ python3 setup.py --editable .
        ```
        
        ## Requirements
        
        To install the requirements:
        
        ```bash
        $ pip3 install -r requirements.txt
        ```
        
        To generate a "requirements" file (usually requirements.txt), that you commit with your project, do:
        
        ```bash
        $ pip3 freeze > requirements.txt
        ```
        
        ### Running tests with Bazel
        
        Run all tests:
        ```bash
        $ bazel test //...
        ```
        
        Run single test:
        ```bash
        $ bazel test //test:test_user
        ```
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9.0
Description-Content-Type: text/markdown
