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.24,<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.24 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.24.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.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

pyyggdrasil-0.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

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

pyyggdrasil-0.0.24-cp312-cp312-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyyggdrasil-0.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

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

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pyyggdrasil-0.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

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

pyyggdrasil-0.0.24-cp310-cp310-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyyggdrasil-0.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.4 MB view details)

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

pyyggdrasil-0.0.24-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.24.tar.gz.

File metadata

  • Download URL: pyyggdrasil-0.0.24.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.24.tar.gz
Algorithm Hash digest
SHA256 624247624649676be67e279ea9eb243801938cfe7a8801bc843aa2e573b28a48
MD5 54e21b6da480256cdd38843dbbd99769
BLAKE2b-256 cd2567f521083f8e23c5beaa415ad895e790bb15d39cd9b11bf555bd4f2deadf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8ae0e489ee266937b619341bd084c81726d578f53e991dc943c59713d706d29
MD5 914942a65107f4f0607589e26528978f
BLAKE2b-256 750a932fd1b8677073c14c878be18ce8f3e192822bc8cf2dccb431e93026d28d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df34e76481fef5ea9397399f3ad49652c530c87361c7a1fa53b5297435a72734
MD5 d9da78f519db07643bbc9b1fbb1f6fdb
BLAKE2b-256 8adc769907fabe68eba14490f4275e25e163adc97001dc813c5f0404bd9a1426

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 08287f2d54c95bf380d5841af8cd4f7e371088acaa5ca8fdd546550153c92cda
MD5 8b26ba4539563af2d7d3e17a162c8daf
BLAKE2b-256 356ba8a0331b881229e4dfc0a8676d665d174a22b4e36bd092054d03f94ad91e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4a51c5a606a3e7bbc7666a5e7fb94276fefb8395be3e2ef083e8ac2195548da
MD5 f8ed35fcd0bd2ffbaf6da83f18e53bf4
BLAKE2b-256 bf82c543f9e60a062ff35fb9900d2cf98fa3ea8e9435b3a89a4fa217d335200f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8bd4c8a6c50d29d211ec23a65d2bf6ff23f8e8d2ded06ff60b0d279a4e6d8bc8
MD5 dab44b5413a26956489f2c52837d9b7b
BLAKE2b-256 8b21477e582d3613a0a65d626689686ce295b4d7447e1b64e721253464f9bfff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f32528461ada4bbfa7bca3504887a080657ea542cf5517f4af2bbcd8f6754c4
MD5 e15021ea3c972afaa2337e63572df95a
BLAKE2b-256 435690bff865dccb0788b5a52783ee5a4fd17f3eb313ea68fd54bdee3b4a10de

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ee80483b4f2401e15b26f1ee93abca2158f869dd13a43be3a9a4648034f6cfa
MD5 a3a1453e72547c11e9b3821b055b1094
BLAKE2b-256 6fb1190a5caaba7665e5f80f3c5f7c6fda93d2ce828993c5145820e2c202b149

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4dda938ffb2bb934769688bdca47618f1c0d0b6b6cd132add0032a323e6e9f06
MD5 9826904ff492701af29f465ac2d557ea
BLAKE2b-256 412f8bd8a70b271d8f062779062a054c725fd4d28797375f3289a9c51fd52f0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d30970f754deaad3f8f38a4501c6ac99ac6e9bec38feda7a7e78c58ae520133f
MD5 d5d45eb40156e4c148ed138f175df401
BLAKE2b-256 62db9650e8c7867b9261e78ae1b003eb1de16bf2cba1ca50348780862a52b8af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyyggdrasil-0.0.24-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a2e4a93b10f374873c459cdce627d796e4f50378f6aeae267c27ba362e06619
MD5 a8d759fa168d37307e00cf0752645786
BLAKE2b-256 c74915fc4bc2323974c3a092623b213029db91f89b01ea30b173b6753f7778c1

See more details on using hashes here.

Provenance

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