Skip to main content

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)

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.94-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.94-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.94-cp314-cp314-macosx_15_0_arm64.whl (555.1 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.94-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.94-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.94-cp313-cp313-macosx_15_0_arm64.whl (554.9 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.94-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.94-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.94-cp312-cp312-macosx_15_0_arm64.whl (554.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.94-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67b9f930840371b6a020fab3f45138744e0ef73ba5c5d54c8800aa62896a99e2
MD5 391bbf567e5b8357759a46ddf77ce1aa
BLAKE2b-256 0b1f8361bdaf659f78b6283b0d1125ff9c64df3073d493d6ce741ef303ebb6dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.94-cp314-cp314-manylinux_2_27_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.94-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0bf7333d92cc4fc2ea5b511e59b8b3d039c091eae3cfd281c17efa7087471846
MD5 fb1f378ae9c158c0bf45930d944423e3
BLAKE2b-256 ccaa3d3f76a8b56072d29227d593d8fcc2cec68d9e9b8e415181afbe3891a426

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.94-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4fa03c699b370d08422f1600a7fb378757dd7cec19bae89df423f61af168c199
MD5 3b23db6a5d91995fb68fe4d16d43ebe7
BLAKE2b-256 cc1e22d098f0390a8365c1546d28fa3e02c9ab169f70838e949ec8c5270a3514

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.94-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.94-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 245e1571f65f6b7699d88b0c2cfdefe605f5fafbd90b1245a97580aea038d897
MD5 99c8ebce005c01f9bc47e46b32b8d0e6
BLAKE2b-256 c5d997bb4157dcef741f87f0129493931eec366503017a7dbd76848f1384e212

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.94-cp313-cp313-manylinux_2_27_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.94-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 338db8d2c0d5fa3551f1bfae5bd659717615dbb6b301ed2b8f72bedd40f707d7
MD5 31aea017da2403f3857c47d9ab325f86
BLAKE2b-256 022d3414d53a9fa4a99fcf40fa53246a81d40614b754504193faf6e85db1418a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.94-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 247eee171a559da057bd1df979bc01dc71ab3073484e80eccb8f5602afed726c
MD5 a04f7e55db3c58a6d29a56dee99eb033
BLAKE2b-256 88fc7b3267b1ff05a4b9a6a10e1867ad947eaa6e4f912cb2bd3f4a4f4b786a95

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.94-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.94-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 798475727fc9c5852af20ef981cc124b7612c6aff44ad50d42ae64c33efdaad2
MD5 1cb026102535fd7f3f006fe735c40abf
BLAKE2b-256 a5da887b9d5bd3de7151ce6460d7c9f9aba882db615c78c9321f45eebd95b805

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.94-cp312-cp312-manylinux_2_27_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.94-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.94-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6ab95e1ba20f86d24a4584e2c6d89ec2ec84da020d46202c9ab06c98eed9c581
MD5 e5b3a99f3f5892c451f049abd91512a7
BLAKE2b-256 908ae2b8a0f8c38e145e29a2045a986d0f4db85e27492b078963a0843f56dbf9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.94-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 81a5194a599fc4d35ce22d9394c206dabfbd258f0494f8255b95740b8406df28
MD5 ebc31ccaccc304d0e0eedcbdfdba5642
BLAKE2b-256 f3842cbe78093e9188c2bb01ff1ebb545bf6bd42311420003c4e2a0f486a0f56

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

0.1.17

3 files

0.1.15

12 files

0.1.10

12 files

0.1.5

12 files

0.1.4

12 files

0.1.3

12 files

0.1.2

12 files

0.1.1

12 files

0.1.0

12 files

0.0.99

12 files

0.0.98

12 files

0.0.97

12 files

0.0.95

9 files

This release

0.0.94 This release

9 files

0.0.93

9 files

0.0.92

9 files

0.0.91

9 files

0.0.90

9 files

0.0.89

9 files

0.0.88

9 files

0.0.87

9 files

0.0.86

9 files

0.0.85

9 files

0.0.84

9 files

0.0.83

9 files

0.0.82

9 files

0.0.81

9 files

0.0.76

9 files

0.0.75

9 files

0.0.73

12 files

0.0.66

9 files

0.0.65

9 files

0.0.61

9 files

0.0.59

9 files

0.0.50

9 files

0.0.49

9 files

0.0.48

9 files

0.0.47

9 files

0.0.46

9 files

0.0.45

9 files

0.0.42

9 files

0.0.41

9 files

0.0.40

9 files

0.0.39

9 files

0.0.38

9 files

0.0.37

9 files

0.0.36

9 files

0.0.35

9 files

0.0.34

9 files

0.0.33

9 files

0.0.31

9 files

0.0.26

9 files

0.0.22

9 files

0.0.21

9 files

0.0.17

3 files

0.0.16

3 files

0.0.15

2 files

0.0.14

2 files

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page