DSP-TOOLS Documentation
Installing dsp-tools
Install uv. On macOS and Linux, run:
curl -LsSf https://astral.sh/uv/install.sh | sh
On Windows, run:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then run DSP-TOOLS with uvx:
uvx dsp-tools --version
uv downloads the Python version that DSP-TOOLS requires, if your computer does not have it.
uvx keeps using the version of DSP-TOOLS that it downloaded first.
To update to the latest version, run:
uvx dsp-tools@latest --version
To use the xmllib in your own scripts, create a uv project in the folder of your scripts
and add dsp-tools to it:
uv init
uv add dsp-tools
To update dsp-tools in this project, run:
uv lock --upgrade-package dsp-tools
Then run your scripts with uv run:
uv run my_script.py
🚨 If you do not use uv, make sure that your Python version is not older than the version that DSP-TOOLS requires. Otherwise, the installation can silently give you 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
xmlliblibrary 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. They use the project admin account of the project.
- If you want to create the XML file required for a mass-upload onto DSP, take a look at the
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 fileuvx dsp-tools create project.json |
→ |
excel2json |
Create the project definition JSON from Excel filesuvx dsp-tools excel2json excelfolder project.json |
→ |
excel2lists |
Create the list section of the project JSONuvx dsp-tools excel2lists excelfolder lists.json |
→ |
excel2properties |
Create the properties section of the JSONuvx dsp-tools excel2properties properties.xlsx properties.json |
→ |
excel2resources |
Create the resource section of the JSONuvx dsp-tools excel2resources resources.xlsx resources.json |
→ |
get |
Retrieve a project definition JSON from a serveruvx dsp-tools get -P 0XXX project.json |
→ |
id2iri |
Replace internal IDs with IRIs in an XML fileuvx dsp-tools id2iri new_data.xml id2iri_mapping.json |
→ |
ingest-files |
Kick off the ingest process and save the mapping CSVuvx dsp-tools ingest-files 0XXX |
→ |
ingest-xmlupload |
Create resources from XML after files are ingesteduvx dsp-tools ingest-xmlupload data.xml |
→ |
mapping config |
Create a mapping YAML config fileuvx dsp-tools mapping config -P 0XXX --ontology my-onto |
→ |
mapping update |
Replace external ontology mappings from an Excel fileuvx dsp-tools mapping update 0XXX-my-onto-mapping.yaml |
→ |
migration config |
Create a migration config YAML fileuvx dsp-tools migration config -P 0XXX |
→ |
migration complete |
Execute a complete migrationuvx dsp-tools migration complete migration-0XXX.yaml |
→ |
migration export |
Download project data from the source serveruvx dsp-tools migration export migration-0XXX.yaml |
→ |
migration import |
Import a downloaded export to another serveruvx dsp-tools migration import migration-0XXX.yaml |
→ |
migration clean-up |
Clean up local files and server referencesuvx dsp-tools migration clean-up migration-0XXX.yaml |
→ |
old-excel2json |
Create project definition JSON using the old Excel formatuvx dsp-tools old-excel2json excelfolder project.json |
→ |
old-excel2lists |
Create the list section using the old Excel formatuvx dsp-tools old-excel2lists excelfolder lists.json |
→ |
resume-xmlupload |
Resume a previously interrupted xmluploaduvx dsp-tools resume-xmlupload |
→ |
start-stack |
Start a local DSP stackuvx dsp-tools start-stack |
→ |
stop-stack |
Stop the local DSP stackuvx dsp-tools stop-stack |
→ |
update-legal |
Move legal metadata onto <bitstream> attributesuvx dsp-tools update-legal [mandatory options] data.xml |
→ |
upload-files |
Upload multimedia files referenced in an XML fileuvx dsp-tools upload-files data.xml |
→ |
validate-data |
Validate XML data against a data model on a serveruvx dsp-tools validate-data data.xml |
→ |
xmlupload |
Create resources from an XML file on a serveruvx dsp-tools xmlupload data.xml |
→ |
Metadata
Release files for dsp-tools 19.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dsp_tools-19.3.1.tar.gz | 390.5 kB | Without provenance | Details for dsp_tools-19.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dsp_tools-19.3.1-py3-none-any.whl | Python 3 | none | any | Details for dsp_tools-19.3.1-py3-none-any.whl |
Total release size: 911.1 kB
Release files / dsp_tools-19.3.1.tar.gz
| Download URL | dsp_tools-19.3.1.tar.gz |
|---|---|
| Size | 390.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc37e3528cdab0a346f17dc9274bcc3eaacc69fb353071c9bff9073ae368124e
|
|
BLAKE2b-256 checksum How to use checksums |
c1a417bc10a9defdfb4f223647f2e88296048f8dd06bafd188002acb1163b4f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","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}
|
Release files / dsp_tools-19.3.1-py3-none-any.whl
| Download URL | dsp_tools-19.3.1-py3-none-any.whl |
|---|---|
| Size | 520.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
836c6ec2c1361d19c1ae4093446f88259f7701683913dcdce9bd34ea6e674929
|
|
BLAKE2b-256 checksum How to use checksums |
03cc577ea80610dbcb0e3e058a2fd3f338e15296d38b96cfc8bc3eabfbb25365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","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}
|
Security for dsp-tools 19.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.