Skip to content

Releases: GalacticDynamics/unxt

v2.0.0

Choose a tag to compare

@nstarman nstarman released this 24 Jul 16:06
26f8c18

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_value for 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.parametric by @nstarman in #684
  • ✨ feat: add unxts.linalg package (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 QuantityMatrix short_name "QM" by @nstarman in #795
  • ✅ test(unxts-linalg): cover QuantityMatrix short_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...
Read more

unxts-linalg-v2.0.1

Choose a tag to compare

@nstarman nstarman released this 24 Jul 18:37
26f8c18

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

Choose a tag to compare

@nstarman nstarman released this 29 Jun 13:16
ef0857c

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

Choose a tag to compare

@nstarman nstarman released this 11 Jun 20:14
07e9d64

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

Choose a tag to compare

@nstarman nstarman released this 08 May 21:04
0be3fdc

What's Changed

📝 Documentation

🔧 Configuration & Dependencies

🏗️ 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

Choose a tag to compare

@nstarman nstarman released this 25 Mar 00:37
3187a6b

What's Changed

🐛 Bug Fixes

🏗️ Architecture & Infrastructure

Full Changelog: v1.11.0...unxt-v1.11.1

unxt v1.10.6

Choose a tag to compare

@nstarman nstarman released this 25 Mar 00:45
4795601

What's Changed

🐛 Bug Fixes

Full Changelog: unxt-v1.10.5...unxt-v1.10.6

v1.11.0

Choose a tag to compare

@nstarman nstarman released this 10 Mar 14:21
2c652c2

What's Changed

✨ New Features

  • ✨ feat(unxt): runtime configuration via traitlets by @nstarman in #604

🐛 Bug Fixes

⚡️ Performance

📝 Documentation

🎨♻️ Code Quality & Refactoring

✅ 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

🏷️ 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

Choose a tag to compare

@nstarman nstarman released this 10 Mar 13:50
dce7d2f

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

📝 Documentation

✅ 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

Choose a tag to compare

@nstarman nstarman released this 28 Feb 15:43
00301ad

What's Changed

🐛 Bug Fixes

📝 Documentation

🔧 Configuration & Dependencies

  • Backport PR #589 on branch versions/v1.10.x (⬆️ dep-bump: bump plum>=2.7.0) by @Copilot in #592

Full Changelog: unxt-v1.10.3...unxt-v1.10.4