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.82-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (447.0 kB view details)

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

fond-0.0.82-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (448.5 kB view details)

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

fond-0.0.82-cp314-cp314-macosx_15_0_arm64.whl (364.6 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.82-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (446.8 kB view details)

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

fond-0.0.82-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (448.4 kB view details)

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

fond-0.0.82-cp313-cp313-macosx_15_0_arm64.whl (364.5 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.82-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (446.8 kB view details)

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

fond-0.0.82-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (448.3 kB view details)

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

fond-0.0.82-cp312-cp312-macosx_15_0_arm64.whl (364.5 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.82-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fc86bbfbcf51f1fcafbf90619d145c8870ba0bf8b8182211fb912cabe790eef8
MD5 483c0aa333f0aea9641b239d883b2653
BLAKE2b-256 e8da18d1a5aeb1fd6758dbe1609754e666207da15c8ecfc9fb3a1413b014e203

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 991087f3727291ebf1bc9efef499e6a3f079f647a57003a86eda0361dc6f7883
MD5 c48d91555f3f02d0408fd9cb5f859b2b
BLAKE2b-256 8d2cf96f09ea95419fbe6ddee694abd400e868c7b5675fb348ec440a023b826f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bc0602fabe9df8cebfbdbe3ca0d5764a5633f2e7599b060fc78a691e93611a84
MD5 f32b65b62ce4a4924b94dfc8772a06dc
BLAKE2b-256 aacb4351e7fc14aaeec715a877e0e34664be6383aa2eb3f9106c2f936aacdec8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b3d405c915175e2932fbbc8ffc4d2cf325b39f8909bfe1a4a1a942574ce0a2e4
MD5 6e30aea9f6a2ec98f50d248b48822fd8
BLAKE2b-256 e0fc2ab0cb692f4f1f5c5d46dee6b576d12989dca193dbf992d4dee87356aca8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cd66d096f607a58676c5ce054f182916a16ebd07ebb212d43e72343a3810d373
MD5 a84ff6c9ddb5dd8e58df8e92d86bb74c
BLAKE2b-256 dd7e628198de3edcc09a56a02ab978201279e0fedc8c902204f089f0b983acd9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 21cc57483d2762aeb9d21021385641d1689ad57527472f1fbbeff63552ea1c02
MD5 f39ed6a712c64244da7a9b75a44c9a32
BLAKE2b-256 7f4f65353fb7dce3d60e348a5eaed3cfe2a588681954d66c2ed757ecbbe6c5fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 04b914d27da2c098738a9f5b37e404991711a7ba9777a9f0f3e5131b17185c91
MD5 3f92260fc9e8fdf73156976600e0c8b5
BLAKE2b-256 211d61d5b432b9c8be1fb50f280973ec0dd5d9ca3c76012fedbb18f3f20d686b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 373bf006056564124da74c1b7cf24f8dce577c3bf708b8cc089953f7c35991b8
MD5 ec6d8a7f81c2120294a128f7a30cb424
BLAKE2b-256 f5342ea03e452228f6d807349572fc7d6786b9c0f08cefd9ead75168e0013675

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.82-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b1911bb996938249c0aa2038e8a0590eb204339a621134ead7c218726dcdd260
MD5 a617668c5b51b6ed5b148367269e9e69
BLAKE2b-256 1d5212d1951b1ebbae007b7b96480844c708e5d36361c016e69bb4fa2d29e3a6

See more details on using hashes here.

Provenance

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