sofar 0.3.1__tar.gz → 1.1.0__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 (92) hide show
  1. {sofar-0.3.1 → sofar-1.1.0}/AUTHORS.rst +1 -0
  2. {sofar-0.3.1 → sofar-1.1.0}/CONTRIBUTING.rst +23 -8
  3. {sofar-0.3.1 → sofar-1.1.0}/HISTORY.rst +21 -0
  4. sofar-1.1.0/MANIFEST.in +12 -0
  5. sofar-1.1.0/PKG-INFO +85 -0
  6. sofar-1.1.0/README.rst +59 -0
  7. {sofar-0.3.1 → sofar-1.1.0}/setup.cfg +1 -4
  8. {sofar-0.3.1 → sofar-1.1.0}/setup.py +12 -5
  9. sofar-1.1.0/sofar/__init__.py +27 -0
  10. sofar-1.1.0/sofar/io.py +423 -0
  11. sofar-1.1.0/sofar/sofa.py +1795 -0
  12. sofar-1.1.0/sofar/sofa_conventions/VERSION +1 -0
  13. sofar-1.1.0/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +59 -0
  14. sofar-1.1.0/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +444 -0
  15. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/FreeFieldHRIR_1.0.csv +3 -3
  16. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/FreeFieldHRIR_1.0.json +3 -3
  17. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/FreeFieldHRTF_1.0.csv +2 -2
  18. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/FreeFieldHRTF_1.0.json +3 -3
  19. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralFIR-E_2.0.csv +2 -2
  20. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralFIR-E_2.0.json +2 -2
  21. sofar-0.3.1/sofar/conventions/source/GeneralFIR_2.0.csv → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralFIR_1.0.csv +2 -2
  22. sofar-0.3.1/sofar/conventions/GeneralFIR_2.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralFIR_1.0.json +2 -2
  23. sofar-0.3.1/sofar/conventions/source/GeneralFIR_1.0.csv → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralSOS_1.0.csv +11 -11
  24. sofar-0.3.1/sofar/conventions/GeneralFIR_1.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralSOS_1.0.json +48 -37
  25. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF-E_1.0.csv +3 -3
  26. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF-E_1.0.json +4 -4
  27. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF_1.0.csv +1 -1
  28. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF_1.0.json +1 -1
  29. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF_2.0.csv +4 -4
  30. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF_2.0.json +4 -4
  31. sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +47 -0
  32. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldHRIR_1.0.json +1 -1
  33. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.csv +1 -1
  34. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldHRSOS_1.0.json +1 -1
  35. sofar-0.3.1/sofar/conventions/source/SimpleFreeFieldHRTF_2.0.csv → sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.csv +3 -3
  36. sofar-0.3.1/sofar/conventions/SimpleFreeFieldHRTF_2.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json +4 -4
  37. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleHeadphoneIR_1.0.csv +9 -9
  38. sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +396 -0
  39. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.csv +18 -8
  40. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SingleRoomMIMOSRIR_1.0.json +124 -50
  41. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SingleRoomSRIR_1.0.csv +18 -8
  42. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SingleRoomSRIR_1.0.json +124 -50
  43. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.csv +2 -2
  44. {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.json +2 -2
  45. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +48 -0
  46. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +43 -0
  47. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +333 -0
  48. sofar-0.3.1/sofar/conventions/source/SimpleFreeFieldHRIR_1.0.csv → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.csv +15 -18
  49. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.json +340 -0
  50. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.csv +44 -0
  51. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.json +340 -0
  52. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.csv +51 -0
  53. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.json +396 -0
  54. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.csv +51 -0
  55. sofar-0.3.1/sofar/conventions/SimpleHeadphoneIR_1.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.json +3 -3
  56. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.csv +47 -0
  57. sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.json +360 -0
  58. sofar-1.1.0/sofar/sofa_conventions/rules/deprecations.json +12 -0
  59. sofar-1.1.0/sofar/sofa_conventions/rules/rules.json +800 -0
  60. sofar-1.1.0/sofar/sofa_conventions/rules/unit_aliases.json +11 -0
  61. sofar-1.1.0/sofar/sofa_conventions/rules/upgrade.json +190 -0
  62. sofar-1.1.0/sofar/update_conventions.py +427 -0
  63. sofar-1.1.0/sofar/utils.py +315 -0
  64. sofar-1.1.0/sofar.egg-info/PKG-INFO +85 -0
  65. sofar-1.1.0/sofar.egg-info/SOURCES.txt +83 -0
  66. {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/top_level.txt +1 -0
  67. sofar-1.1.0/tests/__init__.py +0 -0
  68. sofar-1.1.0/tests/test_deprecations.py +19 -0
  69. sofar-1.1.0/tests/test_io.py +344 -0
  70. sofar-1.1.0/tests/test_sofa.py +354 -0
  71. sofar-1.1.0/tests/test_sofa_upgrade_conventions.py +102 -0
  72. sofar-1.1.0/tests/test_sofa_verify.py +472 -0
  73. sofar-1.1.0/tests/test_utils.py +241 -0
  74. sofar-0.3.1/MANIFEST.in +0 -8
  75. sofar-0.3.1/PKG-INFO +0 -63
  76. sofar-0.3.1/README.rst +0 -43
  77. sofar-0.3.1/sofar/__init__.py +0 -21
  78. sofar-0.3.1/sofar/conventions/source/MultiSpeakerBRIR_0.3.csv +0 -48
  79. sofar-0.3.1/sofar/sofar.py +0 -2531
  80. sofar-0.3.1/sofar.egg-info/PKG-INFO +0 -63
  81. sofar-0.3.1/sofar.egg-info/SOURCES.txt +0 -54
  82. {sofar-0.3.1 → sofar-1.1.0}/LICENSE +0 -0
  83. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.csv +0 -0
  84. {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldSOS_1.0.json +0 -0
  85. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.csv +0 -0
  86. {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.json +0 -0
  87. {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/MultiSpeakerBRIR_0.3.json +0 -0
  88. {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.csv +0 -0
  89. {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.json +0 -0
  90. {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/dependency_links.txt +0 -0
  91. {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/not-zip-safe +0 -0
  92. {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/requires.txt +0 -0
@@ -6,6 +6,7 @@ The sofar developers
6
6
  --------------------
7
7
 
8
8
  - Fabian Brinkmann
9
+ - Marco Berzborn
9
10
 
10
11
 
11
12
  Funding
@@ -52,10 +52,14 @@ Ready to contribute? Here's how to set up `sofar` for local development.
52
52
  1. Fork the `sofar` repo on GitHub.
53
53
  2. Clone your fork locally and cd into the sofar directory::
54
54
 
55
- $ git clone https://github.com/pyfar/sofar.git
55
+ $ git clone --recursive https://github.com/pyfar/sofar.git
56
56
  $ cd sofar/
57
57
 
58
- 3. Install your local copy into a virtualenv. Assuming you have Anaconda or Miniconda installed, this is how you set up your fork for local development::
58
+ 3. Note that some graphical Git interfaces can not do the recursive clone. If the folder sofar/sofa_conventions is empty try
59
+
60
+ $ git submodule update --init
61
+
62
+ 4. Install your local copy into a virtualenv. Assuming you have Anaconda or Miniconda installed, this is how you set up your fork for local development::
59
63
 
60
64
  $ conda create --name sofar python
61
65
  $ conda activate sofar
@@ -63,13 +67,13 @@ Ready to contribute? Here's how to set up `sofar` for local development.
63
67
  $ pip install -e .
64
68
  $ pip install -r requirements_dev.txt
65
69
 
66
- 4. Create a branch for local development. Indicate the intention of your branch in its respective name (i.e. `feature/branch-name` or `bugfix/branch-name`)::
70
+ 5. Create a branch for local development. Indicate the intention of your branch in its respective name (i.e. `feature/branch-name` or `bugfix/branch-name`)::
67
71
 
68
72
  $ git checkout -b name-of-your-bugfix-or-feature
69
73
 
70
74
  Now you can make your changes locally.
71
75
 
72
- 5. When you're done making changes, check that your changes pass flake8 and the
76
+ 6. When you're done making changes, check that your changes pass flake8 and the
73
77
  tests::
74
78
 
75
79
  $ flake8 sofar tests
@@ -77,13 +81,13 @@ Ready to contribute? Here's how to set up `sofar` for local development.
77
81
 
78
82
  flake8 test must pass without any warnings for `./sofar` and `./tests` using the default or a stricter configuration. Flake8 ignores `E123/E133, E226` and `E241/E242` by default. If necessary adjust the your flake8 and linting configuration in your IDE accordingly.
79
83
 
80
- 6. Commit your changes and push your branch to GitHub::
84
+ 7. Commit your changes and push your branch to GitHub::
81
85
 
82
86
  $ git add .
83
87
  $ git commit -m "Your detailed description of your changes."
84
88
  $ git push origin name-of-your-bugfix-or-feature
85
89
 
86
- 7. Submit a pull request through the GitHub website.
90
+ 8. Submit a pull request through the GitHub website.
87
91
 
88
92
  Pull Request Guidelines
89
93
  -----------------------
@@ -171,6 +175,17 @@ documentation. To show the warnings again use
171
175
  before building the documentation.
172
176
 
173
177
 
178
+ Submodules
179
+ ~~~~~~~~~~
180
+
181
+ To update the submodule containing the conventions and verification rules run
182
+
183
+ $ git submodule update --init --recursive
184
+ $ git submodule update --recursive --remote
185
+
186
+ and then commit the changes
187
+
188
+
174
189
  Deploying
175
190
  ~~~~~~~~~
176
191
 
@@ -185,11 +200,11 @@ Switch to main and run::
185
200
 
186
201
  $ bumpversion patch --verbose # possible: major / minor / patch
187
202
 
188
- Bumpversion will update all version strings, create and comitt tags by default
203
+ Bumpversion will update all version strings, create and commit tags by default
189
204
 
190
205
  $ git push --follow-tags
191
206
 
192
- Travis will then deploy to PyPI if tests pass.
207
+ Continuous integration will then deploy to PyPI if tests pass.
193
208
 
194
209
  - Merge main back into develop
195
210
 
@@ -1,6 +1,27 @@
1
1
  History
2
2
  =======
3
3
 
4
+ 1.1.0 (2023-7-7)
5
+ ----------------
6
+ * Deprecate FreeFieldDirectivityTV 1.0 in favor of FreeFieldDirectivityTV 1.1 (according to sofaconventoins.org and AES69-2022)
7
+ * Add `sofar.read_sofa_as_netcdf` for reading SOFA files with erroneous data
8
+ * Document SOFA conventions on https://sofar.readthedocs.io/en/stable/resources/conventions.html. `Sofa.info()` will this be deprecated in sofar v1.3.0
9
+ * `sofar.read_sofa` and `sofar.write_sofa` now accept filenames and path objects
10
+ * Add testing for Python 3.11
11
+
12
+ 1.0.0 (2022-12-16)
13
+ ------------------
14
+ * Use SOFA conventions of version 2.1 from https://github.com/pyfar/sofa_conventions
15
+ * Verify SOFA data against all rules defined in the SOFA standard AES69-2022
16
+ * Add `Sofa.upgrade_convention` for upgrading outdated conventions. This now uses explicit upgrade rules from https://github.com/pyfar/sofa_conventions
17
+ * Remove upgrade functionality from `Sofa.verify`, `sofar.write_sofa`, and `sofar.read_sofa` for a more clear separation of functionality
18
+ * Add `Sofa.add_missing` to add missing default data to a SOFA object using the default values specified by the SOFA convention
19
+ * Add default parameter value to `Sofa.info`
20
+ * Make `sofar.update_conventions` a public function again
21
+ * Improve documentation and verbosity of command line output
22
+ * Add private function to check congruency of conventions stored as part of SOFAtoolbox and on sofaconventions.org
23
+ * Move to Circle CI and improve testing
24
+
4
25
  0.3.1 (2022-03-21)
5
26
  ------------------
6
27
  * Improvement `sofar.read`: Files with unknown Convention versions can now be read by updating to the latest or a specific version.
@@ -0,0 +1,12 @@
1
+ include AUTHORS.rst
2
+ include CONTRIBUTING.rst
3
+ include HISTORY.rst
4
+ include LICENSE
5
+ include README.rst
6
+
7
+ include sofar/sofa_conventions/VERSION
8
+ recursive-include sofar/sofa_conventions/conventions *.csv
9
+ recursive-include sofar/sofa_conventions/conventions *.json
10
+ recursive-include sofar/sofa_conventions/conventions/deprecated *.csv
11
+ recursive-include sofar/sofa_conventions/conventions/deprecated *.json
12
+ recursive-include sofar/sofa_conventions/rules *.json
sofar-1.1.0/PKG-INFO ADDED
@@ -0,0 +1,85 @@
1
+ Metadata-Version: 2.1
2
+ Name: sofar
3
+ Version: 1.1.0
4
+ Summary: Maybe the most complete python package for SOFA files so far
5
+ Home-page: https://pyfar.org/
6
+ Download-URL: https://pypi.org/project/sofar/
7
+ Author: The pyfar developers
8
+ Author-email: info@pyfar.org
9
+ License: MIT license
10
+ Project-URL: Bug Tracker, https://github.com/pyfar/sofar/issues
11
+ Project-URL: Documentation, https://sofar.readthedocs.io/
12
+ Project-URL: Source Code, https://github.com/pyfar/sofar
13
+ Keywords: sofar
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Natural Language :: English
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Requires-Python: >=3.8
24
+ License-File: LICENSE
25
+ License-File: AUTHORS.rst
26
+
27
+ ======
28
+ Readme
29
+ ======
30
+
31
+ Sofar is maybe the most complete Python package for the SOFA file format so
32
+ far. SOFA files store spatially distributed acoustic data such as impulse
33
+ responses or transfer functions. They are defined by the AES69-2022 standard
34
+ (see references). These are the key features of sofar
35
+
36
+ * Uses a complete definition of the AES69-2022 standard (see references) maintained at `sofa_conventions`_
37
+ * Read, edit, and write SOFA files
38
+ * Add custom attributes to SOFA files
39
+ * Full Verification of the content of a SOFA files against AES69-2022
40
+ * Upgrade data that uses outdated SOFA conventions
41
+ * Open license allows unrestricted use
42
+ * sofar is tested using continuous integration on
43
+
44
+ Installation
45
+ ============
46
+
47
+ Use pip to install sofar
48
+
49
+ .. code-block:: console
50
+
51
+ $ pip install sofar
52
+
53
+ (Requires Python >= 3.8)
54
+
55
+ Getting Started
56
+ ===============
57
+
58
+ Check out `read the docs`_ for example use cases a quick introduction to SOFA
59
+ and sofar, and the complete documentation. A more detailed introduction to SOFA
60
+ is given by Majdak et. al. 2022 (see references below) Packages related to
61
+ sofar are listed at `pyfar.org`_. For more information on the SOFA file format
62
+ visit `sofaconventions.org`_.
63
+
64
+ Contributing
65
+ ============
66
+
67
+ Refer to the `contribution guidelines`_ for more information.
68
+
69
+ .. _sofa_conventions : https://github.com/pyfar/sofa_conventions
70
+ .. _contribution guidelines: https://github.com/pyfar/sofar/blob/develop/CONTRIBUTING.rst
71
+ .. _pyfar.org: https://pyfar.org
72
+ .. _read the docs: https://sofar.readthedocs.io/en/latest
73
+ .. _sofaconventions.org: https://sofaconventions.org
74
+
75
+ References
76
+ ==========
77
+
78
+ AES69-2022: *AES standard for file exchange - Spatial acoustic data file
79
+ format*, Audio Engineering Society, Inc., New York, NY, USA.
80
+ (https://www.aes.org/publications/standards/search.cfm?docID=99)
81
+
82
+ P. Majdak, F. Zotter, F. Brinkmann, J. De Muynke, M. Mihocic, and M.
83
+ Noisternig, "Spatially Oriented Format for Acoustics 2.1: Introduction and
84
+ Recent Advances", *J. Audio Eng. Soc.*, vol. 70, no. 7/8, pp. 565-584,
85
+ Jul. 2022. DOI: https://doi.org/10.17743/jaes.2022.0026
sofar-1.1.0/README.rst ADDED
@@ -0,0 +1,59 @@
1
+ ======
2
+ Readme
3
+ ======
4
+
5
+ Sofar is maybe the most complete Python package for the SOFA file format so
6
+ far. SOFA files store spatially distributed acoustic data such as impulse
7
+ responses or transfer functions. They are defined by the AES69-2022 standard
8
+ (see references). These are the key features of sofar
9
+
10
+ * Uses a complete definition of the AES69-2022 standard (see references) maintained at `sofa_conventions`_
11
+ * Read, edit, and write SOFA files
12
+ * Add custom attributes to SOFA files
13
+ * Full Verification of the content of a SOFA files against AES69-2022
14
+ * Upgrade data that uses outdated SOFA conventions
15
+ * Open license allows unrestricted use
16
+ * sofar is tested using continuous integration on
17
+
18
+ Installation
19
+ ============
20
+
21
+ Use pip to install sofar
22
+
23
+ .. code-block:: console
24
+
25
+ $ pip install sofar
26
+
27
+ (Requires Python >= 3.8)
28
+
29
+ Getting Started
30
+ ===============
31
+
32
+ Check out `read the docs`_ for example use cases a quick introduction to SOFA
33
+ and sofar, and the complete documentation. A more detailed introduction to SOFA
34
+ is given by Majdak et. al. 2022 (see references below) Packages related to
35
+ sofar are listed at `pyfar.org`_. For more information on the SOFA file format
36
+ visit `sofaconventions.org`_.
37
+
38
+ Contributing
39
+ ============
40
+
41
+ Refer to the `contribution guidelines`_ for more information.
42
+
43
+ .. _sofa_conventions : https://github.com/pyfar/sofa_conventions
44
+ .. _contribution guidelines: https://github.com/pyfar/sofar/blob/develop/CONTRIBUTING.rst
45
+ .. _pyfar.org: https://pyfar.org
46
+ .. _read the docs: https://sofar.readthedocs.io/en/latest
47
+ .. _sofaconventions.org: https://sofaconventions.org
48
+
49
+ References
50
+ ==========
51
+
52
+ AES69-2022: *AES standard for file exchange - Spatial acoustic data file
53
+ format*, Audio Engineering Society, Inc., New York, NY, USA.
54
+ (https://www.aes.org/publications/standards/search.cfm?docID=99)
55
+
56
+ P. Majdak, F. Zotter, F. Brinkmann, J. De Muynke, M. Mihocic, and M.
57
+ Noisternig, "Spatially Oriented Format for Acoustics 2.1: Introduction and
58
+ Recent Advances", *J. Audio Eng. Soc.*, vol. 70, no. 7/8, pp. 565-584,
59
+ Jul. 2022. DOI: https://doi.org/10.17743/jaes.2022.0026
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.3.1
2
+ current_version = 1.1.0
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -20,9 +20,6 @@ exclude = .git, .tox, docs
20
20
  [aliases]
21
21
  test = pytest
22
22
 
23
- [tool:pytest]
24
- norecursedirs = private
25
-
26
23
  [egg_info]
27
24
  tag_build =
28
25
  tag_date = 0
@@ -42,9 +42,10 @@ setup(
42
42
  'License :: OSI Approved :: MIT License',
43
43
  'Natural Language :: English',
44
44
  'Programming Language :: Python :: 3',
45
- 'Programming Language :: Python :: 3.7',
46
45
  'Programming Language :: Python :: 3.8',
47
- 'Programming Language :: Python :: 3.9'
46
+ 'Programming Language :: Python :: 3.9',
47
+ 'Programming Language :: Python :: 3.10',
48
+ 'Programming Language :: Python :: 3.11'
48
49
  ],
49
50
  description="Maybe the most complete python package for SOFA files so far",
50
51
  install_requires=requirements,
@@ -57,8 +58,14 @@ setup(
57
58
  setup_requires=setup_requirements,
58
59
  test_suite='tests',
59
60
  tests_require=test_requirements,
60
- url='https://github.com/pyfar/sofar',
61
- version='0.3.1',
61
+ url="https://pyfar.org/",
62
+ download_url="https://pypi.org/project/sofar/",
63
+ project_urls={
64
+ "Bug Tracker": "https://github.com/pyfar/sofar/issues",
65
+ "Documentation": "https://sofar.readthedocs.io/",
66
+ "Source Code": "https://github.com/pyfar/sofar",
67
+ },
68
+ version='1.1.0',
62
69
  zip_safe=False,
63
- python_requires='>=3.7'
70
+ python_requires='>=3.8'
64
71
  )
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """Top-level package for sofar."""
4
+
5
+ __author__ = """The pyfar developers"""
6
+ __email__ = 'info@pyfar.org'
7
+ __version__ = '1.1.0'
8
+
9
+ from .sofa import Sofa
10
+
11
+ from .io import read_sofa, read_sofa_as_netcdf, write_sofa
12
+
13
+ from .utils import (list_conventions,
14
+ equals,
15
+ version)
16
+
17
+ from .update_conventions import update_conventions
18
+
19
+
20
+ __all__ = ['Sofa',
21
+ 'update_conventions',
22
+ 'list_conventions',
23
+ 'read_sofa',
24
+ 'read_sofa_as_netcdf',
25
+ 'write_sofa',
26
+ 'equals',
27
+ 'version']