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

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

fond-0.0.47-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (530.0 kB view details)

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

fond-0.0.47-cp314-cp314-macosx_15_0_arm64.whl (579.1 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.47-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (534.6 kB view details)

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

fond-0.0.47-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (530.0 kB view details)

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

fond-0.0.47-cp313-cp313-macosx_15_0_arm64.whl (579.1 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.47-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (534.6 kB view details)

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

fond-0.0.47-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (530.0 kB view details)

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

fond-0.0.47-cp312-cp312-macosx_15_0_arm64.whl (579.1 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.47-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fa0913f1da4051ff5c59e6dce938c52857353c54a9c1fa732f8f988c316b71d7
MD5 05dd9808901cfc12fa8c8ef20f108e3c
BLAKE2b-256 dd0e9c6cdd4b666f76507dd4f23e2a2e4ca45b0183c0f36a1503a56d30fedbd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.47-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.47-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.47-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ef4253f407488fa2a061ba2387c1dd7c7e068235e039013833e956df54aa766e
MD5 231c5a3e14b9e12aee27b5bbfafcfcb8
BLAKE2b-256 22da0317e88394d26cff8319d933ed26b5070d6ba86bc6cbe12aebb773c1446c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.47-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1fa8cce7ba5df0a25c784eaf490ded229a08c45b92c9b984f93da1838017eec9
MD5 5fc059a21f5cece1efa25c8ada6f3be6
BLAKE2b-256 0bc08e7be8705d8dd508625df78304189f14298f3d4d5397e9e64082cdd90434

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.47-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.47-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.47-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4a39f6cb2787265610f2f92c43907e411c3ee4dacf3a99b0085e29f8eef76a77
MD5 959f34d0ceb457125a87bb94d1cf9503
BLAKE2b-256 51cf676d3409c74c7515c1fbea919ab124d16d93bb544711510f9d9f7b973208

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.47-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.47-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.47-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2c2e5151399cd4350946e0085f62c071358c65f44e0f8045e1b906960162b043
MD5 2066c6d1ef47497329e3ad7c5cc90d9a
BLAKE2b-256 49f3bf21c79b8438c103fad7a5f5b435419541f0de3fba10a974fbf3e9232b3d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.47-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bbb9e025102cb427c97043ce1a82dc4790e5bb29e83844fc2436cb8c75cd6584
MD5 b636fe257fd4326d7b0457a99e53d222
BLAKE2b-256 e4e9676cb39cfde65b981c317a40d4951da115c158f63077c40e6b88106c98db

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.47-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.47-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.47-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e179592f09a5b339bd3aee5cc1f1e74dceaeb39538456d2e191d4c4719accdad
MD5 50d6319e15a6f7ea9175be2169542963
BLAKE2b-256 a239295012b0d18b7439d4d4aff0685da8b60b0754c3ef2044af20760ce341df

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.47-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.47-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.47-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c61cdf13e3c06a108bbd883580fd987b2481827a22b14e7103667632cb5e8dfe
MD5 ff4b0e52c49fada6dbda60a2ce152e40
BLAKE2b-256 2c3d24029b710f06d57c296f49785ee18c24f3f088bab4e02360370b70cb29b4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.47-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d48e05f953866a92545927e3a7293aa9d9ec5831a3d014f69af86f385492ba92
MD5 b335ca46c0ad7ad55803f17f02f83558
BLAKE2b-256 1c70df9db297818c6316c8b0f98f46222055b956554c944ddda462d2de3ef047

See more details on using hashes here.

Provenance

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