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.
- {sofar-0.3.1 → sofar-1.1.0}/AUTHORS.rst +1 -0
- {sofar-0.3.1 → sofar-1.1.0}/CONTRIBUTING.rst +23 -8
- {sofar-0.3.1 → sofar-1.1.0}/HISTORY.rst +21 -0
- sofar-1.1.0/MANIFEST.in +12 -0
- sofar-1.1.0/PKG-INFO +85 -0
- sofar-1.1.0/README.rst +59 -0
- {sofar-0.3.1 → sofar-1.1.0}/setup.cfg +1 -4
- {sofar-0.3.1 → sofar-1.1.0}/setup.py +12 -5
- sofar-1.1.0/sofar/__init__.py +27 -0
- sofar-1.1.0/sofar/io.py +423 -0
- sofar-1.1.0/sofar/sofa.py +1795 -0
- sofar-1.1.0/sofar/sofa_conventions/VERSION +1 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.csv +59 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/FreeFieldDirectivityTF_1.1.json +444 -0
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/FreeFieldHRIR_1.0.csv +3 -3
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/FreeFieldHRIR_1.0.json +3 -3
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/FreeFieldHRTF_1.0.csv +2 -2
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/FreeFieldHRTF_1.0.json +3 -3
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralFIR-E_2.0.csv +2 -2
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralFIR-E_2.0.json +2 -2
- 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
- sofar-0.3.1/sofar/conventions/GeneralFIR_2.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralFIR_1.0.json +2 -2
- 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
- sofar-0.3.1/sofar/conventions/GeneralFIR_1.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/GeneralSOS_1.0.json +48 -37
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF-E_1.0.csv +3 -3
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF-E_1.0.json +4 -4
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF_1.0.csv +1 -1
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF_1.0.json +1 -1
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/GeneralTF_2.0.csv +4 -4
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/GeneralTF_2.0.json +4 -4
- sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleFreeFieldHRIR_1.0.csv +47 -0
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldHRIR_1.0.json +1 -1
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleFreeFieldHRSOS_1.0.csv +1 -1
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldHRSOS_1.0.json +1 -1
- 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
- sofar-0.3.1/sofar/conventions/SimpleFreeFieldHRTF_2.0.json → sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleFreeFieldHRTF_1.0.json +4 -4
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleHeadphoneIR_1.0.csv +9 -9
- sofar-1.1.0/sofar/sofa_conventions/conventions/SimpleHeadphoneIR_1.0.json +396 -0
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SingleRoomMIMOSRIR_1.0.csv +18 -8
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SingleRoomMIMOSRIR_1.0.json +124 -50
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SingleRoomSRIR_1.0.csv +18 -8
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SingleRoomSRIR_1.0.json +124 -50
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.csv +2 -2
- {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/FreeFieldDirectivityTF_1.0.json +2 -2
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/MultiSpeakerBRIR_0.3.csv +48 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.csv +43 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldHRIR_0.4.json +333 -0
- 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
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_0.4.json +340 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.csv +44 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleFreeFieldTF_1.0.json +340 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.csv +51 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.1.json +396 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SimpleHeadphoneIR_0.2.csv +51 -0
- 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
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.csv +47 -0
- sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated/SingleRoomDRIR_0.2.json +360 -0
- sofar-1.1.0/sofar/sofa_conventions/rules/deprecations.json +12 -0
- sofar-1.1.0/sofar/sofa_conventions/rules/rules.json +800 -0
- sofar-1.1.0/sofar/sofa_conventions/rules/unit_aliases.json +11 -0
- sofar-1.1.0/sofar/sofa_conventions/rules/upgrade.json +190 -0
- sofar-1.1.0/sofar/update_conventions.py +427 -0
- sofar-1.1.0/sofar/utils.py +315 -0
- sofar-1.1.0/sofar.egg-info/PKG-INFO +85 -0
- sofar-1.1.0/sofar.egg-info/SOURCES.txt +83 -0
- {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/top_level.txt +1 -0
- sofar-1.1.0/tests/__init__.py +0 -0
- sofar-1.1.0/tests/test_deprecations.py +19 -0
- sofar-1.1.0/tests/test_io.py +344 -0
- sofar-1.1.0/tests/test_sofa.py +354 -0
- sofar-1.1.0/tests/test_sofa_upgrade_conventions.py +102 -0
- sofar-1.1.0/tests/test_sofa_verify.py +472 -0
- sofar-1.1.0/tests/test_utils.py +241 -0
- sofar-0.3.1/MANIFEST.in +0 -8
- sofar-0.3.1/PKG-INFO +0 -63
- sofar-0.3.1/README.rst +0 -43
- sofar-0.3.1/sofar/__init__.py +0 -21
- sofar-0.3.1/sofar/conventions/source/MultiSpeakerBRIR_0.3.csv +0 -48
- sofar-0.3.1/sofar/sofar.py +0 -2531
- sofar-0.3.1/sofar.egg-info/PKG-INFO +0 -63
- sofar-0.3.1/sofar.egg-info/SOURCES.txt +0 -54
- {sofar-0.3.1 → sofar-1.1.0}/LICENSE +0 -0
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions}/SimpleFreeFieldSOS_1.0.csv +0 -0
- {sofar-0.3.1/sofar → sofar-1.1.0/sofar/sofa_conventions}/conventions/SimpleFreeFieldSOS_1.0.json +0 -0
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.csv +0 -0
- {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/GeneralFIRE_1.0.json +0 -0
- {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/MultiSpeakerBRIR_0.3.json +0 -0
- {sofar-0.3.1/sofar/conventions/source → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.csv +0 -0
- {sofar-0.3.1/sofar/conventions → sofar-1.1.0/sofar/sofa_conventions/conventions/deprecated}/SingleRoomDRIR_0.3.json +0 -0
- {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/dependency_links.txt +0 -0
- {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/not-zip-safe +0 -0
- {sofar-0.3.1 → sofar-1.1.0}/sofar.egg-info/requires.txt +0 -0
@@ -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.
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
203
|
+
Bumpversion will update all version strings, create and commit tags by default
|
189
204
|
|
190
205
|
$ git push --follow-tags
|
191
206
|
|
192
|
-
|
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.
|
sofar-1.1.0/MANIFEST.in
ADDED
@@ -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 =
|
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=
|
61
|
-
|
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.
|
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']
|