Skip to main content

Yggdrasil

pyyggdrasil packages the native dependency prefix used by the planning projects in this repository family.

The Python distribution name and import package are both pyyggdrasil.

pyyggdrasil is the base of the planning-and-learning package chain. The shared workspace layout, the layered install order, and the common build-from-source and CMake-integration patterns are documented in the Planning and Learning build instructions; the sections below cover pyyggdrasil-specific details.

Python Integration

Install the wheel and query the native prefix:

import pyyggdrasil

print(pyyggdrasil.native_prefix())
print(pyyggdrasil.cmake_prefix())  # prefix to put on CMAKE_PREFIX_PATH
print(pyyggdrasil.cmake_dir())     # directory containing yggdrasilConfig.cmake
print(pyyggdrasil.include_dir())
print(pyyggdrasil.library_dirs())
print(pyyggdrasil.cmake_dirs())

The same paths are available from the shell:

python -m pyyggdrasil --prefix
python -m pyyggdrasil --cmake-dir
python -m pyyggdrasil --include-dir
python -m pyyggdrasil --version

Python packages that consume this native prefix should depend on:

dependencies = [
    "pyyggdrasil>=0.0.21,<0.1",
]

The bundled shared libraries make the coupling ABI-level, so pin to the same minor version. The exported CMake package version file uses SameMinorVersion compatibility accordingly.

Build Python

Build a wheel from source:

uv build --wheel

The build creates dependencies-build/ and dependencies-install/. To package an existing native prefix without rebuilding dependencies:

YGGDRASIL_BUILD_NATIVE=OFF \
YGGDRASIL_NATIVE_PREFIX=/path/to/dependencies-install \
uv build --wheel

Set YGGDRASIL_JOBS to control the native dependency build parallelism.

Runtime libraries are stripped in the wheel by default. Disable that for debugging with:

YGGDRASIL_STRIP_WHEEL=OFF uv build --wheel

Build C++

Build the native dependency prefix directly with CMake:

cmake -S src -B dependencies-build \
  -DCMAKE_INSTALL_PREFIX=dependencies-install \
  -DCMAKE_INSTALL_LIBDIR=lib

cmake --build dependencies-build -j4
cmake --install dependencies-build

Yggdrasil builds its bundled dependencies as shared libraries. The native dependency prefix contains C++ headers, shared libraries, and CMake package configuration files consumed by the other projects.

CMake Integration

The wheel ships a CMake package config (yggdrasilConfig.cmake) defining the yggdrasil::yggdrasil interface target. It carries the include directory, C++20 as a compile feature, and the bundled dependencies (Boost, fmt, gtl, TBB) via find_dependency. (cista is consumed through the include directory only — its target exports compile definitions that would otherwise change cista's hashing and fmt integration.) Downstream CMake projects consume it through CMAKE_PREFIX_PATH:

cmake -S . -B build \
  -DCMAKE_PREFIX_PATH="$(python -m pyyggdrasil --prefix)"
find_package(yggdrasil 0.0.21 CONFIG REQUIRED)
target_link_libraries(my_target PRIVATE yggdrasil::yggdrasil)

For compiler invocations launched from Python, use pyyggdrasil.include_dir() for the C++ headers and pyyggdrasil.library_dirs() for installed native library directories.

fmt Formatters

Yggdrasil's public fmt::formatter specializations are guarded by the YGG_ENABLE_FMT_FORMATTERS macro, which defaults to 1 (yggdrasil/core/config.hpp). Consumers can opt out by defining YGG_ENABLE_FMT_FORMATTERS=0. For Yggdrasil's own builds, the YGGDRASIL_ENABLE_FMT_FORMATTERS CMake option (default ON) toggles the macro.

Download files

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

Source Distribution

pyyggdrasil-0.0.21.tar.gz (125.6 kB view details)

Uploaded Source

Built Distributions

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

pyyggdrasil-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyyggdrasil-0.0.21-cp313-cp313-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyyggdrasil-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyyggdrasil-0.0.21-cp312-cp312-macosx_11_0_arm64.whl (33.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyyggdrasil-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyyggdrasil-0.0.21-cp311-cp311-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyyggdrasil-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyyggdrasil-0.0.21-cp310-cp310-macosx_11_0_arm64.whl (33.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyyggdrasil-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyyggdrasil-0.0.21-cp39-cp39-macosx_11_0_arm64.whl (33.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pyyggdrasil-0.0.21.tar.gz.

File metadata

  • Download URL: pyyggdrasil-0.0.21.tar.gz
  • Upload date:
  • Size: 125.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyyggdrasil-0.0.21.tar.gz
Algorithm Hash digest
SHA256 bf8c52198be12323dd5c2f66bfb66eef3d28a2d06dde38dbe0314c48b3319d10
MD5 04a611920927aeb0220919d0c1bb525c
BLAKE2b-256 8e8fe45207e0d1fca2d5ad00af8b4994927d8295d01d537d8eca88d3a537209a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21.tar.gz:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 704965ccd8845ee23f7efe56fda8c32d769611289f2872513c33d46ebd9f7f91
MD5 b2b9f8979e2fab5c8d88893541789c1f
BLAKE2b-256 7e3c5e09e152f0dd36d631e08564a907c6823b6ad044fc6809a556eae05a71c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 63285c2e9c9f39c7fc2b4c936e52fc764da05ea7e1a6ca37e7d7215481f1fb44
MD5 9f97f11cc9a3b595d30ca51393a0407a
BLAKE2b-256 b6cff49a86c2b4a3c9cbdb4f3e2e79ed0e5e508cf24062b7d3c23344f1b23c8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 86b188ff5700f609fa0921938c1423ca23d04e37b17f5a38c98cb4a59e1d9d12
MD5 4fea0633c56fcce096d89d33f80f8dac
BLAKE2b-256 a232b170b3cb89bd0b65bff987caaabb46546c65bd65a16c273afe4ff2dabe6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f10d1c42ec9392adc40153d160dc4d80916cc5aea20b896b6d19a0efd168be6
MD5 4a81cd9803b19df18de840dc74a80b39
BLAKE2b-256 8fef0b25aa61b7ec48556af6d8b8dba4ef5597fa640742295e4d26c229ea7989

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ce65cf53a5510a28bfb74139049a551bbda92042bab7e3e11c419b8d615b5606
MD5 ea3b40d05512c0a973d61cceb4122b59
BLAKE2b-256 e9b189a857422d704aff68b3423fd6ec0dfa84d3a247cc203633d40c8880daab

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b274a378443a155d543121e82315c16e4810246a737c01e6a8919cedfa69738e
MD5 2707a8868ad909b7f18958f0fc3a1d6e
BLAKE2b-256 43f27351deebc2a4df6999d50e1418697929803fef8e2ccacffd674431a44856

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8599f7ae19f31955d7b34193ba690495a627493631c8e637bc6bda9a3ec90690
MD5 18950a719485c9f0887acfc8c6ce1f8b
BLAKE2b-256 a1f8f57eb995f9061de8ca44accb56226171006cf4efb0d9e62bac636e164f56

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7dd6c7328668f78f2d4c4578d97786520c04e215131ca75f6af56f7425dad05d
MD5 638a0caea583a8d624215b30b9ef6c36
BLAKE2b-256 c1b8d2da66c535132cf9f37f6cde495ec79fda34e4a673f634140ffb69ac6aeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 35bd92d68e43e19be3ec8ce170d2928b637ade2928bbb5d28ff2ccb804d49525
MD5 bde9f7199d03755f53fd5a84d5ad4ee2
BLAKE2b-256 de534458faf87e48fd9b5eb240a0d30f20d3592e96ecf10a391aead148fb898e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyyggdrasil-0.0.21-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.21-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 086c58f93496f9a4df957d23a770c5f8b55a26d92ae438ceebc260af794219ee
MD5 f350a84cf7b3e93974c78e2f89906eb5
BLAKE2b-256 9b807a1d5112d07fa8013058fe00d706f57453dcc409f56f7058c72c9af171bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.21-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on planning-and-learning/yggdrasil

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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