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

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.87-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.87-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.87-cp313-cp313-macosx_15_0_arm64.whl (521.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.87-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.87-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.87-cp312-cp312-macosx_15_0_arm64.whl (521.3 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

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

File metadata

File hashes

Hashes for fond-0.0.87-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c91cd47de2f643f165a3092a685ceea9083c4bbec21ec77980f23a5ecfac850
MD5 d884623ca3111ef65bad94bf6746a217
BLAKE2b-256 fe2173b4dc3c32d8ad34706e66b8c06ef87cc4890bc067cb3c19c1ee5bedae21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5aa736e010638cc080932619bc11e9024aecfe8e34cad6b70736f76425720b8f
MD5 d0873c878179ae478f85a964689500e2
BLAKE2b-256 b2eef20dc862ec04bfa47947e1376a6fc94fe90c39a9e9192583fbd2191c1bee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 8c690ec97aa5d5e4a738305977913a391af3b2759fac90130141d1da4b6fa114
MD5 bed517df77e3f73dfb99341a70daf356
BLAKE2b-256 23a4c4c3458fefe8a757821e038d6844a9bb51c6760713521bb44a882acd0180

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 188f8e4a32ece33532dca82029c8693858375c4210529ed9287fa00ce9dde428
MD5 6a88e9f3101ad9bd97fff3d632445d9e
BLAKE2b-256 d77b31550016a17ba455da3c1e741ecd995176e5b2bf8c7f1270fc47b70233b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3536c2c1e2061ca6337d339e072efb4e21f41746879cde21c8a09ab4a81804e8
MD5 e8156cd675583c1c43073ac337179509
BLAKE2b-256 345b141ea19cc47d83d5830cd9b3d6276080f2ed85a5d6a33740e1a8d039f6f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 519be6adb9ede46d0293cc0bc20432274945162e7bc1911b99374e4b0e2f7f7c
MD5 2976b669fc1ad5bbe3903895be83af3f
BLAKE2b-256 20b9b47ade81d0fe3019526e2932ea2b2e8dd52b2779d09d2a1b0ae9c3456f36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33f605e42e0bb4a92b29a0e7e68a971254875cb042f1b76a0bf3dcb28d904425
MD5 9a7c02f2a0a60ae5b13d545ea061223c
BLAKE2b-256 a8873a0eab6f5f32a2fe44e9be27a64b804fd94351db40faf768c3ec774861d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7abec1d5e0e1db447d1c1dbe11532d98c458b092984a58f7a3a21174676cb8b0
MD5 8fbd4e44c73ed1696d68dc947bbed49b
BLAKE2b-256 2d64246c72a84405d07cc219dd72239927433c2206a9dd6e68fa89bed3f630ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.87-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 093c5b381327c95e7014f62b102d65fd94b5b43ac3a222082395275c6c1a314b
MD5 0793b5cb4ce4690dc3d6182f1435e367
BLAKE2b-256 ca6ef13080fcaf721084ca2c5b4c6d44deff4522f88cbecd1892506da1b6f649

See more details on using hashes here.

Provenance

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

This release

0.0.87 This release

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