ReSpace is a Python package that allows you to keep track of the results of different computations along with the parameter values that generated them. You specify their names, the function that generates them, the name and default values of the parameters they depend on and you're good to go: no more trying to remember what parameters this value was computed for, building dictionaries of dictionaries (of dictionaries) to store them, or generally worrying about these things.
- Compute and store some result, indexing it based on the values of the parameters it was computed for.
- Compute results that depend on others reliably and easily.
- Retrieve a previously computed result for a set of parameters.
- Add new parameters seemlessly.
- Handle parameter defaults.
- Save your results at different paths depending on the set of parameters they were computed for, with little to no effort.
- Track how long each computation takes to identify bottlenecks in your pipeline.
You can install the latest release of ReSpace via pip from PyPI:
$ pip install respace
Or, if you want the latest development version from GitHub with git:
$ pip install git+https://github.com/TLouf/respace
ReSpace requires Python 3.8+ and depends on the xarray library.
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the MIT license, ReSpace is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was generated from a fork of @cjolowicz's Hypermodern Python Cookiecutter template.