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.76-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.76-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.76-cp314-cp314-macosx_15_0_arm64.whl (850.4 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.76-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.76-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.76-cp313-cp313-macosx_15_0_arm64.whl (850.1 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.76-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.76-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.76-cp312-cp312-macosx_15_0_arm64.whl (850.0 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.76-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b99d591d2439dbbaf3eec93d16674f049603a177e653858b5ac13bbd9e6e089
MD5 c8794dbc327b169fad435611360239fc
BLAKE2b-256 e74c142142edee344f5075ebde8d004a233146dc48d4e58d9fc45c06af9fdaa4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp314-cp314-manylinux_2_24_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.76-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a185a25e3d7e2c54ee779137264305563346f83f8bee202b9030723dd79ea9b9
MD5 413c9d1e52387951e11ea751f75cace3
BLAKE2b-256 aee9ed09a10880aa586023ee49372d5474255fa0b7160ea99a4aa001a1a6a270

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp314-cp314-manylinux_2_24_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.76-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 394d07682bec1323cb602cd8d76345ae6e87459df5375578e2c1a474b96c2ee9
MD5 a2f8f7c718c1be823bdb657f19c6e0b0
BLAKE2b-256 b6af863d53e24c1564bdb1586bddbf102ac80218a72515df5311fcfa8694f13e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-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.76-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a348bfc4a484d74f274e35f3cd56c2dcfb7f715f43391bd8d55a6be252f7400
MD5 a2671173ee749f5354acc5db5abae3cb
BLAKE2b-256 8d4fab4fd5564eb88547874b2847a0a89b31185fba5bd5d2f9d2959f80595b4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp313-cp313-manylinux_2_24_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.76-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 db6b99a09a385c6174eb3b3018ecf91fb59a77b23594c67af13a2ec0e6e7dd8d
MD5 13946fc8c1e3f1fa02bd977681612b6c
BLAKE2b-256 d341cd12a2690bf68afe62fe914e2ac97c5d7c09163bdd029f6cd7c43ec2e7ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp313-cp313-manylinux_2_24_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.76-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 2fa25676957ae2f48c29d5239532c9b5831093413a0b25070c2dea396a678a26
MD5 724a5d65c9c8fd38651de660cb5fb233
BLAKE2b-256 4c88e98d1fbb5dac85a6d62f07888127f28f46d6a0ef92ba73edf222f30cd56a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-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.76-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 08f4de407f2a6830ff71a63c8f287eaa9a0373553d49899d9b60b740021da886
MD5 11ed54581361b6376d85979e4ebb6a81
BLAKE2b-256 4de20b6f52bc8a44b174e3d096bd1b877c4d6b293115fd8767de8fb3d4d21d21

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp312-cp312-manylinux_2_24_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.76-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f05aaeb8be00e8b927706f8e688f7304086d6109719834dfccb96f7af2b7c778
MD5 6242027284dc6fdfa8fb4d00593b4743
BLAKE2b-256 f45dacd7900b565457f2be8e184802343ebfd8fc073619967f04dea39ea12561

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-cp312-cp312-manylinux_2_24_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.76-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.76-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 958099aed855db2dd1ad5fdceac875b8a2ef47deabd8cbef4ec2bb16cdf66fd4
MD5 6b1eaac34c80e83f90c8172dc2333959
BLAKE2b-256 57e09bf3d64e727068087e2f92c8ae3697ea12e26fbbd9646e5ac4cd7989a800

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.76-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