This Python package provides the repository system for 4TU.ResearchData and Nikhef.
This project uses the GNU autotools build system.
For development on GNU/Linux we recommend installing git
, autoconf
,
automake
and make
through your system's package manager, followed by
creating a Python virtual environment for djehuty
:
git clone https://github.com/4TUResearchData/djehuty.git && cd djehuty/
autoreconf -if && ./configure
python -m venv ../djehuty-env
. ../djehuty-env/bin/activate
pip install --requirement requirements.txt
pip install --editable .
Because the virtual environment isn't updated by your system's package manager, you can use the following snippet to update packages inside your virtual environment:
pip freeze | grep -v "djehuty.git" | cut -d= -f1 | xargs -n1 pip install -U
For development on Apple's macOS X, we recommend installing python3
, git
,
autoconf
, automake
, and make
through homebrew,
followed by creating a Python virtual environment for djehuty
:
brew install python3 git autoconf automake make
git clone https://github.com/4TUResearchData/djehuty.git && cd djehuty/
autoreconf -if && ./configure
python3 -m venv ../djehuty-env
. ../djehuty-env/bin/activate
pip install --upgrade pip
pip install --requirement requirements.txt
pip install --editable .
For development on Windows we recommend MSYS2 and the following approach to installing packages:
PREFIX="mingw-w64-x86_64-" # See https://www.msys2.org/docs/package-naming
pacman -Suy git autoconf automake make ${PREFIX}python \
${PREFIX}python-pygit2 ${PREFIX}python-rdflib \
${PREFIX}python-jinja ${PREFIX}python-requests \
${PREFIX}python-werkzeug ${PREFIX}python-defusedxml \
${PREFIX}python-pillow
git clone https://github.com/4TUResearchData/djehuty.git && cd djehuty/
autoreconf -if && ./configure
# If you chose a different PREFIX above, change /mingw64 accordingly below.
# See: https://www.msys2.org/docs/environments
/mingw64/bin/python -m venv --system-site-packages ../djehuty-env
. ../djehuty-env/bin/activate
pip install --editable .
The dependencies for djehuty
are installed via pacman
, so to update those
packages use the following snippet:
pacman -Suy
See Updating MSYS2 for more details.
Upon completing the installation, you should be able to run:
djehuty --help
Djehuty needs a SPARQL 1.1 endpoint such as Virtuoso OSE or Jena Fuseki to store its state.
To start the web service, we recommend copying the example configuration and go from there:
cp etc/djehuty/djehuty-example-config.xml djehuty.xml
Upon first run, djehuty
needs to initialize the database with categories,
licences and accounts. To do so, pass the --initialize
option to the
djehuty web
command:
djehuty web --initialize --config-file djehuty.xml
After the database has been initialized, you can remove the --initialize
option:
djehuty web --config-file=djehuty.xml