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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

pyyggdrasil-0.0.23-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.23-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.23.tar.gz.

File metadata

  • Download URL: pyyggdrasil-0.0.23.tar.gz
  • Upload date:
  • Size: 128.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.23.tar.gz
Algorithm Hash digest
SHA256 284bfe9c2ebcb097754d31e40134b07ed6d6fb65a5941bd665671c6768581ce4
MD5 705a837fc6f3012ba7d57f38f456091a
BLAKE2b-256 13a426c6d6ff4a020fc61432e809688dce2747f012bcb4a2a1f1fea73b3de837

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 101a07d9e5371c1337480c0f0314c6e67ab4a89f74a35048aa020e6876075202
MD5 668c07e09fc19a838d1f41809abfbb1b
BLAKE2b-256 0562a10b540311469608a16fa3019f8716e6176e36ad4cdbf99b3e5ba162dfa6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab29ef9735c15af0de65c0fc91fe5f0cdba345fb247a85d373a9fef1c346d698
MD5 bb5c1ded6459176d76187eeda1a0e957
BLAKE2b-256 9c3934a14daf1f704ca886db13a11a0c8518ec05cd4f473bf2795646bea8aeb1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d8fbdb25bdd8e40f46032868e37064fff571ed541eb20f41016cae8040926a42
MD5 470d95ea150422cb0b3101d286704907
BLAKE2b-256 eeaf2e2e7f44a2d22aa4b5590bd63d0d0dbf947204cd3622c3e01e3a10003ec8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 22a1e1618e7d38a7b05458e905223b743a001a1587646915a24968a318eaf05c
MD5 2434f9d175bd4f765fb054c1f1923a61
BLAKE2b-256 fa8f5bab8ae5f3743eaa0ffc08c02e4be0f3435b72a8d23032f5656ecad19909

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0a8cd84c004f1eb3d495a59050218d4ced847fed928f362a430ffda36594824d
MD5 69b347df51961b4bd853291521d05142
BLAKE2b-256 196f103c24cd778d48cd27be9dfdaf598fb8e0ae7ed0a0f1316ed1ef24d5c30d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8408602ed6013a958a1aa6cfdb2eef612afdc179ee4f9dd4b447c3dac7e77134
MD5 f87ec93d3c98df4b237bc0c49a3c319c
BLAKE2b-256 27f506db0d1b578f09620823535ab873f154a84dc9fe3bafb7f3a919ad1ea773

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5620e871ba0e29f29dc7eb043a0932b609d8e5321b648808564f4c2af33868e0
MD5 e9b777a2f4bba9849065121f646fa3ef
BLAKE2b-256 43191443b38e182551879a519016b5b702c4db862b332a7b1fe7d7d6cd23f587

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd3a522b34ee0edd06849d6406eb54cfa687185584230fa5e211054e1ca31960
MD5 d00efa7be8314ebb486604c02b9dc6e1
BLAKE2b-256 f0eded6e9515267e9fd6e193c5d54efe42a408568c94d6863d2eb97db4ebc0a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5e2b6c572163f38b27f83e946586fad8db49363486776d15a83be09d29fefb72
MD5 dd9e49bbd6b90f97f2d37df1b313fede
BLAKE2b-256 cc72b7bbcaa643310d66ddc9a73c5e962fd388a7448e715b79e6b331034e2748

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.23-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eb253d4fe1843e707cccefd9e8f25f4639b3ab305b065cade7b016e1a916decf
MD5 e10c62b62fde9a838909d7f28bb4ce51
BLAKE2b-256 0e80bdf2895d6ba7901a54f82289876358180cad1fdd9c1169faf6f1639dabf2

See more details on using hashes here.

Provenance

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