numerary
release notes
0.4.4
- Fixes guerrilla patching of
RationalLikeMethods.__doc__
to work withpython -OO
.
0.4.3
- Migrates from
setuptools_scm
toversioningit
for more flexible version number formatting. - Adds work-around for
numpy
’s typing updates (posita/numerary#16). - Allows deployments to PyPI from CI based on tags.
- Exposes
CachingProtocolMeta
(posita/numerary#15).
0.4.2
- Fixes issue where
numpy
lacksfloat128
on certain Windows installation.
0.4.1
- Minor corrections to required Python version.
0.4.0
- Now relies on
beartype.typing.Protocol
as the underlying caching protocol implementation. This means thatbeartype
has emerged asnumerary
’s sole runtime dependency. (numerary
still layers on its own runtime override mechanism via CachingProtocolMeta, which derives frombeartype
’s.) It also means thatnumerary
loses Python 3.7 support, but that was largely illusory anyway.
This decision was not made lightly.
numerary
is intended as a temporary work-around.
Its obsolescence will be something to celebrate.
Caching protocols, however, have much broader performance applications.
They deserve more.
beartype
will provide what numerary
was never meant to: a loving, stable, and permanent home.
0.3.0
Removes misleading advice that SCUs offer a performance benefit over merely using caching protocols. They could under very specific circumstances (whereActually, removes SCUs altogether and documents a surgical example for those rare occasions where it might be needed.numerary
probably will not help anyway), but not always, and probably aren’t worth the trouble if performance is the only concern.- Finally removes
SupportsNumeratorDenominatorProperties
as promised.
0.2.1
- Fixes trailing issues for
sympy
import issue resulting inValueError
s being thrown on import in some environments.
0.2.0
numerary
goes beta!- Splits
SupportsRealImagAsMethod
out ofSupportsRealImag
and provides thereal
andimag
helper functions for better support ofsympy
’s number primitives. - Renames
SupportsNumeratorDenominatorProperties
toSupportsNumeratorDenominator
to mirrorSupportsRealImag
and reflect that it captures the numeric tower interface.SupportsNumeratorDenominatorProperties
andSupportsNumeratorDenominatorPropertiesSCU
are maintained as aliases for limited backward compatibility and will be removed in the next version. - Removes
enum.Flag
from testing as a non-sequitur. (It matches none of the presented protocols.) - Introduces
__pow__
helper function and renamestrunc
,floor
, andceil
to__trunc__
,__floor__
, and__ceil__
, respectively. - Fixes
sympy
import issue resulting inAttributeError
s being thrown on import in some environments.
0.1.1
- Removes obsoleted
…SCT
aliases. - Corrects release notes which erroneously identified version 0.1.0 as 0.0.6.
- Adds
enum.IntEnum
,enum.IntFlag
, andenum.Flag
to testing. - Merges
SupportsFloor
andSupportsCeil
intoSupportsFloorCeil
. - Gets rid of
MANIFEST.in
nonsense since we’re not distributing sources via PyPI anymore. - Adds a ton of examples to protocol docs.
- Better identifies false positives in tests.
0.1.0
- Adds
CachingProtocolMeta.includes
,CachingProtocolMeta.excludes
, andCachingProtocolMeta.reset_for
cache override functions. - Retires
…SCT
tuples as unnecessary, especially in light of cache overrides. (Runtimeisinstance
protocol checking is fast enough.) For limited backward compatibility, they are now merely type aliases for similarly named protocols and will be removed in the next version. - Updates docs.
- Custom runtime comparison implementation allows composition to lean on base types’ caches. (⚠️ WARNING: Severe jank alert! ⚠️)
0.0.5
- Updates license to the MIT License.
- Gets rid of
self
redundancy in__isinstance__
checks.
0.0.4
numerary
finally leaves thedyce
nest to become its own library! It didn’t quite leave before because its maintainer is a bonehead who doesn’t understand setuptools’ multitude of oh-so-simple packaging mechanisms. No, it stuck around most weekends to do laundry while eating all ofdyce
’s food. Now it has officially left the nest.