Skip to main content

The 4TU.ResearchData repository system

Project description

djehuty

This Python package provides the repository system for 4TU.ResearchData and Nikhef.

Reporting (potential) security issues

For security-related matters, please e-mail security@djehuty.4tu.nl. This will only reach the security teams at 4TU.ResearchData and Nikhef.

Creating a development environment

This project uses the GNU autotools build system.

GNU/Linux

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 --upgrade pip
pip install --requirement requirements.txt
pip install --editable .

Keeping your development environment up-to-date

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

macOS X

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 .

Keeping your development environment up-to-date

Because the virtual environment isn't updated by homebrew, 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

Microsoft Windows

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 ${PREFIX}python-build \
            ${PREFIX}python-setuptools
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 .

Keeping your development environment up-to-date

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.

Verify that the installation works

Upon completing the installation, you should be able to run:

djehuty --help

Setting up the database

Djehuty needs a SPARQL 1.1 endpoint such as Virtuoso OSE or Jena Fuseki to store its state.

Run the web service

To start the web service, we recommend copying the example configuration and go from there:

cp etc/djehuty/djehuty-example-config.xml djehuty.xml

First run

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

Subsequent runs

After the database has been initialized, you can remove the --initialize option:

djehuty web --config-file=djehuty.xml

Project details


Download files

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

Source Distribution

djehuty-25.1.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

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

djehuty-25.1-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file djehuty-25.1.tar.gz.

File metadata

  • Download URL: djehuty-25.1.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for djehuty-25.1.tar.gz
Algorithm Hash digest
SHA256 ae856a892d3b66a6d414db365ba0dc1c0e4f7c69bba5f9065f7cd1c9b85107d8
MD5 9511c92914c8ddd188a89a727e233493
BLAKE2b-256 23aa2e10e4c78c9e0a6b0db0727b7c4e2cee2f402ab80e8c16a48f2eed917e0d

See more details on using hashes here.

File details

Details for the file djehuty-25.1-py3-none-any.whl.

File metadata

  • Download URL: djehuty-25.1-py3-none-any.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for djehuty-25.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2b7419defe53baf9b8cb704785df72e5d571a1985b0455528b8571c4890afe6e
MD5 ff47483823bab7f38afffa866bac2539
BLAKE2b-256 7b275a1875b7d43cb3a36684e77f349f269bef12c8d7cdb1a8a789dc8ba9f79a

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