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.61-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.61-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.61-cp314-cp314-macosx_15_0_arm64.whl (807.7 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.61-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.61-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.61-cp313-cp313-macosx_15_0_arm64.whl (807.4 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.61-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.61-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.61-cp312-cp312-macosx_15_0_arm64.whl (807.3 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.61-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b4efb405cd1fffb9bc13fb9db6111fcdbe01a2f1fe2d0dc4805d0b62862786ae
MD5 ab09383d931e2ef7e9166c1d447c2253
BLAKE2b-256 2f0a3ffa2e448e93ac98bc239075e371a9e6ec294d945596aa4ed10ee0f49213

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 204ad6a0a0c8df2030d8a299ff53b90fb6b1d3be11a545c3a8627bb5516e6303
MD5 44e1dd1c84fbeee3ac8247f844d21a69
BLAKE2b-256 9ccbdc1bde1e363d3b114024ffe065cc02e1fc8bb877e2ab05794db0539ee9db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 86f04154f37ea3875e7949447c43dab6a9e11d96a34ab361738f308e189a1b0b
MD5 b61ea153a1c3f4b6b666d8e9a156c1f1
BLAKE2b-256 18c38b754c40df83310abab1c04b1a0bf9ffdd55f88f34da0fd07dda3153be14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8bb9d00fab2c8604e32d695096b7b379f5e17862c3c0916e5f820f64ad49cefc
MD5 a7df0d86aeb2726b4910d444ad0a2022
BLAKE2b-256 8b2bc99e999f0d4102de15bb5c63873ad567a7d976546303c4e62ecb3e02c3df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ccd469474b908b9d52ac882e8a4def3993b9ee56d8bb53228c6f9ca5c4668cde
MD5 fa35244e52d751aea6cc356c3c0da1b9
BLAKE2b-256 93e7bfec06fc463afc1e58d44d12df515e013e8a13f29160a68f599c2da91f1d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 0a6d248eda5ff8ab382dd8030f38b5e47ff54b24fc24c2d8d116e267a5b43384
MD5 20ea0fd3f063dd3877f4b8517d2bb57b
BLAKE2b-256 78b8084663085a1e11d1a8168b2425e79c16158da2dbbe0ab14f74c9af48ebf4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd2bb0f0f439969285376bfe4b78c4eff034b44fbf829f926d15b3a954027b06
MD5 95166998302a27695c706c6a7493ff1b
BLAKE2b-256 20eb8e7b5eb5b7887a6d0650d92abc17f306818cdea36e218aae3107be6f3b10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4e8ee9f9720399ebefad306e2a9be2baffa4e858eb7a7663e1dc83b8045a4392
MD5 eb071abffb3c0a2e6245e48c891dcf16
BLAKE2b-256 a75dff2c89115f7b523fa83e44fa3f6847a922a5935e39b8cb006649d450311b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.61-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ae4a4fff660a92e002a6950fb8c9538ab382764096e186876a8f15fa82a2c500
MD5 e7b26e9e342473231afa0ec2c625ffe2
BLAKE2b-256 4c45331c1ac964d9664c7d4c95217088c901151e58930d94b3f5a4fa4c13cb8f

See more details on using hashes here.

Provenance

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