Cmomy

Latest version: v0.23.4

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

0.11.0

Changed

- Switch to underlying numba functions using `guvectorize`. This significantly
simplifies the code. Previously, we had separate functions for "vector" vs
"scalar" moments. To handle arbitrary vector dimensions, the arrays were
reshaped behind the scenes (to a single "meta" dimension). Now, this is all
handled by the `gufunc` based library code.
- Typing support improved.
- Added `(x)CentralMoments.astype`
- Added `(x)CentralMoments.`
- Added alias `CentralMoments.to_x` which is the same as
`CentralMoments.to_xcentralmoments`.
- Added alias `xCentralMoments.to_c` which is the same as
`xCentralMoments.to_centralmoments`.
- Most constructors now accept `order` and `dtype` arguments.
- Most routines that process central moments accept a `parallel` parameter.
- Instead of complicated internal validation routines in `(x)CentralMoments`,
most of this is now handled by `cmomy.reduction` or similar routines.
- Now using `xr.apply_ufunc` for most of the `xarray.DataArray` based
calculations.

Deprecated

- Removed classmethods `(x)CentralMoments.from_raws`. Instead, use
`(x)CentralMoments.from_raw(...).reduce(...)`.
- Removed classmethods `(x)CentralMoments.from_datas`. Instead, use
`(x)CentralMoments.from_data(...).reduce(...)`.
- Removed classmethod `(x)CentralMoments.from_data`. Instead, use
`(x)CentralMoments(....)`.
- Removed ability to create `xCentralMoments` objects directly from
`numpy.ndarray` objects. (e.g., passing in array-like to
`xCentralmoments.from_vals` doesn't work anymore). Instead use
`CentralMoments.from_vals(....).to_xcentralmoments(...)`, etc.
- Removed methods `push_stat`, `push_stats`, `from_stat`, `from_stats`. Instead
use, for example, `numpy.concatenate`, to combine weights, average, and
variance into a `data` array. A helper function may be added if called for.
- `(x)CentralMoments.resample_and_reduce` and
`(x)CentralMoments.from_resample_vals` no longer accept `nrep=...` or
`indices=...`. They only accept `freq=...`.

0.9.0

Changed

- Can now resample with an arbitrary number of samples. Previously, it was
assumed that resampling should be done with a shape `(nrep, ndat)`, where
`nrep` is the number of replicates and `ndat` is the shape of the data along
the resampled axis. Now you can pass sample with shape `(nrep, nsamp)` where
`nsamp` is the specified number of samples in a replicate (defaulting to
`ndat`). This allows users to do things like jacknife resampling, etc, with
`resample_and_reduce` methods.
- Preliminary support for using type hints in generated documentation. The
standard sphinx autodoc support doesn't quite work for `cmomy`, as it requires
type hints to be accessible at run time, and not in `TYPE_CHECKING` blocks.
Instead, we use
[`sphinx_autodoc_type`](https://github.com/tox-dev/sphinx-autodoc-typehints).
This has the downside of expanding type aliases, but handles (most things)
being in `TYPE_CHECKING` blocks. Over time, we'll replace some of the explicit
parameter type documentation with those from type hints.
- Fixed creation of templates in reduction routines of `xCentralMoments`.
Previously, we build the template for the result using something like
`da.isel(dim=0)`. This kept scalar coordinates of `da` with `dim`. Now we use
`da.isel(dim=0, drop=True)` to drop these.
- Updated dependencies.

0.8.0

Added

- Added `to_values` method to access underlying array data. This should be
preferred to `.values` attribute.
- Added `to_numpy` method to access underlying `numpy.ndarray`.
- Added `to_dataarray` method to access underlying `xarray.DataArray` in
`xCentralMoment s`

- Added submodule `cmomy.random` to handle random numbers generation. This uses
`numpy.random.Generator` behind the scenes.
- Updated `ruff` lintering rules
- Now using `hatchling` for package building
- Update repo template

Changed

- Now CentralMoments and xCentralMoments ensure that data/data_flat share
memory. This may result in passed data not being the same as the internal
data, if reshaping data creates a copy.
- Made little used arguments keyword only

0.7.0

Added

- Now use [lazy_loader](https://github.com/scientific-python/lazy_loader) to
speed up initial load time.

- Now using `module_utilities >=0.6`.
- Changed from `custom-inherit` to `docstring-inheritance`
- Now fully supports typing (passing mypy --stict and pyright)
- Relocated numba functions to submodule `cmomy._lib`.

Changed

- Moved tests to top level of repo (`src/cmomy/tests` to `tests`)

0.5.0

Added

- Package now available on conda-forge

- Bumped maximum python version to 3.11

[`v0.4.1...v0.5.0`](https://github.com/usnistgov/cmomy/compare/v0.4.1...v0.5.0)

Changed

- Testing now handled with nox.

0.4.0

Added

- Moved module `_docstrings_` to `docstrings`. This can be used by other
modules.

Changed

- Update package layout
- New linters via pre-commit
- Development env now handled by tox

- Now use `module-utilities` to handle caching and docfiller.

[`v0.3.0...v0.4.0`](https://github.com/usnistgov/cmomy/compare/v0.3.0...v0.4.0)

Page 3 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.