Skip to main content

Foundation for Cooking, Foundation for Life.

Project description

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

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

fond-0.0.33-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (492.2 kB view details)

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

fond-0.0.33-cp314-cp314-macosx_15_0_arm64.whl (546.1 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.33-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (496.5 kB view details)

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

fond-0.0.33-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (492.2 kB view details)

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

fond-0.0.33-cp313-cp313-macosx_15_0_arm64.whl (546.1 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.33-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (496.5 kB view details)

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

fond-0.0.33-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (492.2 kB view details)

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

fond-0.0.33-cp312-cp312-macosx_15_0_arm64.whl (546.1 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.33-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3eb4590329b81c7f5f2b80bff2dfb7b9d8a84970ddb7bd2dbadbf7453dd10c4e
MD5 a21c9c08c29f6b280267fab187c81ff2
BLAKE2b-256 bb2447f9da2c08b33441d319ae7c5f9758f36e2872f01a75723ce7b32103e29f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.33-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.33-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.33-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 71f399ae59c06e7fc9741699afb9a17ffcee84bf887e2042d31d035b06df5666
MD5 47a205a8d996cf92a5f5b4a5379b3e60
BLAKE2b-256 9c12968e15950f76b91bc514ba79c147a9ec79c48fdbad0ab227dbaa3ff8e237

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.33-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ae092a93d266d782b897a641fc107cba9e05fa63bfa80c750fee273fe96ba699
MD5 9e94771499175984af6d28f127ec64a3
BLAKE2b-256 acc2cefd2917292c7927ed986f5e8d22e6032c9fe7a0da5d68b97a4c0e428215

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.33-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4dca43f722084623b5d2aa8c413322d356215554421b55c73f0760c5e66de159
MD5 4e0be8e6bda0a539542cf423308ad0d0
BLAKE2b-256 4009ba09823cc5bec3a09a1a17446feaf3d4454a5cf7643e4123900c500a9b78

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.33-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.33-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.33-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 aa67ce5307ca88d2595b29fe22dd7a40b3512b902df0a3f12ff83e5647396b74
MD5 f407038648c7d842da51010705d8227a
BLAKE2b-256 2cc18084fdab755893e10e5d995a59427871a2e3fedd3e3d8b9a32390c0f701c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.33-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 55723a87d0fcf7161232fba4bc801248ac41dd1a7bb0d55f0cb5e7ff7ef683ef
MD5 9c0cf071ed0a1a90587fdd61f4b1fd1d
BLAKE2b-256 6ee76bef3030538e0def81b3733a118243dffb375909f261ca816264ab522df4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.33-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b477cb08e670161966f1753a4ef03a2290470f2b3010b5780f578ab55cff3e25
MD5 618f3598d4c8edb3b7e5176072a593ca
BLAKE2b-256 5fb63237812c04fe33a81d3bb30c03f50e3476c2e8e8c791e46e25ab4e2931c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.33-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.33-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.33-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b96bbea8d3dcf4ddd9ef89d29e1d85c93626c5f2f9839510e02b03e760664fc0
MD5 b6771b44425dee088be58f3ac918e1cf
BLAKE2b-256 d4a8b339b436b93d6dd599e8d5ecd4636458fe1acfbf9fafb81ec57c3779c78a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.33-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 dea9e9b5090403239b89030ebc8a549d988794e495cc69b34dd8af74820fdcc0
MD5 c8dfa4d26f7260c1e7b776159201493b
BLAKE2b-256 43e4644e19f09bb0764fb691e8b0047e43f9f636cc70e90f278ba30aa8fd1edb

See more details on using hashes here.

Provenance

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