$npx skillfedfor your agent

fiddle

Fiddle: A Python-first configuration library

With conditionsPyPI Software DevelopmentReleased Apr 20241.6M downloads / moApache 2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — fiddle-0.3.0-py3-none-any.whl
v0.3.0 · released 2024-04-09 · Python >=3.8 · 4 runtime deps: absl-py, graphviz, libcst, typing-extensions

Yes, if you're building machine learning systems or other applications that need deep, readable parameter configuration. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a safe choice. The Alpha status is worth noting—expect the API to evolve—but the library is backed by Google and in active use. Install it if configuration-as-code in Python appeals to your workflow; skip it if you prefer external config files or simpler parameter passing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.8 or later.
  • Low install friction with a pure Python wheel and four lightweight runtime dependencies.
  • Actively maintained with recent commits; last release was in April 2024 and the repository remains active.

License · maintenance · safety

Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), so you can use, modify, and distribute Fiddle freely in both open-source and commercial projects without restriction.

last release 2024-04-09 (857 days) · last repo commit 2026-07-21 · 386 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,562,090 downloads/mo, #3,759 on PyPI

Verify before relying

pip install fiddle

import fiddle as fdl

# Define a configuration object
config = fdl.Config(some_function)
config.param_name = value
  • Whether Fiddle's configuration objects integrate with popular ML frameworks (TensorFlow, PyTorch, JAX) or if integration is manual.
  • Performance characteristics when managing very large configuration hierarchies.
  • Whether the library supports runtime validation or type checking of configured parameters.
Same gist for agents: .md · .json

What it is and what it does

Fiddle is a configuration library designed to let you express program parameters as Python code rather than external config files or dictionaries. It's built for machine learning workflows where deep configurability—the ability to tweak nested parameters across complex systems—is essential. The library's core idea is that configuration should be readable and maintainable, written in the same language as the rest of your codebase.

You use Fiddle by creating Config objects that represent function or class instantiations, then setting their parameters as Python attributes. This approach keeps your configuration logic explicit and debuggable. The library depends on absl-py for logging, graphviz for visualization, libcst for code manipulation, and typing-extensions for type hints. It's currently in Alpha status but actively maintained by Google, with support for Python 3.8 through 3.10.

Use it for

  • Define hyperparameter configurations for ML experiments in readable Python code instead of YAML or JSON files.
  • Build nested parameter hierarchies for complex models where you need to configure sub-components at multiple levels.
  • Generate and visualize configuration structures using graphviz to understand parameter dependencies.
  • Manage multiple configuration variants for A/B testing or ablation studies without duplicating code.
  • Share configuration logic across teams by expressing it as importable Python modules rather than static files.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you're building machine learning systems or other applications that need deep, readable parameter configuration.

The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a safe choice. The Alpha status is worth noting—expect the API to evolve—but the library is backed by Google and in active use. Install it if configuration-as-code in Python appeals to your workflow; skip it if you prefer external config files or simpler parameter passing.

Install

fiddle on PyPI

Before you install

Low install friction with a pure Python wheel and four lightweight runtime dependencies. Actively maintained with recent commits; last release was in April 2024 and the repository remains active.

Requires Python 3.8 or later.

License in practice

Licensed under Apache 2.0 (permissive), so you can use, modify, and distribute Fiddle freely in both open-source and commercial projects without restriction.

Quickstart

pip install fiddle

import fiddle as fdl

# Define a configuration object
config = fdl.Config(some_function)
config.param_name = value

Verify before relying

  • Whether Fiddle's configuration objects integrate with popular ML frameworks (TensorFlow, PyTorch, JAX) or if integration is manual.
  • Performance characteristics when managing very large configuration hierarchies.
  • Whether the library supports runtime validation or type checking of configured parameters.

Package facts

LicenseApache 2.0 permissive
Python supportSupports the current Python release >=3.8
Install frictionLow. Pure-Python wheel
Runtime dependencies
4 packages
absl-pygraphvizlibcsttyping-extensions
MaintenanceActively maintained 857 days since the last release
Last repo commit
First released
Downloads1,562,090 / month, #3,759 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: MathematicsTopic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python Modules

Evidence: fiddle-0.3.0-py3-none-any.whl

Tags

Capabilities
python configuration libraryml parameter managementdeep configurabilityconfig as code pythonmachine learning configurationparameter configuration libraryreadable config management
Topics
configuration-managementml-tooling
PyPI keywords
fiddlepythonconfigurationmachinelearning

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “python configuration library”

  • fiddleFiddle is a Python-first configuration library that lets you define…
  • genie.libs.confGenie Libs Conf provides Python object-based configuration management…
  • libconfReads and writes configuration files in libconfig format, a format…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also gin-config · yacs · ml-collections · netron · prefigure · ConfigSpace · tensorflow-addons · tensorflow · nvidia-cudnn-cu13 · nvidia-cudnn-cu12