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.22,<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.22 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.22.tar.gz (127.9 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.22-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.22-cp313-cp313-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyyggdrasil-0.0.22-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.22-cp312-cp312-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyyggdrasil-0.0.22-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.22-cp311-cp311-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyyggdrasil-0.0.22-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.22-cp310-cp310-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyyggdrasil-0.0.22-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.22-cp39-cp39-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pyyggdrasil-0.0.22.tar.gz
  • Upload date:
  • Size: 127.9 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.22.tar.gz
Algorithm Hash digest
SHA256 91832a77f34aa8ba70497fb03b326161a98dfeb87fb7d600474f1d4840126087
MD5 916f17113ed847ae27709b47e298b9ae
BLAKE2b-256 7fa0412004e8695af171f6be04a8a2b9681bb15b8437d478d534ab28ada6af32

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22.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.22-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 770965259110a857c8f60bc76cab2a7fb2a94c77da054cd4d19a96c88fbfe144
MD5 4fe487b379ad091eaa5318111af22055
BLAKE2b-256 ffa7645045ae199696f82df469d0d763c679753bee662a64e4b8d1dfe2a30fd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43a68b5913cb839bfdb64cb3e3685c41019a9f320a40832b67f4bdbd14afdb7e
MD5 637e84163287f94e9493c802710730fd
BLAKE2b-256 56ed46f37ef2ab1700f956254d2c81180026bc6a6aa073476799e68f12022485

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e71ec164932ea147d8b26bdfcc6b48654698c17788437ae2e657eaf395d37b1
MD5 fffaa05a619323d23ce4d3ca385e7cb3
BLAKE2b-256 ade9837a6a05eb8e643264b9ff25c100c99d8dcb5e47c5831c362cd75aaa6898

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bb102cf357401aa69c7f095b864544ed2981456da0af248323cc20e702ea9b2
MD5 bdad1f7023abdd42fd3af7aeb00de341
BLAKE2b-256 71e4975ceddb1ca4003f46267bb3e15a70eea96dd5edc8da9776a23c6a370d05

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f24cc8263fb383e733d2369a2e7990f362f37ab2ba582edd99f7e4b947b59eb
MD5 0ebceebb78c0b1e4d076b5fb30fc6100
BLAKE2b-256 d47bc5660304dde2152437ea8987a39ca5e3d0e4851c808602676d5caaab3807

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03aef9e2ed04be8aecbbd82adcba6cdf28f56160804b52cabe44e0e11b476605
MD5 471ab3ebb5f78f62b021831870d52f85
BLAKE2b-256 061a6756912977aa7b38af94e19829107adb2594f95564f2ba77230a10041a9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9044d5da03134d9a60dfe3ae0e230459ce46c403362c8c19ca1fe63f32da8360
MD5 d70dce8c0b14043acdcb8e11150bbc9b
BLAKE2b-256 e59fd16ef9c98c91270a951e0ac085a9239fbd46f6cf680572f413ccada97548

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72fb646a5836a7913621a60f1a948f91a29a7691b3580631d3b9b2933cc4a6d2
MD5 2556b809fcb56e7543c6fc440f578376
BLAKE2b-256 4ad34a67f94a830ab2f2b61ccb937caac90e0d43c99af2c53d95ea87a6c0d72f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0a832f265cd0afe5d2db66a3a70a08d83ab329dc4ed0d12c6e00383f3e300de
MD5 a5eaac50f29d58a0e5a49936ae20ae13
BLAKE2b-256 d726de3d1173752f229722c5937f148e8bf2cace13e25138ac72bf6db134e1cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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.22-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyyggdrasil-0.0.22-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c2fa5155ac6e8fa9f11bfa46eff776e20c90159c265c0dc92615c578ba7da22a
MD5 0c4d4961794a9f7b7f0b25563b710448
BLAKE2b-256 4597126ac20b7ad590a2b2dbaa141365b4cb14ec5aa5388f9cbd377edee483ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyyggdrasil-0.0.22-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