A Command Line Interface to orchestrate the integration of heterogenous data and the deployment of services consuming the integrated data. See https://d2s.semanticscience.org
Project description
A Command Line Interface to orchestrate the integration of heterogenous data sources under a common RDF Knowledge Graph using CWL workflows, and the deployment of user-facing services over the integrated data using Docker (SPARQL, GraphQL-LD, OpenAPI, Web UI).
Installation
Complete documentation about the d2s-cli on the d2s documentation website 📖
Install with pipx
pipx install d2s cwlref-runner
Requirements:
- Python 3.6
- docker-compose
- git, curl, time (bash)
Enable autocompletion
Enable commandline autocompletion in the terminal
Highly recommended, it makes
d2smuch more user-friendly
- ZSH: add the import autocomplete line to the
~/.zshrcfile.
echo 'eval "$(_D2S_COMPLETE=source_zsh d2s)"' >> ~/.zshrc
Set your terminal to use ZSH by default:
chsh -s /bin/zsh
A oh-my-zsh theme can be easily chosen for a personalized experience. See the zsh-theme-biradate to easily install a simple theme and configure your terminal in a few minutes.
- Bash: add the import autocomplete line to the
~/.bashrcfile.
echo 'eval "$(_D2S_COMPLETE=source d2s)"' >> ~/.bashrc
To be tested.
Upgrade package
With pipx:
pipx uninstall d2s
pipx install d2s
With pip:
pip install --upgrade d2s
Try it
Display the default help command
d2s
Create a d2s project in the given folder
d2s init project-folder-name
All d2s commands are designed to be run from the project folder, move to it
cd project-folder-name/
Project settings stored if
.d2sconfigfile.
Development setup
Install package and add it to requirements.txt:
pip install package && pip freeze > requirements.txt
Install for dev
Install d2s as executable in local for development. d2s will be updated directly on change in the code.
pip install --editable .
To publish a new version, upgrade the version in setup.py and use the following script to build and publish automatically using Docker:
./publish_pip.sh
Or do it locally:
# Build packages in dist/ folder
python3 setup.py sdist bdist_wheel
# Publish packages previously built in the dist/ folder
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
You might need to install twine
pipx install twine
If you experience issues with Bash or ZSH because
d2sis not defined when installing for dev. Then addpip install --editable develop/d2s-clito.zshrc
You might need to install Python3.6 for dev (dev with python3.6 should work though)
sudo apt-get install python3.6 python3.6-venv python3.6-dev
# Set python3 to use 3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --config python3
vim /usr/bin/gnome-terminal #!/usr/bin/python3.6
If you face issue uploading the package on pypi:
twine check dist/d2s-*-py3-none-any.whl
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file d2s-0.1.22.tar.gz.
File metadata
- Download URL: d2s-0.1.22.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
124f6440455a92525a66c907db1593d7a066213161e000db5eb7cb50ecc49080
|
|
| MD5 |
b6552679a707f6e9d7d7a11552e908b0
|
|
| BLAKE2b-256 |
bd0b981383f1b95ed6dd9f3aa32f2d75211f105b57651afdc84acdac99b48e99
|
File details
Details for the file d2s-0.1.22-py3-none-any.whl.
File metadata
- Download URL: d2s-0.1.22-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1eb905e6dc2817f4e8a5186db871d0981113d267c0cdcdc56fdda6b572772b6
|
|
| MD5 |
b6abfc860c5b3e471ddc472da55e49a1
|
|
| BLAKE2b-256 |
6e3b655ec1faa21877a2accdeb675978a1b2bb5bf899f4cad4596fda17834467
|