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.39-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (524.7 kB view details)

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

fond-0.0.39-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (520.0 kB view details)

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

fond-0.0.39-cp314-cp314-macosx_15_0_arm64.whl (569.2 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.39-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (524.7 kB view details)

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

fond-0.0.39-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (520.0 kB view details)

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

fond-0.0.39-cp313-cp313-macosx_15_0_arm64.whl (569.2 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.39-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (524.7 kB view details)

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

fond-0.0.39-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (520.0 kB view details)

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

fond-0.0.39-cp312-cp312-macosx_15_0_arm64.whl (569.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.39-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c55a2aa38237afac93f94b8a31328f17404581e55349c32bfba0c992dba3a44
MD5 4fa6beef4e4d7e49ddbabf208d65bb84
BLAKE2b-256 520452968c17c939c6fd9acf461c1c044bc058ca438efa66faf537ac547e2e2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cacca7fc872c399ad325fe36a24f3832d4e6f79194538e6ea468743cf7b8b327
MD5 40fee53211f08b5fb02e9fcc4a2b743e
BLAKE2b-256 c55257603bea3d893af332cce186e7b318a57ea8fe6e7aa28e5deead8d37a711

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 73c693686eea8a863608be827bed731a23f7ef4958f848bb0a027c9cfb1bc0ba
MD5 fae9dfb55681bf1be243e01e170a455b
BLAKE2b-256 9a2795719888f3e8fd96c07e2aac72b8ed15a171f09dbd2d92f12faf2a5193c0

See more details on using hashes here.

Provenance

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

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cfbf14ecfb8c1d77b50378d9ec7eb8829f1a8287e90557d8d892765455f67a6e
MD5 3d06b0b49eb9d8f9f96705fab46f35c1
BLAKE2b-256 44bf42b3ce8faa4d9ec7e335c681ebac626c1189a75424fccfd77afa38117eca

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2b3bd232658c1865b7c655335187bcafdecf2d9b4c872ac137fd05ba76ac20c2
MD5 787967443ee59549fa34c8e4b76d5e83
BLAKE2b-256 7d682965ed53ad3d867ee8778bdee50b46dd337716a7aa92c7ccbb9757fdce6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 fe31f60253e05c48ef853d7e41bfb671d18783608ce9aca9c436730fd0a52c63
MD5 0b372f81334ec02898e1548367112b43
BLAKE2b-256 aac00e0b0c0dcbda98ebb792d98146e222bdd1d30875d077ddd8dde2daa94714

See more details on using hashes here.

Provenance

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

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 102e447a466ab1be296d9c42333180cfbf9a9177b3ea053585662be07189e125
MD5 0e096a32961a236685b0e26b282955ea
BLAKE2b-256 3e7dc89eabca789fe4a2489ae0407cfad704d1890f0850e33239bd10117307d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 239f436e925b7781693f2c5a9743b2720eb10de6f3e4099dae2ceccdc3eb2348
MD5 1abc253f2ed06ea16f804492c76c6693
BLAKE2b-256 06d8ff80cec587fbdf74e41250d87d6376bd4a6a47bfde06e5362b072782e6f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.39-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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.39-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.39-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4b367b84dd581396b0a7d01b1d7cb8095eb400b48adab9a9d6a5caad68cdbbae
MD5 b3689ef7f90b8b21a2355239203045f5
BLAKE2b-256 eadd581a9722c926725538b54dbf0090ad36ec558593e2fedee60601f57967d5

See more details on using hashes here.

Provenance

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

Publisher: build-wheels.yml on sicksubroutine/bewoo-includes

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