Acoular

Latest version: v25.3.post1

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

Scan your dependencies

Page 1 of 2

25.03

**New features:**
* Introduces `rps` trait in class `acoular.environments.FlowField`, that now correctly defines direction of rotation

**Documentation**
* add known issue section to install guide
* adds new docstrings to submodules `acoular.spectra`, `acoular.environments`, `acoular.fprocess`, `acoular.process`, `acoular.signals`, `acoular.sources`, `acoular.trajectory`

**Internal**
* fix broken meta.yaml (adds conda build stage to CI)

25.01

**New features:**
- Consistently use `file` as an attribute to specify a filename (instead of `from_file` or `name`).
- Consistently use `n_iter` in beamformer algorithms that require setting a fixed or maximum number of iterations (e.g., `max_iter` deprecated).
- Adds new function `acoular.tools.helper.c_air` to calculate the speed of sound from temperature and humidity.
- `acoular.calib.Calib` can now be used as a separate processing block.
- Enable varying block buffer sizes for `acoular.process.SampleSplitter`.
- Replaces `HasPrivateTraits` with `HasStrictTraits` and `ABCHasStrictTraits` for better implementation of ABCs.
- Allow Path objects to specify the caching and time data directory via `acoular.Config`.
- Adds new abstract base classes `acoular.signals.PeriodicSignalGenerator` and `acoular.signals.NoiseGenerator`.
- Adds support for Python 3.13.

**Bugfixes**
- Pass missing `n_iter` as an argument to `LassoLarsCV` in `acoular.fbeamform.BeamformerGIB` (otherwise, `LassoLarsCV` runs up to 500 iterations).
- Fix broken `pylops` solvers in `acoular.fbeamform.BeamformerCMF`.
- Fixes negative values in source maps obtained with the solvers `LassoLars`, `LassoLarsCV`, and `LassoLarsBIC`.
- Fix use of `Trait()` factory and replace by `Enum`, `Instance`, `Map`, `Union`.
- Fix use of deprecated `CLong`, `Long`, and `ListInt` traits.
- The previously broken example in the main `README` now runs out of the box.

**Documentation**
- Adds guide on how to submit a pull request.
- Adds `intersphinx` extension to cross-link documentation from other projects.
- Updates examples to use a right-hand coordinate system.

**Tests**
- Tests now consequently use `pytest` framework instead of `unittest`.
- Separate tests into `tests/regression` and `tests/unittests` directories.
- Increases coverage to 76%.
- Introduces snapshot/regression testing for all `acoular.base.Generator`, `acoular.fbeamform.BeamformerBase`, `acoular.environments.FlowField`, and `acoular.environments.Environment` derived classes (results in new snapshot data of size 1.1MB, see `tests/regression/_regtest_output`).
- Use `pytest-cases` to separate parameters from tests (cases are located under `tests/cases`).
- Full coverage of `sdinput.py` module through the use of `pytest-mock` (mocks the behavior of an `InputStream` object, which cannot be used for CI due to missing audio interfaces).
- Linting and formatting for tests directory.
- Refactor `acoular.h5cache.HDF5Cache` class due to a bug encountered with the new tests (`acoular` now can handle changing caching directories during a session. Previously, only the basename was observed, which caused problems with changing cache directories).
- Tests now log the 10 slowest test runs.
- Adds `profile` options to hatch test environment to profile test run via `hatch run tests:profile` and save a `graphviz` chart as an SVG file.
- Test AIAA benchmark classes with the benchmark data.
- Test `aperture`, `center`, `export_mpos` functions in `acoular.microphones.MicGeom`.
- Fix a typo in `AngleTracker` that led to a property being incorrectly accessed.
- Exclude jited functions from test coverage report.
- Treat warnings as errors in tests.
- Recursively test for empty dependencies in `Property` traits that are depended on.

**Internal**
- Adds a pull request template.
- Dynamically set the version in the `pyproject.toml` file (from `version.py`).
- Activates maximum line length enforcement of 120 and 100 for comments and docstrings.
- Adds CI workflow for inspecting regression test outputs.
- Adds action that automatically assigns a team member to newly opened pull requests.
- `depends_on` now

24.10

**New features:**
- Sounddevice inputs now allow for user-settable sample rates and precision types
- Block-wise frequency domain processing
- Introduces new `acoular.base` module with abstract base classes:
`~acoular.base.Generator`, `~acoular.base.SpectraGenerator`, `~acoular.base.InOut`,
`~acoular.base.TimeOut`, `~acoular.base.SpectraOut`
- Introduces new module `acoular.fprocess` including new frequency domain processing
classes: `~acoular.fprocess.RFFT`, `~acoular.fprocess.IRFFT`,
`~acoular.fprocess.AutoPowerSpectra`, `~acoular.fprocess.CrossPowerSpectra`
- Introduces new module `acoular.process` including general purpose (domain invariant)
processing classes: `~acoular.process.Cache`, `~acoular.process.Average`,
`~acoular.process.SampleSplitter`
- Rename `~acoular.tprocess.MaskedTimeInOut` to `~acoular.tprocess.MaskedTimeOut`
- Deprecates: `~acoular.base.TimeInOut`, `~acoular.fprocess.FFTSpectra`,
`~acoular.process.TimeAverage`, `~acoular.tprocess.MaskedTimeInOut`,
`~acoular.process.TimeCache`
- Adds unittests: `test_process.py`, `test_fprocess.py`
- Adds documentation example: `example_fft.py`
- Allows more platforms to build the docs files including Linux, macOS, and Windows

**Bugfixes**
- Flush file in `~acoular.tprocess.TimeCache` to prevent data loss/corruption
- Fixes use of already deprecated traits
- Fixes import order to avoid deactivation of parallelization in numba
- Fixes `numpy.matlib` deprecation warning

**Documentation**
- Updates literature and adds `sphinxcontrib-bibtex` extension to support BibTeX citation
- Cleans up and structures the `conf.py` file and fixes missing Acoular logo in documentation
- Fixes missing and incorrect docstrings for `result` methods in `~acoular.tbeamform`
- Improves explanation of installation dependencies
- Adds explanation on how to test specific Python versions
- Tests documentation build on all latest platforms

**Internal**
- Refactoring of classes in `~acoular.tbeamform` (moves buffer logic away from Beamformer classes)
- Adds new `~acoular.tools.utils.SamplesBuffer` class located in `~acoular.tools.utils`
- Replaces markdown-link-check with `lychee`:
- Faster CI (written in RUST)
- Allows more files to be checked, including `.rst` files in documentation
- Adds a cron job that runs daily
- Sets final version for several deprecated traits (to be removed in version 25.01)
- Uses `scipy.linalg` consistently over `numpy.linalg`
- Drops support for Python 3.8 and 3.9
- Enables Numpy version > 2.0
- Runs unittests on the latest macOS

24.07

**New features**:
* Implement a lazy result array for `acoular.fbeamform.BeamformerBase` derived classes (https://github.com/acoular/acoular/pull/280)
* Adds flow establishment length traits (https://github.com/acoular/acoular/pull/265)
* Updates acoular demo with ASCII map and gets rid of writing file (https://github.com/acoular/acoular/pull/262)

**Bugfixes**:
* temporary fix to PyTables - NumPy 2.0 incompatibility problem (https://github.com/acoular/acoular/pull/279)
* Fixes `acoular.fbeamform.BeamformerGridlessOrth` `shgo` params and `eva_list` initial value bug (https://github.com/acoular/acoular/pull/282)
* makes `acoular.sdinput.SoundDeviceSamplesGenerator` always importable (https://github.com/acoular/acoular/pull/270)

**Internal**:
* use hatch for publishing the Acoular package (https://github.com/acoular/acoular/pull/261)
* add issue templates (https://github.com/acoular/acoular/pull/273)
* adds Conda CI (https://github.com/acoular/acoular/pull/260)
* CI for TestPyPI and PyPI (https://github.com/acoular/acoular/pull/259)
* remove `plot_example.py` (https://github.com/acoular/acoular/pull/255)
* add autolabel rule for `fix` and `linting` (https://github.com/acoular/acoular/pull/277)
* fix linting rules (https://github.com/acoular/acoular/pull/276)
* add zenodo release to `CITAITON.cff` (https://github.com/acoular/acoular/pull/257)
* adds Contributing section in docs, update examples (https://github.com/acoular/acoular/pull/287)

24.05

* adds support for Python version 3.12 on Linux, MacOS, Windows
* drops official support for Python version 3.7
* provides new tools to import data in AIAA array benchmark format (https://github.com/acoular/acoular/pull/248)

Bugfixes:
* changes to UMA-16 microphone array arrangement (https://github.com/acoular/acoular/pull/249)

Internal:
* formatting and linting with ruff (https://github.com/acoular/acoular/pull/229, https://github.com/acoular/acoular/pull/245)
* introduce hatch (https://github.com/acoular/acoular/pull/232)
* test coverage (https://github.com/acoular/acoular/pull/241)
* replace `zenodo.json` by `CITATION.cff` file (https://github.com/acoular/acoular/pull/223)
* bugfixes CI (https://github.com/acoular/acoular/pull/218)
* update LICENSE (https://github.com/acoular/acoular/pull/221)
* adds code of conduct (https://github.com/acoular/acoular/pull/222)
* allow workflow dispatch for testing on different branches (https://github.com/acoular/acoular/pull/250)
* refine package structure
* move test directory (https://github.com/acoular/acoular/pull/230)
* remove outdated submodules (https://github.com/acoular/acoular/pull/244)
* new submodule `acoular/tools` (https://github.com/acoular/acoular/pull/248)
* improve documentation (https://github.com/acoular/acoular/pull/243)

24.03

* Improve test coverage for `BeamformerCMF`
* Changes to `BeamformerSODIX`
* correction of wrong cost-function
* speedups through the use of Numpy's `einsum_path` together with `einsum` function
* changed start value `pgtol` for the optimization with `scipy.optimize.fmin_l_bfgs_b` solver
* Bugfixes:
* fixes unrecognized sector arguments in `MetricEvaluator`
* handles version-dependent default values for `normalize` attribute in sklearn solvers (relevant for `BeamformerCMF` )
* fixes bug in `BeamformerOrth`: assigned strongest source at grid index 0 when instead of `eva_list` the trait `n` was given
* fixes broken `SpatialInterpolator`
* minor bugfix for single microphone transfer functions calculated with `SteeringVector`
* fixes broken `NNLS` method in `BeamformerCMF` (wrong keyword argument `normalize`)
* Internal:
* new GitHub workflow for CI of the documentation
* added Zenodo metadata file
* changes to author name in `pyproject.toml`

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.