python-librosa/python-librosa.spec
Markéta Machová 521a3cf778 Accepting request 1105311 from home:bnavigator:branches:devel:languages:python:numeric
- Update to 0.10.1
  * VQT octave boundaries by @bmcfee in #1677
  * redoing 0.10.0.post1 release by @bmcfee in #1684
  * Pin pooch < 1.7 by @bmcfee in #1686
  * Post-release 2 for 0.10.0, pin pooch by @bmcfee in #1687
  * Stricter checks on yin/pyin parameters by @bmcfee in #1693
  * bumping sphinx config, fixes #1671 by @bmcfee in #1699
  * fixed bins_per_octave's docs type float to int by @kyaryunha in
    #1703
  * add volume adjustment(rms-mean) at pitch_shift by @kyaryunha in
    #1704
  * Several small documentation updates by @bmcfee in #1713
  * pin numpy version to < 1.24 in doc environment by @bmcfee in
    #1714
  * fixed broken 'latest' link generator by @bmcfee in #1716
  * README.md typo fix by @Zenitismus in #1706
  * CI for documentation builds by @bmcfee in #1718
  * reworked lazy loading of matplotlib by @bmcfee in #1722
  * Advanced example for patch generation by @bmcfee in #1719
  * support pooch >= 1.7 by @bmcfee in #1727
  * Consistent conversion of time duration/offset to sample counts
    by @bmcfee in #1726
  * Update tests for scipy 1.11 by @bmcfee in #1731
- Update to 0.10.0.post2
  * This maintenance release updates the dependency specifications
    to avoid an incompatibility with pooch >= 1.7.0. This
    restriction only affects loading of specific example files, and
    does not otherwise affect functionality of the library.
- Releae 0.10.0
  * This release provides many speedups and enhancements to core
    operations, faster importing and loading, and full type
    annotations.
  ## New features
  * #1485 Added support for “h” (hours) and “m” (minutes) in
    librosa.display.TimeFormatter. Vincent Lostanlen
  * #1495 Expanded options for bandwidth calculation in
    librosa.segment.recurrence_matrix and
    librosa.segment.cross_similarity. Tom Xi
  * #1529 Accelerated utility functions for squared magnitude
    librosa.util.abs2 and librosa.util.phasor. Brian McFee
  * #1514 librosa.stft support for pre-allocated output arrays.
    Brian McFee
  * #1533 Accelerated librosa.util.localmax and
    librosa.util.localmin. Brian McFee
  * #1552 EXPERIMENTAL Support for just-intonation based variable-Q
    transforms librosa.vqt and functional just system (FJS)
    notation. Brian McFee, Vincent Lostanlen
  * #1579 Imports are now done lazily, significantly reducing
    startup time. It is not longer necessary to explicitly import
    librosa.display. Brian McFee
  * #1587, #1632, #1637 Type annotations. Matan Gover, Brian McFee,
    Fabian Keller
  * #1647 Harmonic spectrum interpolation librosa.f0_harmonics and
    tempogram ratio features librosa.feature.tempogram_ratio. Brian
    McFee
  ## Bug fixes
  * #1560 Corrected an error in bandwidth estimation for window
    functions that take on negative sample values. Brian McFee
  * #1571 Fixed rounding error in multirate filterbank calculation
    of sampling rates. Brian McFee
  * #1594 Fixed incorrect use of deprecated numpy numerical types.
    Mattia Di Gangi
  * #1596 Fixed harmonic interpolation for recent scipy releases.
    Brian McFee
  ## API changes
  * #1561 librosa.resample now supports axis= for all sample rate
    conversion backends. Brian McFee
  * #1572 Notation conversion (e.g., librosa.midi_to_note) now
    vectorizes operations, and produces numpy.ndarray outputs
    rather than list when given iterable inputs. Brian McFee
  * #1625 Deprecations now raise FutureWarning instead of
    DeprecationWarning.
  * #1625 librosa.get_duration parameter filename has been renamed
    to path. Brian McFee
  * #1643 Removed support for threshold=None in
    librosa.zero_crossings. Brian McFee
  * #1665 Fixed overflow bug in librosa.feature.rms on integer
    inputs. Brian McFee
  ## Deprecations
  * #1521 Removed backward compatibility support for positional
    arguments that are now keyword-only. Brian McFee
  * #1577 Removed official support for python 3.6. Brian McFee
  * #1625 The audioread backend is now deprecated and will be
    removed in a future release. Brian McFee
  ## Other changes
  * #1501 Infer square / equal plot dimensions for compatible x/y
    axes in librosa.display.specshow. Kian Eliasi
  * #1535 Standardized integer type checks throughout the library.
    Alexandre Chabot-Leclerc
  * #1539 Refactored librosa.display.AdaptiveWaveplot to allow
    callback disconnection. Brian McFee
  * #1548 Removed deprecated ‘hanning’ window specification from
    tests. Brian McFee
  * #1551 Removed dependency on contextlib2. Steve Kowalik
  * #1565 Efficiency improvements to librosa.autocorrelate. Brian
    McFee
  * #1566 Changed the default sample rate conversion method from
    kaiser_best (resampy) to soxr_hq (soxr). Brian McFee
  * #1581 Updated tests for numpy 1.23 compatibility. Brian McFee
  * #1617 Accelerated librosa.yin implementation. Brian McFee
  * #1640 Updated display module dependencies to require matplotlib
    >= 3.3. Brian McFee
  * #1643 Accelerated librosa.zero_crossings implementation. Brian
    McFee
  * #1646 Added support for transposed (vertical) display of
    waveforms. Brian McFee
- Drop patches
  * remove-contextlib2.patch
  * skip-test-data-missing-tests.patch
  * update-tests-for-numpy-123.patch
  * remove-hanning-from-tests.patch
  * update-for-numpy-124.patch

OBS-URL: https://build.opensuse.org/request/show/1105311
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=33
2023-08-22 19:02:55 +00:00

142 lines
5.3 KiB
RPMSpec

#
# spec file for package python-librosa
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define static_test_data_commit 72bd79e448829187f6336818b3f6bdc2c2ae8f5a
Name: python-librosa
Version: 0.10.1
Release: 0
Summary: Python module for audio and music processing
License: CC-BY-3.0 AND ISC
URL: https://github.com/librosa/librosa
# The github archive has the tests
Source0: https://github.com/librosa/librosa/archive/%{version}.tar.gz#/librosa-%{version}.tar.gz
Source1: librosa-create-pooch-cache.py
# Pooch test data. Use librosa-create-pooch-cache.py to create this file
Source2: librosa-pooch-cache.tar.gz
# Static test data
Source3: https://github.com/librosa/librosa-test-data/archive/%{static_test_data_commit}.tar.gz#/librosa-static-test-data-%{version}.tar.gz
BuildRequires: %{python_module SoundFile >= 0.12.1}
BuildRequires: %{python_module audioread >= 2.1.9}
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module decorator >= 4.3.0}
BuildRequires: %{python_module joblib >= 0.14}
BuildRequires: %{python_module lazy_loader >= 0.1}
BuildRequires: %{python_module msgpack >= 1.0}
BuildRequires: %{python_module numba >= 0.51.0}
BuildRequires: %{python_module numpy >= 1.22.3}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pooch >= 1.0 with %python-pooch < 1.7}
BuildRequires: %{python_module scikit-learn >= 0.20.0}
BuildRequires: %{python_module scipy >= 1.2.0}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module soxr >= 0.3.2}
BuildRequires: %{python_module typing_extensions >= 4.1.1}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-SoundFile >= 0.12.1
Requires: python-audioread >= 2.1.9
Requires: python-decorator >= 4.3.0
Requires: python-joblib >= 0.14
Requires: python-lazy_loader >= 0.1
Requires: python-msgpack >= 1.0
Requires: python-numba >= 0.51.0
Requires: python-numpy >= 1.22.3
Requires: python-scikit-learn >= 0.20.0
Requires: python-scipy >= 1.2.0
Requires: python-soxr >= 0.3.2
Requires: python-typing_extensions >= 4.1.1
Requires: (python-pooch >= 1.0 with python-pooch < 1.7)
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module matplotlib >= 3.3.0}
BuildRequires: %{python_module packaging >= 20.0}
BuildRequires: %{python_module pytest-mpl}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module resampy >= 0.2.2}
BuildRequires: %{python_module samplerate}
BuildRequires: ffmpeg
# /SECTION
%python_subpackages
%description
LibROSA is a python package for music and audio analysis. It provides
the building blocks necessary to create music information retrieval
systems.
%prep
%autosetup -p1 -n librosa-%{version} -a 2
pushd tests/data
tar xf %{SOURCE3} --strip-components=1
popd
# Remove unneeded shebangs
find librosa -name "*.py" -exec sed -i -e '/^#!\//, 1d' {} \;
# don't measure test coverage
sed -i '/addopts/ s/--cov-report.*--cov-report=xml//' setup.cfg
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
export LIBROSA_DATA_DIR=$PWD/librosa-pooch-cache
# image files do not match without exact mpl version
donttest="test_display"
# fails with current Tumbleweed
donttest+=" or test_pyin_multi_center"
# Overflow on 32-bit
if [ $(getconf LONG_BIT) -eq 32 ]; then
donttest+=" or test_tempo or test_hybrid_cqt or test_stft_winsizes"
donttest+=" or test_istft_reconstruction or test_trim"
donttest+=" or test_multichannel"
donttest+=" or test_time_stretch_multi"
donttest+=" or test_piptrack_properties"
donttest+=" or test_pitch_shift_multi"
donttest+=" or test_split_multi"
donttest+=" or test_hpss_multi"
donttest+=" or test_nn_filter_multi"
donttest+=" or (test_nnls_multiblock and 256)"
donttest+=" or (test_rms and (4096 or 4097))"
fi
# Flaky segfaults when run in parallel, upstream does not test with xdist
notparallel="test_piptrack"
notparallel+=" or (test_onset_strength_audio and chroma_stft)"
notparallel+=" or test_localmax"
notparallel+=" or test_localmin"
notparallel+=" or test_yin"
notparallel+=" or test_pyin"
notparallel+=" or test_tonnetz"
notparallel+=" or test_remix"
notparallel+=" or test_chroma"
notparallel+=" or test_estimate_tuning"
notparallel+=" or test_zero_crossings"
%pytest -k "not (${donttest} or ${notparallel})" -n auto
%pytest -k "not (${donttest}) and (${notparallel})"
%files %{python_files}
%doc AUTHORS.md README.md
%license LICENSE.md
%{python_sitelib}/librosa
%{python_sitelib}/librosa-%{version}.dist-info
%changelog