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.86-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.86-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.86-cp314-cp314-macosx_15_0_arm64.whl (520.6 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.86-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.86-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.86-cp313-cp313-macosx_15_0_arm64.whl (520.4 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.86-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.86-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.86-cp312-cp312-macosx_15_0_arm64.whl (520.3 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.86-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b89f66baae54bae826b53bda7e7e8a3c77f4a4205aed3b27396e808c77500353
MD5 b3d7b835caf9037022d0662b9f4b01ec
BLAKE2b-256 557d10dca7506d25276ea453400d19a47565790b74083eba920e4833fb71d0bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4d2706e3e32944141216f8f71eea586e088268d6ad9625a8b8a37da70af00b5
MD5 31defcf09627bcd708e9dab32205a6fc
BLAKE2b-256 7bf94b97322472111030bc115f1c860cc7296ee8600f3f1ebd8f30d018508a51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 e5e50523674b3b1cb1985eca53da9ef0bb623a160c6f7f460a4ecd9e7769059d
MD5 f33eba61b9e997847dcfc13950dcd8cf
BLAKE2b-256 0cd749abba8c4c5c243b7a5cc52b6f2a78fc2ed33b29325295eb3d3fe39cef32

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 576d9c4bc4171564c9767ca0b5a68ed71a4414b59a1376a01e85d0cea2aad0c5
MD5 3766ff7d7ed64749402fd644703b0cff
BLAKE2b-256 2c227f10ccf4de0752866b74ce39ce96f2e2f2dacf883b75492ab1ad74fc7c53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8c15715d58eabf9cfabf524436517e3e17ec5c7dcb43702a7c303b02216d4955
MD5 683fabe5124eacc77d23f39a0e106148
BLAKE2b-256 5e73f9d2cc7938f4fa6accc124775306ce5c389deb35985efc2db4cb5df6616b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 42246e291b68915ad3f956003afc99a1d873f7aa789b15624e649e40aacdbe86
MD5 fbf722015920ff0523f08f964a1bb2d0
BLAKE2b-256 c046a5e14559221f04611ec615a946a983fb11b1287f1e446d21c62c85ebfa0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af9f4b12505def502bb4b6c064ab182877a0da68754eefe74cffba233ce184d0
MD5 05d8afd8f600ad133b511dbe633951b5
BLAKE2b-256 678aa7e77693030eeac72bdfb4c0131f530048988e3af638d397b816657369fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 452855e04943bf1e953bdf33566070e63e231827e2ef97a4114fbeb69e381ec6
MD5 8737b84350a42124f5fc724d0da26e90
BLAKE2b-256 f87d9e7d7b5ccbdf9263521ff72c812e34d2bb377490fb32ede324f2615063ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.86-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 40ccc27d99d211a73534a7646ae6bbc23a241fc08dafc34ba3d2b73c039d4ab6
MD5 c4e8f388c5e32512782472e453e67af8
BLAKE2b-256 baa78d58911dd2122117075ced643fafdf086a1b2927b93ae1e12b4e23a911d7

See more details on using hashes here.

Provenance

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

0.0.94

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

This release

0.0.86 This release

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