cartesian-explorer

Utility to efficiently explore functions on their domains


Keywords
cartesian_explorer
License
MIT
Install
pip install cartesian-explorer==0.1.13

Documentation

Cartesian Explorer

Documentation Status

A handy tool to map functions over their domains.

docs/Screenshot%20from%202021-03-05%2022-05-32.png

Works:

  • Map over cartesian product of arguments: pass arrays of values for function argument
  • Built-in caching
  • Handy plotting utilities
  • Resolving dependencies between functions that require and provide variables

Usage

Map

from cartesian_explorer import Explorer

explorer = Explorer()

def my_function(x, y):
    return x+y
data = explorer.map(my_function, x=range(5), y=range(3))
print(data)
assert data.shape == (5, 3)
assert data[1, 2] == my_function(1, 2)

Cache

from cartesian_explorer import Explorer
explorer = Explorer()
mock = MagicMock()
my_function = mock.my_function
wrapped = explorer.cache_function(my_function)
wrapped(a=1, b=2)
wrapped(a=1, b=2)
my_function.assert_called_once_with(a=1, b=2)

TODO

  • [ ] Interpolation, extrapolation
  • [ ] Vectorized providers
  • [x] Plot distribution props along additional distribution var