2024-05-25 01:57:16 +00:00
|
|
|
# Changelog
|
|
|
|
|
2024-05-25 02:21:36 +00:00
|
|
|
## 1.*
|
2024-05-25 01:57:16 +00:00
|
|
|
|
2024-08-06 02:49:13 +00:00
|
|
|
### 1.3.0 - 24-08-05 - Better string dtype handling
|
|
|
|
|
|
|
|
API Changes:
|
|
|
|
- Split apart the validation methods into smaller chunks to better support
|
|
|
|
overrides by interfaces. Customize getting and raising errors for dtype and shape,
|
|
|
|
as well as separation of concerns between getting, validating, and raising.
|
|
|
|
|
|
|
|
Bugfix:
|
|
|
|
- [#4](https://github.com/p2p-ld/numpydantic/issues/4) - Support dtype checking
|
|
|
|
for strings in zarr and numpy arrays
|
|
|
|
|
2024-07-31 23:45:48 +00:00
|
|
|
### 1.2.3 - 24-07-31 - Vendor `nptyping`
|
|
|
|
|
|
|
|
`nptyping` vendored into `numpydantic.vendor.nptyping` -
|
|
|
|
`nptyping` is no longer maintained, and pins `numpy<2`.
|
|
|
|
It also has many obnoxious warnings and we have to monkeypatch it
|
|
|
|
so it performs halfway decently. Since we are en-route to deprecating
|
|
|
|
usage of `nptyping` anyway, in the meantime we have just vendored it in
|
|
|
|
(it is MIT licensed, included) so that we can make those changes ourselves
|
|
|
|
and have to patch less of it. Currently the whole package is vendored with
|
|
|
|
modifications, but will be whittled away until we have replaced it with
|
|
|
|
updated type specification system :)
|
|
|
|
|
|
|
|
Bugfix:
|
|
|
|
- [#2](https://github.com/p2p-ld/numpydantic/issues/2) - Support `numpy>=2`
|
|
|
|
- Remove deprecated numpy dtypes
|
|
|
|
|
|
|
|
CI:
|
|
|
|
- Add windows and mac tests
|
|
|
|
- Add testing with numpy>=2 and <2
|
|
|
|
|
|
|
|
DevOps:
|
|
|
|
- Make a tox file for local testing, not used in CI.
|
|
|
|
|
|
|
|
Tidying:
|
|
|
|
- Remove `monkeypatch` module! we don't need it anymore!
|
|
|
|
everything has either been upstreamed or vendored.
|
|
|
|
|
2024-07-31 09:05:04 +00:00
|
|
|
### 1.2.2 - 24-07-31
|
|
|
|
|
|
|
|
Add `datetime` map to numpy's :class:`numpy.datetime64` type
|
|
|
|
|
2024-06-28 05:24:57 +00:00
|
|
|
### 1.2.1 - 24-06-27
|
|
|
|
|
|
|
|
Fix a minor bug where {class}`~numpydantic.exceptions.DtypeError` would not cause
|
|
|
|
pydantic to throw a {class}`pydantic.ValidationError` because custom validator functions
|
|
|
|
need to raise either `AssertionError` or `ValueError` - made `DtypeError` also
|
|
|
|
inherit from `ValueError` because that is also technically true.
|
|
|
|
|
2024-06-15 05:56:28 +00:00
|
|
|
### 1.2.0 - 24-06-13 - Shape ranges
|
|
|
|
|
|
|
|
- Add ability to specify shapes as ranges - see [shape ranges](shape-ranges)
|
|
|
|
|
2024-05-25 02:21:36 +00:00
|
|
|
### 1.1.0 - 24-05-24 - Instance Checking
|
2024-05-25 01:57:16 +00:00
|
|
|
|
|
|
|
https://github.com/p2p-ld/numpydantic/pull/1
|
|
|
|
|
|
|
|
Features:
|
|
|
|
- Add `__instancecheck__` method to NDArrayMeta to support `isinstance()` validation
|
|
|
|
- Add finer grained errors and parent classes for validation exceptions
|
|
|
|
- Add fast matching mode to {meth}`.Interface.match` that returns the first match without checking for duplicate matches
|
|
|
|
|
|
|
|
Bugfix:
|
|
|
|
- get all interface classes recursively, instead of just first-layer children
|
|
|
|
- fix stubfile generation which badly handled `typing` imports.
|