sofar 1.1.3__tar.gz → 1.1.4__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.
Files changed (84) hide show
  1. {sofar-1.1.3 → sofar-1.1.4}/CONTRIBUTING.rst +1 -1
  2. {sofar-1.1.3 → sofar-1.1.4}/HISTORY.rst +4 -0
  3. {sofar-1.1.3 → sofar-1.1.4}/PKG-INFO +2 -2
  4. {sofar-1.1.3 → sofar-1.1.4}/README.rst +1 -1
  5. {sofar-1.1.3 → sofar-1.1.4}/setup.cfg +1 -1
  6. {sofar-1.1.3 → sofar-1.1.4}/setup.py +1 -1
  7. {sofar-1.1.3 → sofar-1.1.4}/sofar/__init__.py +1 -1
  8. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa.py +11 -12
  9. {sofar-1.1.3 → sofar-1.1.4}/sofar/update_conventions.py +4 -7
  10. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/PKG-INFO +2 -2
  11. {sofar-1.1.3 → sofar-1.1.4}/tests/test_sofa_verify.py +2 -2
  12. {sofar-1.1.3 → sofar-1.1.4}/AUTHORS.rst +0 -0
  13. {sofar-1.1.3 → sofar-1.1.4}/LICENSE +0 -0
  14. {sofar-1.1.3 → sofar-1.1.4}/MANIFEST.in +0 -0
  15. {sofar-1.1.3 → sofar-1.1.4}/sofar/io.py +0 -0
  16. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/VERSION +0 -0
  17. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +0 -0
  18. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +0 -0
  19. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldHRIR_1.0.csv +0 -0
  20. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldHRIR_1.0.json +0 -0
  21. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldHRTF_1.0.csv +0 -0
  22. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/FreeFieldHRTF_1.0.json +0 -0
  23. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralFIR-E_2.0.csv +0 -0
  24. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralFIR-E_2.0.json +0 -0
  25. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralFIR_1.0.csv +0 -0
  26. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralFIR_1.0.json +0 -0
  27. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralSOS_1.0.csv +0 -0
  28. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralSOS_1.0.json +0 -0
  29. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF-E_1.0.csv +0 -0
  30. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF-E_1.0.json +0 -0
  31. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF_1.0.csv +0 -0
  32. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF_1.0.json +0 -0
  33. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF_2.0.csv +0 -0
  34. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/GeneralTF_2.0.json +0 -0
  35. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +0 -0
  36. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.json +0 -0
  37. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRSOS_1.0.csv +0 -0
  38. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRSOS_1.0.json +0 -0
  39. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.csv +0 -0
  40. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json +0 -0
  41. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldSOS_1.0.csv +0 -0
  42. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleFreeFieldSOS_1.0.json +0 -0
  43. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.csv +0 -0
  44. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +0 -0
  45. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SingleRoomMIMOSRIR_1.0.csv +0 -0
  46. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SingleRoomMIMOSRIR_1.0.json +0 -0
  47. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SingleRoomSRIR_1.0.csv +0 -0
  48. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/SingleRoomSRIR_1.0.json +0 -0
  49. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/FreeFieldDirectivityTF_1.0.csv +0 -0
  50. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/FreeFieldDirectivityTF_1.0.json +0 -0
  51. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/GeneralFIRE_1.0.csv +0 -0
  52. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/GeneralFIRE_1.0.json +0 -0
  53. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +0 -0
  54. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.json +0 -0
  55. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +0 -0
  56. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +0 -0
  57. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.csv +0 -0
  58. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.json +0 -0
  59. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.csv +0 -0
  60. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.json +0 -0
  61. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.csv +0 -0
  62. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.json +0 -0
  63. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.csv +0 -0
  64. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.json +0 -0
  65. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.csv +0 -0
  66. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.json +0 -0
  67. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.3.csv +0 -0
  68. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.3.json +0 -0
  69. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/rules/deprecations.json +0 -0
  70. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/rules/rules.json +0 -0
  71. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/rules/unit_aliases.json +0 -0
  72. {sofar-1.1.3 → sofar-1.1.4}/sofar/sofa_conventions/rules/upgrade.json +0 -0
  73. {sofar-1.1.3 → sofar-1.1.4}/sofar/utils.py +0 -0
  74. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/SOURCES.txt +0 -0
  75. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/dependency_links.txt +0 -0
  76. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/not-zip-safe +0 -0
  77. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/requires.txt +0 -0
  78. {sofar-1.1.3 → sofar-1.1.4}/sofar.egg-info/top_level.txt +0 -0
  79. {sofar-1.1.3 → sofar-1.1.4}/tests/__init__.py +0 -0
  80. {sofar-1.1.3 → sofar-1.1.4}/tests/test_deprecations.py +0 -0
  81. {sofar-1.1.3 → sofar-1.1.4}/tests/test_io.py +0 -0
  82. {sofar-1.1.3 → sofar-1.1.4}/tests/test_sofa.py +0 -0
  83. {sofar-1.1.3 → sofar-1.1.4}/tests/test_sofa_upgrade_conventions.py +0 -0
  84. {sofar-1.1.3 → sofar-1.1.4}/tests/test_utils.py +0 -0
@@ -127,7 +127,7 @@ You can create an html report on the test `coverage <https://coverage.readthedoc
127
127
  Writing the Documentation
128
128
  -------------------------
129
129
 
130
- Sofar follows the `numpy style guide <https://numpydoc.readthedocs.io/en/latest/format.html>`_ for the docstring. A docstring has to consist at least of
130
+ Sofar follows the `numpy style guide <https://numpydoc.readthedocs.io/en/stable/format.html>`_ for the docstring. A docstring has to consist at least of
131
131
 
132
132
  - A short and/or extended summary,
133
133
  - the Parameters section, and
@@ -1,6 +1,10 @@
1
1
  History
2
2
  =======
3
3
 
4
+ 1.1.4 (2024-06-15)
5
+ ------------------
6
+ * Update for numpy 2.0 (PR #100)
7
+
4
8
  1.1.3 (2024-3-15)
5
9
  -----------------
6
10
  * Update documentation to pydata theme (PR #78)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sofar
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Maybe the most complete python package for SOFA files so far
5
5
  Home-page: https://pyfar.org/
6
6
  Download-URL: https://pypi.org/project/sofar/
@@ -75,7 +75,7 @@ Refer to the `contribution guidelines`_ for more information.
75
75
  .. _sofa_conventions : https://github.com/pyfar/sofa_conventions
76
76
  .. _contribution guidelines: https://github.com/pyfar/sofar/blob/develop/CONTRIBUTING.rst
77
77
  .. _pyfar.org: https://pyfar.org
78
- .. _read the docs: https://sofar.readthedocs.io/en/latest
78
+ .. _read the docs: https://sofar.readthedocs.io/en/stable
79
79
  .. _sofaconventions.org: https://sofaconventions.org
80
80
 
81
81
  References
@@ -43,7 +43,7 @@ Refer to the `contribution guidelines`_ for more information.
43
43
  .. _sofa_conventions : https://github.com/pyfar/sofa_conventions
44
44
  .. _contribution guidelines: https://github.com/pyfar/sofar/blob/develop/CONTRIBUTING.rst
45
45
  .. _pyfar.org: https://pyfar.org
46
- .. _read the docs: https://sofar.readthedocs.io/en/latest
46
+ .. _read the docs: https://sofar.readthedocs.io/en/stable
47
47
  .. _sofaconventions.org: https://sofaconventions.org
48
48
 
49
49
  References
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 1.1.3
2
+ current_version = 1.1.4
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -67,7 +67,7 @@ setup(
67
67
  "Documentation": "https://sofar.readthedocs.io/",
68
68
  "Source Code": "https://github.com/pyfar/sofar",
69
69
  },
70
- version='1.1.3',
70
+ version='1.1.4',
71
71
  zip_safe=False,
72
72
  python_requires='>=3.8'
73
73
  )
@@ -4,7 +4,7 @@
4
4
 
5
5
  __author__ = """The pyfar developers"""
6
6
  __email__ = 'info@pyfar.org'
7
- __version__ = '1.1.3'
7
+ __version__ = '1.1.4'
8
8
 
9
9
  from .sofa import Sofa
10
10
 
@@ -73,7 +73,7 @@ class Sofa():
73
73
 
74
74
 
75
75
  For more examples refer to the `Quick tour of SOFA and sofar` at
76
- https://sofar.readthedocs.io/en/latest/
76
+ https://sofar.readthedocs.io/en/stable/
77
77
  """
78
78
 
79
79
  # these have to be set here, because they are used in __setattr__ and
@@ -992,18 +992,17 @@ class Sofa():
992
992
  f"- {key} must be string but is {type(value)}\n"
993
993
 
994
994
  elif dtype == "double":
995
- # multiple checks needed because sofar does not force the user
996
- # to initally pass data as numpy arrays
997
- if not isinstance(value,
998
- (np.int_, np.float_, np.double, np.ndarray)):
999
- current_error += (f"- {key} must be int, float or numpy "
1000
- f"array but is {type(value)}\n")
1001
-
1002
- if isinstance(value, np.ndarray) and not (
1003
- str(value.dtype).startswith('int') or
1004
- str(value.dtype).startswith('float')):
995
+ # All variables can be of type float or int, and are converted
996
+ # to float when writing.
997
+ # sofar does not force the user to pass data as numpy arrays.
998
+ # We thus check for allowed instances (int, float, numpy) and
999
+ # specifically for the type of numpy arrays.
1000
+ if not isinstance(
1001
+ value, (int, float, np.ndarray, np.number)) or \
1002
+ (isinstance(value, (np.ndarray, np.number)) and
1003
+ value.dtype.kind not in ['i', 'f']):
1005
1004
  current_error += (f"- {key} must be int or float "
1006
- f"but is {type(value.dtype)}\n")
1005
+ f"but is {type(value)}\n")
1007
1006
 
1008
1007
  elif dtype == "string":
1009
1008
  # multiple checks needed because sofar does not force the user
@@ -1,5 +1,6 @@
1
1
  import contextlib
2
2
  import os
3
+ import re
3
4
  import glob
4
5
  import json
5
6
  import requests
@@ -377,13 +378,9 @@ def _check_congruency(save_dir=None, branch="master"):
377
378
 
378
379
  # get file names of conventions from github
379
380
  url = urls_check[1]
380
- page = requests.get(url).json()
381
- sofatoolbox = []
382
- for content in page["payload"]["tree"]["items"]:
383
- if content["contentType"] == "file" and \
384
- content["path"].startswith("SOFAtoolbox/conventions") and \
385
- content["name"].endswith("csv"):
386
- sofatoolbox.append(content["name"])
381
+ page = requests.get(url).text
382
+ sofatoolbox = re.findall(
383
+ r'"SOFAtoolbox/conventions/([^"]+\.csv)"', page)
387
384
 
388
385
  if not sofatoolbox:
389
386
  raise ValueError(f"Did not find any conventions at {url}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sofar
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: Maybe the most complete python package for SOFA files so far
5
5
  Home-page: https://pyfar.org/
6
6
  Download-URL: https://pypi.org/project/sofar/
@@ -75,7 +75,7 @@ Refer to the `contribution guidelines`_ for more information.
75
75
  .. _sofa_conventions : https://github.com/pyfar/sofa_conventions
76
76
  .. _contribution guidelines: https://github.com/pyfar/sofar/blob/develop/CONTRIBUTING.rst
77
77
  .. _pyfar.org: https://pyfar.org
78
- .. _read the docs: https://sofar.readthedocs.io/en/latest
78
+ .. _read the docs: https://sofar.readthedocs.io/en/stable
79
79
  .. _sofaconventions.org: https://sofaconventions.org
80
80
 
81
81
  References
@@ -192,11 +192,11 @@ def test_data_types(capfd):
192
192
  sofa.verify()
193
193
 
194
194
  sofa.Data_IR = "1"
195
- with raises(ValueError, match="- Data_IR must be int, float"):
195
+ with raises(ValueError, match="- Data_IR must be int or float"):
196
196
  sofa.verify()
197
197
 
198
198
  sofa.Data_IR = 1+1j
199
- with raises(ValueError, match="- Data_IR must be int, float"):
199
+ with raises(ValueError, match="- Data_IR must be int or float"):
200
200
  sofa.verify()
201
201
 
202
202
  # test invalid data with issue_handling "print" and "return"
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