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
d2s
much more user-friendly
- ZSH: add the import autocomplete line to the
~/.zshrc
file.
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
~/.bashrc
file.
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
.d2sconfig
file.
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
d2s
is not defined when installing for dev. Then addpip install --editable develop/d2s-cli
to.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.