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.73-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

fond-0.0.73-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.73-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.73-cp314-cp314-macosx_15_0_arm64.whl (831.1 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

fond-0.0.73-cp313-cp313-win_amd64.whl (901.3 kB view details)

Uploaded CPython 3.13Windows x86-64

fond-0.0.73-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.73-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.73-cp313-cp313-macosx_15_0_arm64.whl (830.9 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

fond-0.0.73-cp312-cp312-win_amd64.whl (770.0 kB view details)

Uploaded CPython 3.12Windows x86-64

fond-0.0.73-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.73-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

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

fond-0.0.73-cp312-cp312-macosx_15_0_arm64.whl (830.7 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file fond-0.0.73-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fond-0.0.73-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fond-0.0.73-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cc30cdb95443bdccbb1312c1c4f22dd60c05c6fd5f48cc3604509a98218ebd70
MD5 1c4a5ffba8960712ef2ab00d1fdbb22d
BLAKE2b-256 175b8b4076274db9ec33a6be51f5f026b74e67cb3f4eb3efe5395ca95a7eb825

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.73-cp314-cp314-win_amd64.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.73-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fond-0.0.73-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a6a6768aa43d2c066d74480cc1a306b38052e22566caf717c43867552bb4c2f
MD5 014f2287d0b2fa3535f07f3d4ae236c8
BLAKE2b-256 d564a8b3588d2f1c54f68b6c8be73603b76c7a7d73c458c76a2e1d83377a690c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 04ab179ebf070edb146da088f6c6ac27e73ae25c6d63cc3861fad7a8b8eae1c2
MD5 8adbf7104ccabc061c6aacd1fba8a95f
BLAKE2b-256 91897319bb866179becfc3484902a5824fb181ebc5c468df766de26b939518ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d9a3ef7f47812485fd7c17fb9c592663be725c1d2fb9a9a69bbf889ddc3cfc32
MD5 aa3872811d0f27c9f7c9828bb9e591f9
BLAKE2b-256 9d33d83bd9f849794eacd207072d66a3c8c5d81792f57f489e7f1ea6e474dd80

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.73-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.73-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fond-0.0.73-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 901.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fond-0.0.73-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0a7b1d683cc83ac23a8410d9dd6c8083a533e20d441b3afebb580e83d4d9cafc
MD5 c6ce80283507f1dbbedae765ad8eb342
BLAKE2b-256 bbdbeeffeff1a03ec7acbb7666dd89228915bf3fedd52f9d6bed9339d1c2c46a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b395f9aa2288766aed93e13e411fe4c7ab4a44757d27d843a25f89c989745b8
MD5 e6c7cafd705dda04444a1effafb3d9e3
BLAKE2b-256 1b803105222756a56e2bb9b9d8fb0064625d74921c353da884ee2c01be83d2d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8fad411ab2cbafc9f1495b83eb32df24db839280b71433450bc0372f5ce0bbaf
MD5 aa0ff76d2b439387b1f110cab5b89ad5
BLAKE2b-256 b83bc8a6159384c5e6846d57fa158b939865ec84812e8469beae24a459cd1c79

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 90f263fb2603a6c0d3451f3e4cb97279370f75860adb8e2e054a278100d63435
MD5 49df1bc0124ba9246407d639589256e9
BLAKE2b-256 94370de8cc2c6fd71dc55b55762165b3bf1332142dfe9ccd48f0a2197f5202d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for fond-0.0.73-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.73-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fond-0.0.73-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 770.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fond-0.0.73-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aee172250dedc7fa63e9501096defe4e85deaeada73da5f567f80f428d88fb8d
MD5 a5cbaeac637cf13b3cef2bf893ef2b55
BLAKE2b-256 9e3b1ac37a1187f9d040a405d1ac76ec046621641780e71162a0780b1b08c8a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a36612b1f5c3bdb9232d9149115fe33e66366b9761fdd0b1b5ce1f85c5618d9a
MD5 d7c539039975d76c8ee41be3461836d1
BLAKE2b-256 8129ab3070e1853a5cf847cdb43f851e44b565dee64c6a508eafc15fb792b594

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c751a8186a8336dc7e892aa62c6c12551937086bf490b9b5cb3d8a498e3cff0e
MD5 c9cd3d2e57bb36a4cb938cdd70154f15
BLAKE2b-256 47f546699a5e4a5845dab4efd319d0c672b30c2bc7aa16dc19a7a8ee528e5751

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fond-0.0.73-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 98e478b68c590c48f619382663a9da123863928c05c5b1fb998b43c5d5c095df
MD5 d44343d1c7bf22e495daab8112f6ac67
BLAKE2b-256 7d5536fcb70135b3ea764ddb50ce41b83db068b58f3f2333508bed535b0ee301

See more details on using hashes here.

Provenance

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