From acbc9408e9c93630dc240e798da7aacb0a03abd8 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 15:45:11 +0100 Subject: [PATCH 01/12] [CC] scidatatool suppressed from the requirements --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6e94ff33..e232b8fc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,3 @@ numpy scipy pytest matplotlib -scidatatool From 196cddeb83b8e9b3bea5c0ef22f5bc78117531e0 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:17:57 +0100 Subject: [PATCH 02/12] [CC] pytest as optional package --- tests/Audio/test_Audio.py | 11 ++++++++++- tests/loudness/test_loudness_ecma.py | 9 +++++++-- tests/loudness/test_loudness_zwicker_stationary.py | 12 +++++++++--- tests/loudness/test_loudness_zwicker_time.py | 13 ++++++++----- tests/noct_spectrum/test_noct_spectrum.py | 9 +++++++-- tests/roughness/test_roughness.py | 10 ++++++++-- tests/sharpness/test_sharpness.py | 10 ++++++++-- tests/tonality_tnr_pr/test_pr.py | 9 ++++++++- tests/tonality_tnr_pr/test_tnr.py | 9 ++++++++- 9 files changed, 73 insertions(+), 19 deletions(-) diff --git a/tests/Audio/test_Audio.py b/tests/Audio/test_Audio.py index d6bcfb36..ed0827ba 100644 --- a/tests/Audio/test_Audio.py +++ b/tests/Audio/test_Audio.py @@ -4,7 +4,16 @@ @author: Mesure_07 """ -import pytest + +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + + from mosqito.classes.Audio import Audio from mosqito import COLORS diff --git a/tests/loudness/test_loudness_ecma.py b/tests/loudness/test_loudness_ecma.py index aa0c9685..6f602fcf 100644 --- a/tests/loudness/test_loudness_ecma.py +++ b/tests/loudness/test_loudness_ecma.py @@ -1,7 +1,12 @@ # -*- coding: utf-8 -*- -# Third party imports -import pytest +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) import numpy as np # Local application imports diff --git a/tests/loudness/test_loudness_zwicker_stationary.py b/tests/loudness/test_loudness_zwicker_stationary.py index 172b415b..a4b395cf 100644 --- a/tests/loudness/test_loudness_zwicker_stationary.py +++ b/tests/loudness/test_loudness_zwicker_stationary.py @@ -4,10 +4,16 @@ @author martin_g for Eomys """ -# Third party imports +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + + import numpy as np -import matplotlib.pyplot as plt -import pytest # Local application imports from mosqito.functions.loudness_zwicker.loudness_zwicker_stationary import ( diff --git a/tests/loudness/test_loudness_zwicker_time.py b/tests/loudness/test_loudness_zwicker_time.py index d10f3357..fd0342d1 100644 --- a/tests/loudness/test_loudness_zwicker_time.py +++ b/tests/loudness/test_loudness_zwicker_time.py @@ -4,11 +4,14 @@ @author martin_g for Eomys """ -# Third party imports -import numpy as np -import matplotlib.pyplot as plt -import pytest -from pandas import ExcelFile, read_excel +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + # Local application imports from mosqito.functions.loudness_zwicker.comp_loudness import comp_loudness diff --git a/tests/noct_spectrum/test_noct_spectrum.py b/tests/noct_spectrum/test_noct_spectrum.py index 8e2e6001..665dddde 100644 --- a/tests/noct_spectrum/test_noct_spectrum.py +++ b/tests/noct_spectrum/test_noct_spectrum.py @@ -1,5 +1,10 @@ -import pytest -import matplotlib.pyplot as plt +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) import numpy as np from mosqito.functions.noct_spectrum.comp_noct_spectrum import comp_noct_spectrum diff --git a/tests/roughness/test_roughness.py b/tests/roughness/test_roughness.py index 6cc9cbf2..a09f4ef2 100644 --- a/tests/roughness/test_roughness.py +++ b/tests/roughness/test_roughness.py @@ -5,8 +5,14 @@ @author: wantysal """ -# Standard imports -import pytest +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + # Local application imports from mosqito.functions.roughness_danielweber.comp_roughness import comp_roughness diff --git a/tests/sharpness/test_sharpness.py b/tests/sharpness/test_sharpness.py index 10c21813..ca770bfe 100644 --- a/tests/sharpness/test_sharpness.py +++ b/tests/sharpness/test_sharpness.py @@ -5,9 +5,15 @@ @author: wantysal """ -# Standard imports import numpy as np -import pytest +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + # Local application imports from mosqito.functions.shared.load import load diff --git a/tests/tonality_tnr_pr/test_pr.py b/tests/tonality_tnr_pr/test_pr.py index 452b3865..eddd99a8 100644 --- a/tests/tonality_tnr_pr/test_pr.py +++ b/tests/tonality_tnr_pr/test_pr.py @@ -5,7 +5,14 @@ @author: wantysal """ -import pytest +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + # Local application imports from mosqito.functions.shared.load import load diff --git a/tests/tonality_tnr_pr/test_tnr.py b/tests/tonality_tnr_pr/test_tnr.py index d59bb8ab..115b4c15 100644 --- a/tests/tonality_tnr_pr/test_tnr.py +++ b/tests/tonality_tnr_pr/test_tnr.py @@ -5,7 +5,14 @@ @author: wantysal """ -import pytest +# Optional package import +try: + import pytest +except ImportError: + raise RuntimeError( + "In order to perform the tests you need the 'pytest' package." + ) + # Local application imports from mosqito.functions.shared.load import load From 2d87de33ff69d3fb427940d8dbd2c0fc5d4046a7 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:18:25 +0100 Subject: [PATCH 03/12] [CC] SciDataTool as optional package --- mosqito/classes/Audio.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mosqito/classes/Audio.py b/mosqito/classes/Audio.py index 93a8838a..64bb4fb3 100644 --- a/mosqito/classes/Audio.py +++ b/mosqito/classes/Audio.py @@ -5,8 +5,12 @@ @author: wantysal """ -# import SciDataTool objects -from SciDataTool import DataTime, DataLinspace +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None + # import methods from mosqito.functions.shared.load import load @@ -44,6 +48,10 @@ def __init__(self, file, is_stationary=False, calib=1, mat_signal="", mat_fs="") in case of a .mat file, name of the sampling frequency variable """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) # Import audio signal values, fs = load( @@ -54,7 +62,7 @@ def __init__(self, file, is_stationary=False, calib=1, mat_signal="", mat_fs="") ) # Create Data object for time axis - time_axis = DataLinspace( + time_axis = SciDataTool.DataLinspace( name="time", unit="s", initial=0, @@ -66,7 +74,7 @@ def __init__(self, file, is_stationary=False, calib=1, mat_signal="", mat_fs="") # Create audio signal Data object and populate the object self.fs = fs self.is_stationary = is_stationary - self.signal = DataTime( + self.signal = SciDataTool.DataTime( name="Audio signal", symbol="x", unit="Pa", From e22cac1737ea1ce19c7ae85dd6cc35512841de51 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:19:10 +0100 Subject: [PATCH 04/12] [CC] Audio class methods with SciDataTool as optional package --- mosqito/methods/Audio/comp_3oct_spec.py | 21 ++++++++++----- mosqito/methods/Audio/compute_level.py | 16 ++++++++--- mosqito/methods/Audio/compute_loudness.py | 18 +++++++++---- mosqito/methods/Audio/compute_roughness.py | 19 ++++++++----- mosqito/methods/Audio/compute_sharpness.py | 28 ++++++++++++------- mosqito/methods/Audio/compute_tnr_pr.py | 27 ++++++++++++------- mosqito/methods/Audio/compute_welch.py | 31 +++++++++++++++++++--- mosqito/methods/Audio/import_signal.py | 14 +++++++--- 8 files changed, 127 insertions(+), 47 deletions(-) diff --git a/mosqito/methods/Audio/comp_3oct_spec.py b/mosqito/methods/Audio/comp_3oct_spec.py index d15a94f2..d7465e31 100644 --- a/mosqito/methods/Audio/comp_3oct_spec.py +++ b/mosqito/methods/Audio/comp_3oct_spec.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -from numpy import squeeze +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None -from SciDataTool import Data1D, DataTime, DataFreq - -from mosqito.functions.shared.A_weighting import A_weighting from mosqito.functions.loudness_zwicker.calc_third_octave_levels import ( calc_third_octave_levels, ) @@ -26,6 +27,12 @@ def comp_3oct_spec( Filter center frequency of the highest 1/3 oct. band [Hz] """ + + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) + # Compute third octave band spectrum if self.is_stationary: @@ -41,14 +48,14 @@ def comp_3oct_spec( third_spec = 2e-5 * 10 ** (third_spec / 20) # Define axis objects - frequency = Data1D( + frequency = SciDataTool.Data1D( name="freqs", unit="Hz", values=freq_val, ) axes = [frequency] if not self.is_stationary: - time = Data1D( + time = SciDataTool.Data1D( name="time", unit="s", values=time_val, @@ -56,7 +63,7 @@ def comp_3oct_spec( axes.append(time) # Define Data object - self.third_spec = DataFreq( + self.third_spec = SciDataTool.DataFreq( name="Audio signal", symbol="x", axes=axes, diff --git a/mosqito/methods/Audio/compute_level.py b/mosqito/methods/Audio/compute_level.py index f2b9f668..d5a27361 100644 --- a/mosqito/methods/Audio/compute_level.py +++ b/mosqito/methods/Audio/compute_level.py @@ -2,7 +2,11 @@ from numpy import log10, linspace, mean, sqrt -from SciDataTool import Data1D, DataTime +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None def compute_level(self, nb_points=[], start=[], stop=[]): @@ -23,6 +27,12 @@ def compute_level(self, nb_points=[], start=[], stop=[]): SPL in dB """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) + + # Check the inputs if nb_points != []: if type(nb_points) != int: @@ -67,7 +77,7 @@ def compute_level(self, nb_points=[], start=[], stop=[]): # Case of a given number of points if nb_points != []: - time = Data1D( + time = SciDataTool.Data1D( name="time", unit="s", values=linspace(start, stop, num=nb_points) ) @@ -77,7 +87,7 @@ def compute_level(self, nb_points=[], start=[], stop=[]): peff = sqrt(mean(frame_i ** 2)) level.append(10 * log10((peff ** 2 / (2e-05) ** 2))) - self.level = DataTime( + self.level = SciDataTool.DataTime( name="Sound Pressure Level", symbol="SPL", unit="dB", diff --git a/mosqito/methods/Audio/compute_loudness.py b/mosqito/methods/Audio/compute_loudness.py index b83d504e..6a5c8955 100644 --- a/mosqito/methods/Audio/compute_loudness.py +++ b/mosqito/methods/Audio/compute_loudness.py @@ -1,6 +1,10 @@ # -*- coding: utf-8 -*- -from SciDataTool import DataLinspace, DataTime, DataFreq, Data1D +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None from mosqito.functions.loudness_zwicker.loudness_zwicker_stationary import ( loudness_zwicker_stationary, @@ -19,13 +23,17 @@ def compute_loudness(self, field_type="free"): 'free' by default or 'diffuse' """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) # Compute third octave band spetrum if necessary if self.third_spec == None: self.comp_3oct_spec() # define bark_axis - barks = DataLinspace( + barks = SciDataTool.DataLinspace( name="cr_band", unit="Bark", initial=0.1, @@ -49,10 +57,10 @@ def compute_loudness(self, field_type="free"): ) # Get time axis # Decimation from temporal resolution 0.5 ms to 2ms - time = Data1D( + time = SciDataTool.Data1D( name="time", unit="s", values=self.third_spec.get_axes()[1].values[::4] ) - self.loudness_zwicker = DataTime( + self.loudness_zwicker = SciDataTool.DataTime( name="Loudness", symbol="N_{zw}", unit="sone", @@ -61,7 +69,7 @@ def compute_loudness(self, field_type="free"): ) axes = [barks, time] - self.loudness_zwicker_specific = DataFreq( + self.loudness_zwicker_specific = SciDataTool.DataFreq( name="Specific Loudness", symbol="N'_{zw}", unit="sone/Bark", diff --git a/mosqito/methods/Audio/compute_roughness.py b/mosqito/methods/Audio/compute_roughness.py index 190a095f..e683c6c2 100644 --- a/mosqito/methods/Audio/compute_roughness.py +++ b/mosqito/methods/Audio/compute_roughness.py @@ -2,11 +2,13 @@ """ Created on Tue Feb 23 14:05:22 2021 -@author: Salomé +@author: wantysal """ -# Import SciDataTool objects - -from SciDataTool import DataTime, Data1D +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None # Import MOSQITO function from mosqito.functions.roughness_danielweber.comp_roughness import comp_roughness @@ -23,6 +25,11 @@ def compute_roughness(self, method="dw", overlap=0.5): overlapping coefficient for the time windows of 200ms, default is 0.5 """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) + # check the input parameters if method != "dw": raise ValueError("ERROR: method must be 'dw'") @@ -32,9 +39,9 @@ def compute_roughness(self, method="dw", overlap=0.5): R = comp_roughness(self.signal.values, self.fs, overlap) - time = Data1D(name="time", unit="s", values=R["time"]) + time = SciDataTool.Data1D(name="time", unit="s", values=R["time"]) - self.roughness["Daniel Weber"] = DataTime( + self.roughness["Daniel Weber"] = SciDataTool.DataTime( symbol="R_{dw}", axes=[time], values=R["values"], diff --git a/mosqito/methods/Audio/compute_sharpness.py b/mosqito/methods/Audio/compute_sharpness.py index 1fbe6df3..97e2e1e3 100644 --- a/mosqito/methods/Audio/compute_sharpness.py +++ b/mosqito/methods/Audio/compute_sharpness.py @@ -6,8 +6,11 @@ """ import numpy as np -# Import SciDataTool objects -from SciDataTool import DataTime, Data1D +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None # Import MOSQITO functions from mosqito.functions.sharpness.sharpness_aures import comp_sharpness_aures @@ -27,6 +30,11 @@ def compute_sharpness(self, method="din", skip=0.2): number of second to be cut at the beginning of the analysis """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) + # check the input parameters if ( method != "din" @@ -72,14 +80,14 @@ def compute_sharpness(self, method="din", skip=0.2): S = S[cut_index:] # Define time axis - time = Data1D( + time = SciDataTool.Data1D( symbol="T", name="time", unit="s", values=self.loudness_zwicker.get_axes()[0].values[cut_index:], ) - self.sharpness["din"] = DataTime( + self.sharpness["din"] = SciDataTool.DataTime( symbol="S_{DIN}", axes=[time], values=S, name="Sharpness", unit="Acum" ) @@ -111,14 +119,14 @@ def compute_sharpness(self, method="din", skip=0.2): S = S[cut_index:] # Define time axis - time = Data1D( + time = SciDataTool.Data1D( symbol="T", name="time", unit="s", values=self.loudness_zwicker.get_axes()[0].values[cut_index:], ) - self.sharpness["aures"] = DataTime( + self.sharpness["aures"] = SciDataTool.DataTime( symbol="S_{Aures}", axes=[time], values=S, name="Sharpness", unit="Acum" ) @@ -149,14 +157,14 @@ def compute_sharpness(self, method="din", skip=0.2): S = S[cut_index:] # Define time axis - time = Data1D( + time = SciDataTool.Data1D( symbol="T", name="time", unit="s", values=self.loudness_zwicker.get_axes()[0].values[cut_index:], ) - self.sharpness["bismarck"] = DataTime( + self.sharpness["bismarck"] = SciDataTool.DataTime( symbol="S_{Bismarck}", axes=[time], values=S, @@ -191,13 +199,13 @@ def compute_sharpness(self, method="din", skip=0.2): S = S[cut_index:] # Define time axis - time = Data1D( + time = SciDataTool.Data1D( symbol="T", name="time", unit="s", values=self.loudness_zwicker.get_axes()[0].values[cut_index:], ) - self.sharpness["fastl"] = DataTime( + self.sharpness["fastl"] = SciDataTool.DataTime( symbol="S_{Fastl}", axes=[time], values=S, name="Sharpness", unit="Acum" ) diff --git a/mosqito/methods/Audio/compute_tnr_pr.py b/mosqito/methods/Audio/compute_tnr_pr.py index 8e709c0f..30b4eae3 100644 --- a/mosqito/methods/Audio/compute_tnr_pr.py +++ b/mosqito/methods/Audio/compute_tnr_pr.py @@ -4,8 +4,11 @@ @author: Salomé """ -# Import SciDataTool objects -from SciDataTool import Data1D, DataFreq +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None # import Mosqito functions from mosqito.functions.tonality_tnr_pr.comp_tnr import comp_tnr @@ -24,6 +27,10 @@ def compute_tnr_pr(self, method, prominence=True): prominence : boolean give only the prominent tones """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) if method == "tnr" or method == "all": T = comp_tnr( @@ -33,11 +40,11 @@ def compute_tnr_pr(self, method, prominence=True): prominence=prominence, ) - freqs = Data1D(symbol="F", name="freqs", unit="Hz", values=T["freqs"]) + freqs = SciDataTool.Data1D(symbol="F", name="freqs", unit="Hz", values=T["freqs"]) if self.is_stationary == True: - self.tonality["tnr"] = DataFreq( + self.tonality["tnr"] = SciDataTool.DataFreq( symbol="TNR", axes=[freqs], values=T["values"], @@ -49,9 +56,9 @@ def compute_tnr_pr(self, method, prominence=True): elif self.is_stationary == False: - time = Data1D(symbol="T", name="time", unit="s", values=T["time"]) + time = SciDataTool.Data1D(symbol="T", name="time", unit="s", values=T["time"]) - self.tonality["tnr"] = DataFreq( + self.tonality["tnr"] = SciDataTool.DataFreq( symbol="TNR", axes=[freqs, time], values=T["values"], @@ -69,11 +76,11 @@ def compute_tnr_pr(self, method, prominence=True): prominence=prominence, ) - freqs = Data1D(symbol="F", name="freqs", unit="Hz", values=T["freqs"]) + freqs = SciDataTool.Data1D(symbol="F", name="freqs", unit="Hz", values=T["freqs"]) if self.is_stationary == True: - self.tonality["pr"] = DataFreq( + self.tonality["pr"] = SciDataTool.DataFreq( symbol="PR", axes=[freqs], values=T["values"], @@ -84,9 +91,9 @@ def compute_tnr_pr(self, method, prominence=True): self.tonality["tpr"] = T["global value"] elif self.is_stationary == False: - time = Data1D(symbol="T", name="time", unit="s", values=T["time"]) + time = SciDataTool.Data1D(symbol="T", name="time", unit="s", values=T["time"]) - self.tonality["pr"] = DataFreq( + self.tonality["pr"] = SciDataTool.DataFreq( symbol="PR", axes=[freqs, time], values=T["values"], diff --git a/mosqito/methods/Audio/compute_welch.py b/mosqito/methods/Audio/compute_welch.py index abe83dd2..6aa4ed0c 100644 --- a/mosqito/methods/Audio/compute_welch.py +++ b/mosqito/methods/Audio/compute_welch.py @@ -2,10 +2,35 @@ from scipy.signal import welch -from SciDataTool import Data1D, DataFreq +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None def compute_welch(self, N=None, noverlap=None): + """ + Method to compute an estimate of the power spectral density computing + a modified periodogram per segment and then averaging them. + + Parameters + ---------- + N : int, optional + Length of each segment. The default is None. + noverlap : float, optional + Number of points to overlap between segments. The default is None. + + Returns + ------- + None. + + """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) + f, Pxx = welch( self.signal.values, @@ -16,14 +41,14 @@ def compute_welch(self, N=None, noverlap=None): ) # Define axis objects - frequency = Data1D( + frequency = SciDataTool.Data1D( name="freqs", unit="Hz", values=f, ) # Define Data object - self.welch = DataFreq( + self.welch = SciDataTool.DataFreq( name="Audio signal", symbol="x", axes=[frequency], diff --git a/mosqito/methods/Audio/import_signal.py b/mosqito/methods/Audio/import_signal.py index ebc5695e..7a42773e 100644 --- a/mosqito/methods/Audio/import_signal.py +++ b/mosqito/methods/Audio/import_signal.py @@ -1,7 +1,11 @@ # -*- coding: utf-8 -*- from mosqito.functions.shared.load import load -from SciDataTool import DataTime, DataLinspace +# Optional package import +try: + import SciDataTool +except ImportError: + SciDataTool = None def import_signal(self, is_stationary, file, calib=1, mat_signal="", mat_fs=""): @@ -31,6 +35,10 @@ def import_signal(self, is_stationary, file, calib=1, mat_signal="", mat_fs=""): sampling frequency """ + if SciDataTool is None: + raise RuntimeError( + "In order to create an audio object you need the 'SciDataTool' package." + ) # Init Audio object self.__init__() @@ -44,7 +52,7 @@ def import_signal(self, is_stationary, file, calib=1, mat_signal="", mat_fs=""): ) # Create Data object for time axis - time_axis = DataLinspace( + time_axis = SciDataTool.DataLinspace( name="time", unit="s", initial=0, @@ -56,7 +64,7 @@ def import_signal(self, is_stationary, file, calib=1, mat_signal="", mat_fs=""): # Create audio signal Data object self.fs = fs self.is_stationary = is_stationary - self.signal = DataTime( + self.signal = SciDataTool.DataTime( name="Audio signal", symbol="x", unit="Pa", From b7bb1012530102af75661f013a8e0f877d47383f Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:21:21 +0100 Subject: [PATCH 05/12] [CC] pytest and SciDataTool removed from strict requirements --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e232b8fc..f23634b2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ numpy scipy -pytest matplotlib From 2455c86b761157f3072b53162458a91ca4094682 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:30:51 +0100 Subject: [PATCH 06/12] [CC] SciDataTool and pytest as optional packages (but added in the tests_require list) From 7934ba087e309e2fcf736473e11e66938dfe478e Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:32:39 +0100 Subject: [PATCH 07/12] [NF] requirements needed for the full experience of development in mosqito --- full_requirements.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 full_requirements.txt diff --git a/full_requirements.txt b/full_requirements.txt new file mode 100644 index 00000000..f94adc64 --- /dev/null +++ b/full_requirements.txt @@ -0,0 +1,6 @@ +numpy +scipy +matplotlib +pyuff +pytest +scidatatool \ No newline at end of file From 90dd8c11827ea10e806f1fa3dbd81f9653353aa3 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:33:11 +0100 Subject: [PATCH 08/12] [BC] noc_specctrum mark added --- pytest.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index 1336284d..3f5f3398 100644 --- a/pytest.ini +++ b/pytest.ini @@ -7,4 +7,5 @@ markers = roughness_dw: marks tests related to roughness by Daniel and Weber tnr: marks tests related to tone-to-noise ratio pr: marks tests related to prominence ratio - audio: marks tests related to Audio methods \ No newline at end of file + audio: marks tests related to Audio methods + noct_spectrum: marks tests related to n_octave spectra \ No newline at end of file From d80bc40c0bdc36393e9c3f4b04564b998e4b2915 Mon Sep 17 00:00:00 2001 From: wantysal Date: Tue, 1 Mar 2022 17:34:18 +0100 Subject: [PATCH 09/12] [CC] SciDataTool and pytest added in the tests_require but suppressed from basic requirements --- setup.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 153b8d4b..906e62cc 100644 --- a/setup.py +++ b/setup.py @@ -9,18 +9,21 @@ python_requires = ">= 3.5" -# MoSQITo dependancies +# MoSQITo dependencies with open("requirements.txt", "r") as file: requirements = file.readlines() install_requires = "".join( requirements ).splitlines() # remove endline in each element -tests_require = ["pytest>=5.4.1", "pandas", "openpyxl"] +tests_require = ["pytest>=5.4.1", "pandas", "openpyxl", "pytest","SciDataTool"] uff_require = [ - "pyuff", + "pyuff" ] -all_require = tests_require + uff_require +scidatatool_require = [ + "SciDataTool" +] +all_require = tests_require + uff_require + scidatatool_require setuptools.setup( name="mosqito", @@ -51,5 +54,5 @@ python_requires=python_requires, install_requires=install_requires, tests_require=tests_require, - extras_require={"testing": tests_require, "uff": uff_require, "all": all_require}, + extras_require={"testing": tests_require, "uff": uff_require, "SciDataTool": scidatatool_require, "all": all_require} ) From b580a9cda377313a5ad90aa89d8d09ed864afba0 Mon Sep 17 00:00:00 2001 From: wantysal Date: Wed, 2 Mar 2022 09:14:27 +0100 Subject: [PATCH 10/12] [CC] pytest requirement duplicate removal --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 906e62cc..8d1d3693 100644 --- a/setup.py +++ b/setup.py @@ -16,7 +16,7 @@ requirements ).splitlines() # remove endline in each element -tests_require = ["pytest>=5.4.1", "pandas", "openpyxl", "pytest","SciDataTool"] +tests_require = ["pytest>=5.4.1", "pandas", "openpyxl", "SciDataTool"] uff_require = [ "pyuff" ] From 7335a2c577dec8a54493a14cb33669a3da02ada3 Mon Sep 17 00:00:00 2001 From: wantysal Date: Wed, 2 Mar 2022 09:22:21 +0100 Subject: [PATCH 11/12] [CC] SDT requirement duplicate suppress --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8d1d3693..00e26bf5 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ scidatatool_require = [ "SciDataTool" ] -all_require = tests_require + uff_require + scidatatool_require +all_require = tests_require + uff_require setuptools.setup( name="mosqito", From ccd07d64a5452f65f62f82f0284bae7c73808987 Mon Sep 17 00:00:00 2001 From: wantysal Date: Wed, 2 Mar 2022 09:22:57 +0100 Subject: [PATCH 12/12] [CC] detailed description of the pip commands available to install mosqito --- README.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b31a7027..4986086f 100644 --- a/README.md +++ b/README.md @@ -40,12 +40,24 @@ MOSQITO is available on [pip](https://pypi.org/project/pip/). Simply type in a s pip install mosqito -This command line should download and install MOSQITO on your computer, along with all the needed dependencies. +This command line should download and install MOSQITO on your computer, along with the dependencies needed to compute SQ metrics. + +If you want to perform tests, for instance if you developed a new feature, you will need pytest dependency that can be installed using: + + pip install mosqito[testing] If you need to import .uff or .unv files, you will need the pyuff package dependency. Note that 'pyuff' is released under the GPL license which prevents MOSQITO from being used in other software that must be under a more permissive license. To include the 'pyuff' dependancy anyway, type the following command: pip install mosqito[uff] +If you want to use MOSQITO coupled with SciDataTool, you will need SDT package dependency. To install it along with MOSQITO, use the following command: + + pip install mosqito[SciDataTool] + +Note that all the depencies needed for uff, SDT and tests proceeding can be installed at once using: + + pip install mosqito[all] + ## Contact You can contact us on Github by opening an issue (to request a feature, ask a question or report a bug).