Skip to main content

DSP-TOOLS is a Python package with a command line interface that helps you interact with a DaSCH service platform (DSP) server.

Project description

DSP-TOOLS version on PyPI Supported Python versions License Ruff uv mypy

DSP-TOOLS Documentation

Installing dsp-tools

To install the latest version, run:

pip3 install dsp-tools

To update to the latest version run:

pip3 install --upgrade dsp-tools

🚨 If your Python version is older than ours, pip will silently install an outdated version of DSP-TOOLS.
DSP-TOOLS requires one of these Python versions:
The most recent version of DSP-TOOLS is

The dsp-tools package provides you with functionalities in the command line to interact with the DSP-API, both remote and locally. Additionally, it contains the xmllib which helps you construct the XML file required for a mass upload.

Where To Start?

dsp-tools provides you with the following core functionalities.

  • Running a Local Stack: If you want to run your own DSP stack locally, take a look here.
  • Data Modelling: There are several ways to create a data model with dsp-tools
    • Take a look at the technical specification for the JSON file.
    • Or take a look at our tool to convert Excel files into the JSON format.
    • You can create a data model on the DSP-APP. To re-use that data model on another server you can use the CLI command described here.
  • Data for Mass-Upload:
    • If you want to create the XML file required for a mass-upload onto DSP, take a look at the xmllib.
    • You can find an in-depth explanation of our XML file format here. Please note, that we recommend to use the xmllib library to create the file as we will ensure interoperability between the DSP-API requirements and your input.
    • If you want to validate and upload your XML file take a look here. Please note, that only DaSCH employees are permitted to upload data on a production server.

List of CLI Commands

The following CLI Commands are available, listed here in alphabetical order.

Command Description Documentation
create Create a project on a server from a JSON file
dsp-tools create project.json
excel2json Create the project definition JSON from Excel files
dsp-tools excel2json excelfolder project.json
excel2lists Create the list section of the project JSON
dsp-tools excel2lists excelfolder lists.json
excel2properties Create the properties section of the JSON
dsp-tools excel2properties properties.xlsx properties.json
excel2resources Create the resource section of the JSON
dsp-tools excel2resources resources.xlsx resources.json
get Retrieve a project definition JSON from a server
dsp-tools get -P 0XXX project.json
id2iri Replace internal IDs with IRIs in an XML file
dsp-tools id2iri new_data.xml id2iri_mapping.json
ingest-files Kick off the ingest process and save the mapping CSV
dsp-tools ingest-files 0XXX
ingest-xmlupload Create resources from XML after files are ingested
dsp-tools ingest-xmlupload data.xml
mapping config Create a mapping YAML config file
dsp-tools mapping config -P 0XXX --ontology my-onto
mapping add Upload external ontology mappings from an Excel file
dsp-tools mapping add 0XXX-my-onto-mapping.yaml
migration config Create a migration config YAML file
dsp-tools migration config -P 0XXX
migration complete Execute a complete migration
dsp-tools migration complete migration-0XXX.yaml
migration export Download project data from the source server
dsp-tools migration export migration-0XXX.yaml
migration import Import a downloaded export to another server
dsp-tools migration import migration-0XXX.yaml
migration clean-up Clean up local files and server references
dsp-tools migration clean-up migration-0XXX.yaml
old-excel2json Create project definition JSON using the old Excel format
dsp-tools old-excel2json excelfolder project.json
old-excel2lists Create the list section using the old Excel format
dsp-tools old-excel2lists excelfolder lists.json
resume-xmlupload Resume a previously interrupted xmlupload
dsp-tools resume-xmlupload
start-stack Start a local DSP stack
dsp-tools start-stack
stop-stack Stop the local DSP stack
dsp-tools stop-stack
update-legal Update legal metadata in XML files to the new format
dsp-tools update-legal [mandatory options] data.xml
upload-files Upload multimedia files referenced in an XML file
dsp-tools upload-files data.xml
validate-data Validate XML data against a data model on a server
dsp-tools validate-data data.xml
xmlupload Create resources from an XML file on a server
dsp-tools xmlupload data.xml

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsp_tools-18.16.0.post5.tar.gz (337.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsp_tools-18.16.0.post5-py3-none-any.whl (481.8 kB view details)

Uploaded Python 3

File details

Details for the file dsp_tools-18.16.0.post5.tar.gz.

File metadata

  • Download URL: dsp_tools-18.16.0.post5.tar.gz
  • Upload date:
  • Size: 337.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dsp_tools-18.16.0.post5.tar.gz
Algorithm Hash digest
SHA256 1a7ff2057b35a04dd797a795230b61f71d0f2f89defa664d740c0fb2d5a2b808
MD5 548360809a0236d86741a1bb9c009bfb
BLAKE2b-256 c62353b064f93c3bd29db81bb7a33b34b24bf67b92efd97c87ad91e0fc106369

See more details on using hashes here.

File details

Details for the file dsp_tools-18.16.0.post5-py3-none-any.whl.

File metadata

  • Download URL: dsp_tools-18.16.0.post5-py3-none-any.whl
  • Upload date:
  • Size: 481.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dsp_tools-18.16.0.post5-py3-none-any.whl
Algorithm Hash digest
SHA256 87f2235ac886e4e1fb8e92eafc26e9ec07bb2aa2b5af4ff0ed73e0ebf2337a8c
MD5 081a3029b4e13ac9db540b035ec3d073
BLAKE2b-256 a0636045aaf24c7c89e2d446823cd8e535abebf1d0f49046307dae1249cf707d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page