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 theself.cfgdict. 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 inself.cfg. When possible, decorated methods load output from disk rather than recomputing it. The@cacheabledecorator takes an output type as an argument, such as@cacheable(NumpyOutput). Other valid types includePathOutput,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 amethodofclassor of an object inclass.cfgmethod-argsis a space-separated list ofkey=valarguments to pass to method--outputspecifies a directory to store @cacheable output (and to find it in)--search-pathspecifies directories to look for@cacheableoutput inconfig-argsis a space-separated list ofkey=valarguments to initializeclass
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)
| File | Size | Uploaded | |
|---|---|---|---|
| fob-0.0.5.tar.gz | 24.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|