Skip to main content

Foundation for Cooking, Foundation for Life.

Project description

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)

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

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

fond-0.0.75-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.75-cp314-cp314-macosx_15_0_arm64.whl (847.4 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.75-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.75-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.75-cp313-cp313-macosx_15_0_arm64.whl (847.1 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.75-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.6 MB view details)

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

fond-0.0.75-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.6 MB view details)

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

fond-0.0.75-cp312-cp312-macosx_15_0_arm64.whl (846.9 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.75-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c7ba1d5f37d5162894f7774ddb39919482177a6aefdfe4cbfae16c453f503581
MD5 9323368c036761fea33bb5fceaa123a3
BLAKE2b-256 995176e745f2aa0d9a543d7256b0fefe73450b561348f71ed36a1b8062148e13

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.75-cp314-cp314-manylinux_2_24_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.75-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37634c17c2175424712c59b52ae00bf724992512f9eef5c1821b6d7a3146068f
MD5 a6dbccd0545c58d62c7e788226e5e76b
BLAKE2b-256 b6eed1a0d683fdf154ea44eba559f7a3460a666e4e44b4399f3e77e48d9ae6a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.75-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 6728e58bd2c7e925f9d0f7aef9e7ddf296342fbf8c9e178bcc8eca11eb3a4d0f
MD5 e196471b7c4527540683f69194bbcaa2
BLAKE2b-256 3d041a61d9640be6b09290d9bb8a8a257b96e82b02a5c9ce736e6d26282e3958

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.75-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.75-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10ddd508ebc50b7b3debec749e51992a72007cf33e68d4f81fa367505bd2daa8
MD5 e316331bb35c6656849107b7bc6b91f1
BLAKE2b-256 e2267696365aac4c1f6682d0fd0684b686015637b74a1dbd34c809ee5b25b45e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.75-cp313-cp313-manylinux_2_24_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.75-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d779473eac13e8f19932964d7bb14322b85911575e80174c2017b80f68068a86
MD5 dc476eb173a85d4d2f9b65ee709cd19b
BLAKE2b-256 57943003c1bc78eddc30c0183c022901df9a27eedde540932ef595bdd4ec3cc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.75-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b9e0d2ddbe281f3d942ecb60d3c4a8452dbe9d953e279b3fb5c6286dc2ff2878
MD5 68ad152584e738df291789a282b9cb63
BLAKE2b-256 86f49afd0c943deb4b4cd744b29fefda8adad761b3c17c93c10bf11e26f577e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.75-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.75-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c3796c19077d3d76cad52b0612ea67874887f20cd8c360a16418ac2986a977ed
MD5 55fc7b62381171bea981cf78ca78a46f
BLAKE2b-256 2822b0277b869b0671aa5100a8aec16efb9c1d9cf1a81a0b58608767f458d003

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.75-cp312-cp312-manylinux_2_24_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.75-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fond-0.0.75-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c7b305cc84413ff27fade5951ecf2bb25327699dc941c5efe932efc8bdac2c38
MD5 e832b8a2abbecbd1cf3c29503909ccc7
BLAKE2b-256 9c53d7d2f3b2168203c80fe9f0b136aedb3d475f8f9e84b1768888782cdbaada

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.75-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 54b197665c4f9ccc4a6a7a56c40e165aae1e0d79d834a2779a7f28bfa57bf46b
MD5 8d2731cfcf4bb351e1613b8ad0ce8373
BLAKE2b-256 bf4170330b78e76a277179efcc9edfe296d238a8aec57552216c4b1b5a15ed0c

See more details on using hashes here.

Provenance

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

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