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

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

fond-0.0.26-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (276.3 kB view details)

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

fond-0.0.26-cp314-cp314-macosx_11_0_arm64.whl (254.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fond-0.0.26-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (279.5 kB view details)

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

fond-0.0.26-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (276.3 kB view details)

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

fond-0.0.26-cp313-cp313-macosx_11_0_arm64.whl (254.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fond-0.0.26-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (279.5 kB view details)

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

fond-0.0.26-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (276.3 kB view details)

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

fond-0.0.26-cp312-cp312-macosx_11_0_arm64.whl (254.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.26-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ca25509eb3da095e4e4e35f53048571a783360e5580cf4f09db259de304d06dc
MD5 81e5b3ca2b179cb301a481e263885d4f
BLAKE2b-256 7e9763c9a5ef9c379161cb3d26156a7d314095a63365f320440fcb43d6d91414

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-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.26-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 48d825296c51a2426931e699b989b7c8d916db8b287a87f490d7b12cb43b62f8
MD5 2bf093856083f4654ce5f2e40bd7c80f
BLAKE2b-256 b21971dbc2e8e75a403b286a36eff21cf4368c9aaf346efaae30db801d8b280b

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.26-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86c2f0ea354ed01fd7e26dc9137e09ae70cbac1436c193535ee367444caea1a0
MD5 84242fb33ecf4d52749b3273cee260f7
BLAKE2b-256 279e44ff2908b9a01eb167f10e10937d189c0e4b81f9e777bc9e9bdfbcb7e4e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-cp314-cp314-macosx_11_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.26-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.26-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 63f4e305dc3e4860f143409f635368957a176accf2c7208f2144265f4a86ef07
MD5 d85081c285e3ea65cdc4a3f08c0d6925
BLAKE2b-256 7f9e59c5c736ca147f0f68794996a68ddecb3d1d9677beb3a2a3932291a35c5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-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.26-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 409265e94375f029f63cf2fa5043a307c1330347572b19b7e7043b0bcf2e48f7
MD5 15f22888b68ed83de336c28ac1d22a55
BLAKE2b-256 7963dacd3506565339b43788230bd3c0244a92062a2ed5a1b13f534e708c254c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.26-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 212d0d017f9c9e21ef28b6e585f72e82600aa222c8f4b8e49b5afae9268447e5
MD5 40140684d4859523651ec338fc8fbe52
BLAKE2b-256 093064636390cc63a258d3ee79295d922117841cb8e5773e57a2619b51002803

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-cp313-cp313-macosx_11_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.26-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.26-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5731dc6cc040e58404d28ffe4eb34bcee8b9d55d0cc32e56bf7eef65d9b571e0
MD5 fe0cd0d4544393689e1d8964c6dabd2c
BLAKE2b-256 999a5777acfd97ef900bafe6e1cc29ededffc14f688c6c0a57901408587645fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-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.26-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 472d9f403dde423a03336f0c5f4c4a905e648287baf358753deedee8f9a5ef6b
MD5 cf34db3c6df285041cb75dcfa4d51ac1
BLAKE2b-256 54a0ba41ec5ff1a313731203e56f7c491c26918a7286caf3636a235493752aae

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.26-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.26-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fond-0.0.26-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5d14b3338b0446767963019a7a0315a69474f7e8d7cdc2314e43650799fbd3b
MD5 7ae453657dcdc09c8b06842fadd2e4a4
BLAKE2b-256 50f86adb36748c434e745d7c9fd157d2b45e2e952fae5e3987efaad7da0cebd8

See more details on using hashes here.

Provenance

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