numerary release notes
0.4.4
- Fixes guerrilla patching of
RationalLikeMethods.__doc__to work withpython -OO.
0.4.3
- Migrates from
setuptools_scmtoversioningitfor 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
numpylacksfloat128on certain Windows installation.
0.4.1
- Minor corrections to required Python version.
0.4.0
- Now relies on
beartype.typing.Protocolas the underlying caching protocol implementation. This means thatbeartypehas emerged asnumerary’s sole runtime dependency. (numerarystill layers on its own runtime override mechanism via CachingProtocolMeta, which derives frombeartype’s.) It also means thatnumeraryloses 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.numeraryprobably will not help anyway), but not always, and probably aren’t worth the trouble if performance is the only concern.- Finally removes
SupportsNumeratorDenominatorPropertiesas promised.
0.2.1
- Fixes trailing issues for
sympyimport issue resulting inValueErrors being thrown on import in some environments.
0.2.0
numerarygoes beta!- Splits
SupportsRealImagAsMethodout ofSupportsRealImagand provides therealandimaghelper functions for better support ofsympy’s number primitives. - Renames
SupportsNumeratorDenominatorPropertiestoSupportsNumeratorDenominatorto mirrorSupportsRealImagand reflect that it captures the numeric tower interface.SupportsNumeratorDenominatorPropertiesandSupportsNumeratorDenominatorPropertiesSCUare maintained as aliases for limited backward compatibility and will be removed in the next version. - Removes
enum.Flagfrom testing as a non-sequitur. (It matches none of the presented protocols.) - Introduces
__pow__helper function and renamestrunc,floor, andceilto__trunc__,__floor__, and__ceil__, respectively. - Fixes
sympyimport issue resulting inAttributeErrors being thrown on import in some environments.
0.1.1
- Removes obsoleted
…SCTaliases. - Corrects release notes which erroneously identified version 0.1.0 as 0.0.6.
- Adds
enum.IntEnum,enum.IntFlag, andenum.Flagto testing. - Merges
SupportsFloorandSupportsCeilintoSupportsFloorCeil. - Gets rid of
MANIFEST.innonsense 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_forcache override functions. - Retires
…SCTtuples as unnecessary, especially in light of cache overrides. (Runtimeisinstanceprotocol 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
selfredundancy in__isinstance__checks.
0.0.4
numeraryfinally leaves thedycenest 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.