Releases: GalacticDynamics/unxt
Releases · GalacticDynamics/unxt
Release list
v2.0.0
What's Changed
💥 Breaking Changes
- 💥 boom(unitsystems): no-arg unitsystem() is now dimensionless by @nstarman in #758
- 💥 boom(build): drop Python 3.11; adopt PEP 695 generics for v2.0 by @nstarman in #765
- 💥 boom(unitsystems): make unit-system identity order-independent by @nstarman in #778
✨ New Features
- 🎉 init: unxt-api and unxt-hypothesis by @nstarman in #496
- ✨ feat: Quantity wadler-lindig short-name by @nstarman in #499
- ✨ feat: angles and from_type by @nstarman in #513
- ✨ feat(unxt): parse dim exprs by @nstarman in #520
- ✨ feat(unxt): StaticQuantity by @nstarman in #526
- ✨ feat(all):
uconvert_valuefor value conversion, not requiring Quantity by @nstarman in #550 - dimensions strat + bug fix + guide by @nstarman in #551
- ✨ feat(unxt): runtime configuration via traitlets by @nstarman in #604
- ✨ feat: numpy ufunc support on quantities via array_ufunc by @nstarman in #669
- 🎉 init: unxt-xarray by @nstarman in #498
- Add unxts.api, unxts.hypothesis, unxts.xarray namespace packages by @nstarman in #681
- v2: make the lightweight Quantity the default; rename parametric → ParametricQuantity by @nstarman in #682
- ✨feat:
unxts.parametricby @nstarman in #684 - ✨ feat: add
unxts.linalgpackage (QuantityMatrix) + docs + CI/CD by @nstarman in #686 - ✨ feat(quantity): support format specs, e.g. f"{q:.2f}" by @nstarman in #707
- ✨ feat(config): add config.reload() and deprecate [tool.unxt] section by @nstarman in #714
- 🐛 fix(quantity): unit-blind equality + consistent hash/ne for static quantities by @nstarman in #708
- ✨ feat(units): accept astropy function units (mag/dex/dB) by @nstarman in #759
- ✨ feat(experimental): add unit-checked where() by @nstarman in #764
- ✨ feat: add natural unit systems (Planck, HEP, geometrized, atomic) by @nstarman in #768
- ✨ feat(experimental): make unxt.experimental a public, importable module by @nstarman in #784
- ✨ feat(unxts-linalg): give
QuantityMatrixshort_name "QM" by @nstarman in #795 - ✅ test(unxts-linalg): cover
QuantityMatrixshort_name "QM" by @nstarman in #796
🐛 Bug Fixes
- 🐛 fix(unxt-hypothesis): fix from_type registrations by @nstarman in #525
- 🐛 fix(unxt): fix unregistered primitives by @nstarman in #532
- 🥅 catch(unxt-hypothesis): from_type strategy for StaticQuantity by @nstarman in #540
- 🐛 fix(unxt): StaticQuantity rich comparisons by @nstarman in #543
- 🐛 fix(unxt): StaticQuantity - Quantity, Quantity mod by @nstarman in #545
- 🥅 catch: trim whitespace from dimension names in regex match by @nstarman in #555
- 🐛 fix(unxt): fix Q repr in jax tracebacks by @nstarman in #567
- 🐛 fix(unxt): printing AbstractQuantity under jit by @nstarman in #572
- 🐛 fix(unxt): dataclassish interop by @nstarman in #577
- 🐛 fix(unxt): ne_p by @nstarman in #580
- 🐛 fix(unxt): lt_p dispatch by @nstarman in #582
- 🥅 catch: numpy array args by @nstarman in #584
- 🐛 fix(unxt): get fields of an AbstractQuantity by @nstarman in #599
- 🐛 fix(unxt): printing default-valued Quantity fields by @nstarman in #605
- 🥅 catch: small fixes in test_config by @nstarman in #608
- 🐛 fix(unxt): max(StaticQ, StaticQ) by @nstarman in #615
- 🐛 fix(unxt): StaticQuantity integer pow by @nstarman in #618
- ⬆️ dep-bump: python 3.14 by @nstarman in #659
- 🐛 fix: avoid numpy 2.5 NDArray ScalarT leak under beartype by @nstarman in #672
- 🐛 fix(parametric): make unxts.parametric release-ready by @nstarman in #689
- 🐛 fix(xarray): use u.Q in interop docstrings; ParametricQuantity was removed by @nstarman in #690
- 🐛 fix(unxt): relabel when converting to an equal but differently-named unit by @nstarman in #687
- 🐛 fix(unxt): align v2 quantity public surface (BareQuantity shim + docstrings) by @nstarman in #693
- 🧹 chore(unxt): astropy-interop cosmetics from the v2 audit by @nstarman in #696
- 🐛 fix(unxt): stop OptDeps aliasing the interop packages together by @nstarman in #688
- 🐛 fix(unitsystems): stop SI/CGS/dimensionless singletons corrupting globals by @nstarman in #704
- 🐛 fix(quantity): make StaticValue pickle- and deepcopy-safe by @nstarman in #706
- 🐛 fix(quantity): correct linalg.solve shape and unbreak linalg.inv by @nstarman in #710
- 🐛 fix(dimensions): strip whitespace on simple names; reject unary +/- by @nstarman in #713
- 🐛 fix(quantity): convert angle units in deg2rad/rad2deg numpy ufuncs by @nstarman in #705
- 🐛 fix(quantity): stop unxt * astropy.Quantity silently dropping the unit by @nstarman in #709
- 🐛 fix(quantity): preserve weak_type for scalar quantity values by @nstarman in #715
- 🐛 fix(unxts-linalg): update from_cdict doctests for weak_type values by @nstarman in #724
- 🐛 fix: keep true units for min/max/clamp of scaled-dimensionless quantities by @nstarman in #732
- 🐛 fix(quantity): unpack multiple-results top_k/approx_top_k on quantities by @nstarman in #734
- 🐛 fix(quantity): StaticQuantity dtype preservation + keep static across ops by @nstarman in #731
- 🐛 fix(quantity): give lax.rem_p on quantities truncated-remainder semantics by @nstarman in #740
- 🐛 fix(unxts-linalg): add (Quantity, QuantityMatrix) dot_general rule by @nstarman in #742
- 🐛 fix(interop): register 2-arg ustrip(AllowValue, astropy Quantity) by @nstarman in #737
- 🐛 fix(config): override(cfg) must not reset unmentioned traits by @nstarman in #736
- 🐛 fix(quantity): promote dtypes in ==/<=/>= on quantities by @nstarman in #726
- 🐛 fix(unitsystems): resolve getitem by stored dimension→field pairing by @nstarman in #728
- 🐛 Support Quantity extent in matplotlib imshow by @joseph-long in #725
- 🐛 fix(quantity): let Angle products/quotients degrade to Quantity by @nstarman in #730
- 🐛 fix(quantity): keep StaticQuantity.from_ on NumPy dtypes by @nstarman in #733
- 🐛 fix(quantity): make a 0-d Quantity non-iterable (np.iterable parity) by @nstarman in #738
- 🐛 fix(quantity): stop dimensionless-input math keeping a scaled unit label by @nstarman in #729
- 🐛 fix(interop): relabel unit in astropy uconvert_value by @nstarman in #746
- 🐛 fix: disable the hypothesis deadline suite-wide by @nstarman in #753
- 🐛 fix(ci): import hypothesis defensively in conftest by @nstarman in #754
- 🐛 fix(interop): drop consumed xarray units attr by @nstarman in #748
- 🐛 fix(quantity): compare unit labels in static equality by @nstarman in #749
- 🐛 fix(quantity): coerce astropy operands...
unxts-linalg-v2.0.1
For some reason #795 was not released with v2.0.0, despite being on the target branch. This release tries to include that commit.
Full Changelog: v2.0.0...unxts-linalg-v2.0.1
unxt-v1.11.4
What's Changed
- Backport PR #669 on branch versions/v1.11.x (✨ feat: numpy ufunc support on quantities via array_ufunc) by @meeseeksmachine in #670. This fixes the problems of calling a numpy function on a unxt quantity and having it silently delete the units.
Full Changelog: unxt-v1.11.3...unxt-v1.11.4
unxt-v1.11.3
What's Changed
📝 Documentation
- Backport PR #666 on branch versions/v1.11.x (build(deps): bump quax to >=0.3.4) by @nstarman in #667
Full Changelog: unxt-v1.11.2...unxt-v1.11.3
unxt v1.11.2
What's Changed
📝 Documentation
🔧 Configuration & Dependencies
- Backport PR #622 on branch versions/v1.11.x (👷 build: update conftest myst parsers) by @meeseeksmachine in #624
🏗️ Architecture & Infrastructure
- Backport PR #626 on branch versions/v1.11.x (Harden PR auto-labeling with pull_request → workflow_run artifact handoff) by @meeseeksmachine in #628
- Backport PR #655 on branch versions/v1.11.x (Fix auto-label PR workflow validation for fork commit SHAs) by @meeseeksmachine in #658
Full Changelog: unxt-v1.11.1...unxt-v1.11.2
unxt v1.11.1
What's Changed
🐛 Bug Fixes
- Backport PR #615 on branch versions/v1.11.x (🐛 fix(unxt): max(StaticQ, StaticQ)) by @meeseeksmachine in #616
- Backport PR #618 on branch versions/v1.11.x (🐛 fix(unxt): StaticQuantity integer pow) by @meeseeksmachine in #619
🏗️ Architecture & Infrastructure
- Backport PR #611 on branch versions/v1.11.x (🔨 script: CD TestPyPI on main) by @meeseeksmachine in #613
Full Changelog: v1.11.0...unxt-v1.11.1
unxt v1.10.6
What's Changed
🐛 Bug Fixes
- Backport PR #619 on branch versions/v1.10.x (🐛 fix(unxt): StaticQuantity integer pow) by @meeseeksmachine in #620
Full Changelog: unxt-v1.10.5...unxt-v1.10.6
v1.11.0
What's Changed
✨ New Features
🐛 Bug Fixes
- 🐛 fix(unxt): fix Q repr in jax tracebacks by @nstarman in #567
- 🐛 fix(unxt): printing AbstractQuantity under jit by @nstarman in #572
- 🐛 fix(unxt): dataclassish interop by @nstarman in #577
- 🐛 fix(unxt): ne_p by @nstarman in #580
- 🐛 fix(unxt): lt_p dispatch by @nstarman in #582
- 🥅 catch: numpy array args by @nstarman in #584
- 🐛 fix(unxt): get fields of an AbstractQuantity by @nstarman in #599
- 🐛 fix(unxt): printing default-valued Quantity fields by @nstarman in #605
- 🥅 catch: small fixes in test_config by @nstarman in #608
⚡️ Performance
📝 Documentation
- 📝 docs(unxt-hypothesis): update strategies enumeration and explanation by @nstarman in #557
- 📝 docs(unxt): update dimensions by @nstarman in #575
- 📝 docs(unxt): performance by @nstarman in #586
- Fix HTML formatting in README badges by @nstarman in #594
- 📝 docs: prettier no break markdown by @nstarman in #601
- 📝 docs: joss preprint by @nstarman in #602
🎨♻️ Code Quality & Refactoring
- 🎨 style(unxt): clean up an import by @nstarman in #574
- 🔨 script: fix tagging system for CD by @nstarman in #607
✅ Testing
🔧 Configuration & Dependencies
- ⬆️ dep-bump(unxt): keep unxt-api minor version in lock-step by @nstarman in #569
- ⬆️ dep-bump: bump plum>=2.7.0 by @nstarman in #589
🏗️ Architecture & Infrastructure
- Add OSSAR workflow for static analysis by @nstarman in #573
- 🔨 script: fix CD triggers (#607) by @nstarman in #610
🏷️ Types & Validation
- 🏷️ types(unxt-hypothesis): add py.typed marker by @nstarman in #559
- 🏷️ types(unxt-api): add py.typed marker by @nstarman in #563
Full Changelog: unxt-v1.10.5...v1.11.0
unxt-v1.10.5
What's Changed
🐛 Bug Fixes
- Backport PR #599 on branch versions/v1.10.x (🐛 fix(unxt): get fields of an AbstractQuantity) by @meeseeksmachine in #600
⚡️ Performance
- Backport PR #597 on branch versions/v1.10.x (⚡️ perf: register usys as static) by @meeseeksmachine in #598
📝 Documentation
- Backport PR #601 on branch versions/v1.10.x (📝 docs: prettier no break markdown) by @meeseeksmachine in #603
✅ Testing
- Backport PR #607 on branch versions/v1.10.x (🔨 script: fix tagging system for CD) by @meeseeksmachine in #609
- Backport PR #595 on branch versions/v1.10.x (🔨 script: update tagging system for CD) by @meeseeksmachine in #596
- Backport PR #605: fix printing of default-valued Quantity fields by @Copilot in #606
Full Changelog: unxt-v1.10.4...unxt-v1.10.5
unxt-v1.10.4
What's Changed
🐛 Bug Fixes
- Backport PR #584 on branch versions/v1.10.x (🥅 catch: numpy array args) by @meeseeksmachine in #585
📝 Documentation
- Backport PR #586 on branch versions/v1.10.x (📝 docs(unxt): performance) by @meeseeksmachine in #587
🔧 Configuration & Dependencies
Full Changelog: unxt-v1.10.3...unxt-v1.10.4