Skip to main content

Foundation for Cooking, Foundation for Life.

Project description

Fond — Foundation for Cooking, Foundation for Life

Fond

Foundation for Cooking, Foundation for Life.

pypi version

Experimental: This package is under active development. APIs may change without notice.

C++ header-only utilities distributed via PyPI as a build-time dependency. Your end users never need to install it.

Installation

pip install fond

Usage

As a build dependency

[build-system]
requires = [
    "fond>=0.1.0",
    "build-cub",
    "pybind11",
]

Getting include paths

import fond

fond.get_include()  # Root include path
fond.get_libs()     # Binding source files

In your C++ code

#include <fond/collections/maps.hpp>
#include <fond/logger/logger.hpp>
#include <fond/colors/palette.hpp>
#include <fond/msgpack/packer.hpp>

Available Headers

Collections (fond/collections/)

Policy-based data structures with compile-time Ordered/Frozen variants:

  • Set — unordered, ordered, frozen, frozen-ordered (policy-based)
  • Map — same four variants via policies
  • List / Tuple — mutable list + frozen tuple
  • BloomFilter / BloomSet — probabilistic fast-negative-lookup set
  • LRUCache — simpoo version wrapping Map
  • RingBuffer — fixed-size circular buffer, compile-time sized
  • Trie — prefix tree for string lookup and autocomplete
  • BitFlag — type-safe enum-keyed bitset wrapper
  • Arena — bump allocator for bulk allocation
  • Pool — fixed-size typed object pool with freelist
  • SparseSet — O(1) add/remove/contains with dense iteration
  • DynStack — dynamic LIFO stack, doubles as a freelist

Collections Core (fond/collections/core/)

Composable low-level building blocks for high-performance data structures:

  • OpenMap — open-addressing hash map with tombstones, node pool, intrusive LRU list
  • IntrusiveList — doubly-linked list that doesn't own nodes
  • NodePool — pre-allocated typed pool for ListNode-derived types
  • HashUtils — probing, power-of-2 masking, hash mixing, load factor math

High-Performance (fond/collections/)

  • FastLRU — LRU cache built on OpenMap (zero allocations per get/put)

Colors (fond/colors/)

  • Color — RGBA color struct with conversions to ANSI, ImGui, uint32
  • Palette — named color constants (single source of truth)
  • ANSI — terminal color constants (constexpr, zero allocation)
  • ImGui — ImVec4/ImU32 color constants (generated from palette)

Logger (fond/logger/)

  • Compile-time configurable logging with function pointer dispatch
  • ANSI color support, file output with rotation, buffer mode, callbacks
  • std::format template overloads on all log methods

Info (fond/info/)

  • ProjectInfo — version, exit codes, project metadata with pybind11 bindings
  • VersionHelpers — version bump/parse utilities

MsgPack (fond/msgpack/)

  • Binary serialization with MSGPACK_DEFINE macro (powered by FOND_FOR_EACH)
  • Packer, Unpacker, Python packer/unpacker variants

Lua (fond/lua/)

  • Lua table serialization with LUA_DEFINE macro (powered by FOND_FOR_EACH)

Macros (fond/macros/)

  • FOND_FOR_EACH — preprocessor for-each over variadic args (generated, up to 100 args)

Tools

  • ByteBuffer — unified read/write byte buffer
  • Timer — scoped timer with auto unit selection, lap times, time_it() lambda
  • EpochTimestamp — configurable timestamp formatting
  • KeyStore — file-backed key/value store using MsgPack
  • Locking — mutex helpers (C and C++ variants)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

fond-0.0.84-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.84-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fond-0.0.84-cp314-cp314-macosx_15_0_arm64.whl (508.4 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.84-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.84-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fond-0.0.84-cp313-cp313-macosx_15_0_arm64.whl (508.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.84-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.84-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

fond-0.0.84-cp312-cp312-macosx_15_0_arm64.whl (508.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.84-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ecc58bab8bbe8df4ae10deb6d7a7fb1b18b2c822af7652547a7a1d7cc058e970
MD5 3efc36b709b3ac51cdfc72acd9d1fca9
BLAKE2b-256 cb6f437a60cb672b02ec234321e8c3220f1c5425e7dad0d6039320e16487ed32

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2813fed7b919baa6646c10c40617e2f401618b958869a275ed500d60dccb2caa
MD5 06b4eed474a527f37254a8e26ea5eaef
BLAKE2b-256 6f29101928be22651cdaa784f6364ceca0b58f5eb2f3fc2a51737094f940c21e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3ff62ed6e71c6e69b2b8d7e95f437aa8df6a5f7d06d2cc27a639f48ee384419d
MD5 e04630b947ecd534fe54c4762be1c2c9
BLAKE2b-256 2468afeb65f179c9ec5ec7337ff54b50fab6b8030a3522f7152d9373c5c87eaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d235cd7a06fa4b09ba6a8ecf638f87d96e374997ea8fd8de9365f511afec9bce
MD5 172e5ef3dfa891e61c8603c9ed3fae03
BLAKE2b-256 9954a17aa8d4b422807e8c4610fddb8428165eed8e383dc24fd1cf9f4752354d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d1aa0c481eee2bf053f6b64ff59947f85e4321eaf5eaac8293ca8589c4f398c
MD5 8695d8505d5aae845b344af19160febb
BLAKE2b-256 345df3ec7accd5d9feacf71887cd9d5160358e5ce55cd0f852d74beb5419647d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 903650e0a92b253a83404aaf7cc068ee22c2f4e7041fd1612b6fa7d0152f65cf
MD5 adc580e33c2bc390704a5c02bc850bdf
BLAKE2b-256 6f597080a417759cd0c3231fc5261874e53c499ebd5601aecf00efb7e27fe583

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c62483bdb5e689de2ec22274a38bfda0b61258bf5a22181c3a4739acc0531358
MD5 dc86072d302b885cea97282a891689f0
BLAKE2b-256 373909c36d8fade62b87e3bf9fce5ba55daa6a31fe2086a27dca85ec69c16cc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a32e836638b12e6ed792dea9d4362e9dcb5c9b1e86a35e846c4bd5df477caae5
MD5 faccd7ca68df6b38eaaf605ac8ab63e5
BLAKE2b-256 31f49fb3423ffef87f13fac2ac909100c79acb0af87317c2b667f8b71b9fb326

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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

File details

Details for the file fond-0.0.84-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.84-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 2dfac241730683057dec6785e070b54b0f17eeacf0296c7f45a916336b35b028
MD5 8f7a5d759acb397419699559c656ef74
BLAKE2b-256 f113a42ec1c0697001d7f3415bb0922ed7977fcbde1e0c466382c9a8d04ebebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.84-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: build-wheels.yml on sicksubroutine/fond

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