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

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.95-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.95-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.95-cp313-cp313-macosx_15_0_arm64.whl (555.0 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.95-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.95-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.95-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.95-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.95-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eedca4529f8fa149fb949846ddef8257a351b8eb88c084edc0de5ca838b8258e
MD5 9e9c86e1daa55dcf4625771d0d1755a0
BLAKE2b-256 45a6b05cdeed09cb2527d7ed137b94065bf2e3943a96347684dd4774d91241cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da6446f847286b62bce52fb005d085b9768ab92564a600b3cc1e02c824492a04
MD5 3db59b48ca2760f33d6449c31b78b08a
BLAKE2b-256 2f6b690e4c999b08bccb1c8cc8a4ea860c51b16074192a96990549d3c9bc8dfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4903b862340e233ea18fa9b252c661359c4250ed3a8989fa45f89831d2ba3a61
MD5 4ecf0b5a6074f6ce818950b5bfd254e6
BLAKE2b-256 44e749908e8ce9eaa097246067f4a6bcf0848afea2a6f56537de077e0ac41cac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2e7981bbaa4510dd98b22b50f22d3334bb3a685a8d6d7c4fd7ac43fc9fb84cf
MD5 2a293d800f78730816fc2b58b1f8c93d
BLAKE2b-256 43c9f99d851f6e7ccc34e0c7155829344b94d7976ff2f74b89d7b22595e17821

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85cea9249f07a07cd9b45c91e326f11351f92dbdb8ac160e911d7b968742ea03
MD5 5761125251f2d6ea2b7b1fb97638b45b
BLAKE2b-256 d1b1c91a66ac9d3e117107f33c0e6d8976cf07162586d7b964f970040c07294e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 52165088675bc555401bc9dcd6fdfeb53cab27ee116f2a1d5e8743e6932af4a7
MD5 3736d08fd8f8c0d2532b393ed4f77de4
BLAKE2b-256 4ee412996b9bdff9d33c81ebfd2dc03d8e3d984791be17083ce8d41b8d636f86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73e40b3d3a40ef8c241427540bb70dd2ee4251366dbfdd3f15c17bf22a4fceb0
MD5 913534cacd6ed5a90e536841c05bdf3f
BLAKE2b-256 cae3e650e15b2c6f4ae9bfe3f67b67fbe0c7dade15dfbda5f57fbabb4f4c5190

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4a9bfc50364f64f4a85a43851e387ba0068fcc69cd5889986aa4cb42b696ef13
MD5 a2d01792e73f105efa1e163cb3164de1
BLAKE2b-256 8ef356d55648e9ead93f2894732e19464709bbef9f860e14ab7a217946481526

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.95-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1d75b6b1c2690d651409798d1cb67369376a030796fa97671f19970d76c122fc
MD5 c54b790b57d4e3f24dbf31fc75e3aea7
BLAKE2b-256 71be129d3008a667cd48a19fcce6a218149c338a1f3a6bdb55def77ccf2c9594

See more details on using hashes here.

Provenance

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

This release

0.0.95 This release

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

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