Skip to main content

License: MIT Worfklow PyPI version fury.io Code style: black

fob

fob is a library for building configurable, repeatable experiments. It comes with a fob command for running and inspecting experiment pipelines, which are built from configurable ingredients.

Ingredient

An ingredient is the basic building block of a pipeline. Ingredients are configured using their __init__method, which allows unified Python and CLI APIs. They need to:

  • Subclass the Ingredientclass, which allows the ingredient to be recognized (and provides many convenience methods)
  • Decorate their __init__ function with @configurable, which makes the arguments passed to __init__ accessible from the self.cfg dict. This allows the arguments to be configured from the CLI and tracked for artifact provenance
  • Decorate select methods with @cacheable, which saves the method's output based on (1) the method's arguments and (2) the configuration in self.cfg. When possible, decorated methods load output from disk rather than recomputing it. The @cacheable decorator takes an output type as an argument, such as @cacheable(NumpyOutput). Other valid types include PathOutput, PickleOutput, StringOutput, etc.

Command

The fob command can run arbitrary methods within a pipeline. It uses the syntax:

fob <class> [method] [method-args] [--output DIR] [--search-path DIR] [--config config-args]

where

  • methodcan be a method of class or of an object in class.cfg
  • method-args is a space-separated list of key=valarguments to pass to method
  • --outputspecifies a directory to store @cacheable output (and to find it in)
  • --search-path specifies directories to look for @cacheable output in
  • config-args is a space-separated list of key=valarguments to initialize class

Release files for fob 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fob 0.0.5
File Size Uploaded
fob-0.0.5.tar.gz 24.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fob 0.0.5
File Interpreter ABI Platform
fob-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 44.0 kB

Release files / fob-0.0.5.tar.gz

Download URL fob-0.0.5.tar.gz
Size 24.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f02467dd190ac5de12e330c263379425719b1fe91e8e1bb20d9192a389a4943f
BLAKE2b-256 checksum
How to use checksums
72973bd9bffe4b5a2685f2e6d680aa8044c9e1679317ba708146ff6e328b6fae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.6

Release files / fob-0.0.5-py3-none-any.whl

Download URL fob-0.0.5-py3-none-any.whl
Size 19.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bcc5af627ec170d52440f78d8e9d918e19e7f7703f71a1ab14b23a67ed4da41e
BLAKE2b-256 checksum
How to use checksums
4ab3385e1a649819e35b630140b5f0065f5cfa92aa5df9b6854baee2876dfbfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

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