PyOctaveBand 1.2.2__tar.gz → 1.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/PKG-INFO +1 -1
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/pyproject.toml +1 -1
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/PyOctaveBand.egg-info/PKG-INFO +1 -1
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/PyOctaveBand.egg-info/SOURCES.txt +1 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/__init__.py +0 -4
- pyoctaveband-1.2.3/src/pyoctaveband/_version.py +1 -0
- pyoctaveband-1.2.3/tests/test_matplotlib_backend.py +38 -0
- pyoctaveband-1.2.2/src/pyoctaveband/_version.py +0 -1
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/LICENSE +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/README.md +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/setup.cfg +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/PyOctaveBand.egg-info/dependency_links.txt +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/PyOctaveBand.egg-info/requires.txt +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/PyOctaveBand.egg-info/top_level.txt +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/calibration.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/core.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/filter_design.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/frequencies.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/parametric_filters.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/src/pyoctaveband/utils.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_advanced.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_audio_processing.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_basic.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_errors_and_edge_cases.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_filter_design.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_multichannel.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_nominal_frequencies.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_parametric.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_parametric_filters.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_performance.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_signal_theory_limits.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_stateful_octave_filter_bank.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_stateful_weighting_filter.py +0 -0
- {pyoctaveband-1.2.2 → pyoctaveband-1.2.3}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyOctaveBand
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.3
|
|
4
4
|
Summary: Octave-Band and Fractional Octave-Band filter for signals in time domain.
|
|
5
5
|
Author-email: Jose Manuel Requena Plens <jmrplens@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/jmrplens/PyOctaveBand
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyOctaveBand
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.3
|
|
4
4
|
Summary: Octave-Band and Fractional Octave-Band filter for signals in time domain.
|
|
5
5
|
Author-email: Jose Manuel Requena Plens <jmrplens@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/jmrplens/PyOctaveBand
|
|
@@ -8,7 +8,6 @@ from __future__ import annotations
|
|
|
8
8
|
|
|
9
9
|
from typing import List, Tuple, overload, Literal
|
|
10
10
|
|
|
11
|
-
import matplotlib
|
|
12
11
|
import numpy as np
|
|
13
12
|
|
|
14
13
|
from .calibration import calculate_sensitivity
|
|
@@ -17,9 +16,6 @@ from .frequencies import getansifrequencies, normalizedfreq
|
|
|
17
16
|
from .parametric_filters import WeightingFilter, linkwitz_riley, time_weighting, weighting_filter
|
|
18
17
|
from ._version import __version__
|
|
19
18
|
|
|
20
|
-
# Use non-interactive backend for plots
|
|
21
|
-
matplotlib.use("Agg")
|
|
22
|
-
|
|
23
19
|
# Public methods
|
|
24
20
|
__all__ = [
|
|
25
21
|
"__version__",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.3"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright (c) 2026. Jose M. Requena-Plens
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Tests ensuring the package does not hijack the global matplotlib backend.
|
|
5
|
+
|
|
6
|
+
Importing pyoctaveband must not force a specific (e.g. non-interactive)
|
|
7
|
+
backend, so the package can be used during interactive exploration
|
|
8
|
+
(IPython, Jupyter). See issue #52.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import os
|
|
12
|
+
import subprocess
|
|
13
|
+
import sys
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_import_does_not_override_matplotlib_backend() -> None:
|
|
17
|
+
"""Importing pyoctaveband must preserve the user's chosen backend."""
|
|
18
|
+
code = (
|
|
19
|
+
"import matplotlib\n"
|
|
20
|
+
# Pick an explicit, always-available backend the user might have set.
|
|
21
|
+
"matplotlib.use('svg')\n"
|
|
22
|
+
"before = matplotlib.get_backend()\n"
|
|
23
|
+
"import pyoctaveband\n"
|
|
24
|
+
"after = matplotlib.get_backend()\n"
|
|
25
|
+
"assert before == after, f'backend changed: {before!r} -> {after!r}'\n"
|
|
26
|
+
)
|
|
27
|
+
# Propagate the parent's sys.path so the subprocess can import the package
|
|
28
|
+
# even when it is only on sys.path (e.g. pytest without an installed build).
|
|
29
|
+
env = os.environ.copy()
|
|
30
|
+
env["PYTHONPATH"] = os.pathsep.join(sys.path)
|
|
31
|
+
result = subprocess.run(
|
|
32
|
+
[sys.executable, "-c", code],
|
|
33
|
+
capture_output=True,
|
|
34
|
+
text=True,
|
|
35
|
+
env=env,
|
|
36
|
+
timeout=30,
|
|
37
|
+
)
|
|
38
|
+
assert result.returncode == 0, result.stderr
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|