Skip to main content

This package includes all the essential tools required to set up an EBRAINS Software Distribution environment.

Project description

Dedal

This repository provides functionalities to easily managed spack environments and helpers for the container image build flow.

This library was tested on Ubuntu operating system.

Setting up the needed environment variables The <checkout path>\dedal\.env file contains the environment variables required for OCI registry used for caching. Ensure that you edit the <checkout path>\dedal\.env file to match your environment. The following provides an explanation of the various environment variables:

   # OCI Registry Configuration Sample for concretization caches
   # =============================
   # The following variables configure the Harbor docker OCI registry (EBRAINS) used for caching.
   
   # The hostname of the OCI registry. e.g. docker-registry.ebrains.eu
   CONCRETIZE__OCI_HOST="docker-registry.ebrains.eu"
   
   # The project name in the Docker registry.
   CONCRETIZE__OCI_PROJECT="concretize_caches"
   
   # The username used for authentication with the Docker registry.
   CONCRETIZE__OCI_USERNAME="robot$concretize-cache-test+user"
   
   # The password used for authentication with the Docker registry.
   CONCRETIZE_OCI_PASSWORD="###ACCESS_TOKEN###"
    

   # OCI Registry Configuration Sample for binary caches
   # =============================
   # The following variables configure the Harbor docker OCI registry (EBRAINS) used for caching.
   
   # The hostname of the OCI registry. e.g. docker-registry.ebrains.eu
   BUILDCACHE_OCI_HOST="docker-registry.ebrains.eu"
   
   # The project name in the Docker registry.
   BUILDCACHE_OCI_PROJECT="binary-cache-test"
   
   # The username used for authentication with the Docker registry.
   BUILDCACHE_OCI_USERNAME="robot$binary-cache-test+user"
   
   # The password used for authentication with the Docker registry.
   BUILDCACHE_OCI_PASSWORD="###ACCESS_TOKEN###"

For both concretization and binary caches, the cache version can be changed via the attributes cache_version_concretize and cache_version_build. The default values are v1.

Before using this library, the following tool must be installed on Linux distribution:

    apt install -y bzip2 ca-certificates g++ gcc gfortran git gzip lsb-release patch python3 python3-pip tar unzip xz-utils zstd
    python3 -m pip install --upgrade pip setuptools wheel

Dedal library installation

  pip install dedal

Dedal CLI Commands

The following commands are available in this CLI tool. You can view detailed explanations by using the --help option with any command.

1. dedal install-spack

Install spack in the install_dir folder.

Options:

  • --spack_version <TEXT> : Specifies the Spack version to be installed (default: v0.23.0).
  • --bashrc_path <TEXT> : Defines the path to .bashrc.

2. dedal set-config

Sets configuration parameters for the session.

Options:

  • --use_cache Enables caching
  • --use_spack_global Uses spack installed globally on the os
  • --env_name <TEXT> Environment name
  • --env_path <TEXT> Environment path to download locally
  • --env_git_path <TEXT> Git path to download the environment
  • --install_dir <TEXT> Install directory for installing spack; spack environments and repositories are stored here
  • --upstream_instance <TEXT> Upstream instance for spack environment
  • --system_name <TEXT> System name; it is used inside the spack environment
  • --concretization_dir <TEXT> Directory where the concretization caching (spack.lock) will be downloaded
  • --buildcache_dir <TEXT> Directory where the binary caching is downloaded for the spack packages
  • --gpg_name <TEXT> Gpg name
  • --gpg_mail <TEXT> Gpg mail contact address
  • --cache_version_concretize <TEXT> Cache version for concretization data
  • --cache_version_build <TEXT> Cache version for binary caches data
  • --view <SpackViewEnum> Spack environment view
  • --override_cache <bool> Flag for overriding existing cache

3. dedal show-config

Show the current configuration.

4. dedal clear-config

Clears stored configuration

5. dedal add-spack-repo

Adds a spack repository to the spack environments.

Options:

  • --repo_name <TEXT> Repository name [required]
  • --path <TEXT> Repository path to download locally [required]
  • --git_path <TEXT> Git path to download the repository [required]

6. dedal setup-spack-env

Sets up a spack environment according to the given configuration.

7. dedal concretize

Spack concretization step.

9. dedal install-packages

Installs spack packages present in the spack environment defined in configuration.

Options:

  • --jobs <INTEGER> Number of parallel jobs for spack installation

Dedal's UML diagram

screenshot

Acknowledgments

This project has received funding from the European Union’s Horizon Europe Programme under the Specific Grant Agreement No. 101147319 (EBRAINS 2.0 Project).

This project has received funding from the European Union’s Research and Innovation Program Horizon Europe under Grant Agreement No. 101137289 (Virtual Brain Twin Project).

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

dedal-0.9.1.tar.gz (40.7 kB view details)

Uploaded Source

Built Distribution

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

dedal-0.9.1-py3-none-any.whl (70.5 kB view details)

Uploaded Python 3

File details

Details for the file dedal-0.9.1.tar.gz.

File metadata

  • Download URL: dedal-0.9.1.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for dedal-0.9.1.tar.gz
Algorithm Hash digest
SHA256 ff319924372ed3533fb91b258e31c5253ead45cf4f252a2b2aff5b4a96d59e68
MD5 d2c0b34640c4cd839b0294d5e2cabe06
BLAKE2b-256 c46906c3ac2bb74d8bbbbd35752cde7e50c84b14b414274e1d5541ddebaf8f9c

See more details on using hashes here.

File details

Details for the file dedal-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: dedal-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 70.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for dedal-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8ab265f6d920e617025aba64603e68d42b2be7e483d459e0ab34bfa97213d020
MD5 26c37090be527d97b61e8439b199fe6a
BLAKE2b-256 54cafdfda1300d3d6a19df11e791a7f8b1cd07782c4decccd688ccd354ffe54a

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