chore: Remove numpy dependency
- Dominant language
- Jupyter Notebook
- Stars
- 2.6k
- Forks
- 213
- PR merge metrics
- No merged PRs in 30d
Description
You can use Hamilton without numpy so there's no reason to have it as a dependency.
By searching `numpy` in `hamilton/**.py`, there are 3 results:
- `hamilton/base.py` where `NumpyMatrixResult` is defined. This could be moved to the `hamilton/plugins/h_numpy.py`. We would need to solve the import pattern.
- `hamilton/telemetry.py` there's a check for the `base.NumpyMatrixBuilder`. We can probably just remove or stitch with the above change?
- `hamilton/log_setup.py` where `np.seterr` is used to ignore some numpy error. This should be safe to delete?
By searchin `numpy` in `tests/**.py` there are more results. Numpy is used to test the 3 previous elements, but also as an input for certain tests and for `@check_output` stuff.
- The easy fix is to keep numpy in the test dependencies.
- We could move certain tests to `tests/plugins/test_h_numpy.py`
Also, we would have to make sure that the examples have an explicit dependency on numpy if they are using it.
Contributor guide
Assessment
This issue has not been assessed yet.