corrscope uses poetry, while pip expects a setuptools project and will
create package name UNKNOWN if run without setup.py or pyproject.toml
[build-system]. This adds an up-to-date pyproject.toml [build-system]
tag.
"setuptools" is required to make `pip install .` work, due to
https://github.com/python-poetry/poetry/issues/3153#issuecomment-727196619
Right now, `pip install [--editable] .` and `pipx install .` work, but
`pipx install --editable .` fails with message "No apps associated with
package UNKNOWN or its dependencies."
I'm not aware of how to fix this.
Fixes issue where trying to render foobar2000 WAV files fails
with message "ValueError: Incomplete wav chunk."
File taken from
ac3b21908a/scipy/io/wavfile.py.
This adds a dependency on the atomicwrites package. Note that it was
already a transitive dev-dependency, but is now a direct dependency as
well.
On Linux, atomicwrites fsyncs the directory after saving. This is
unnecessary for consistency after a system crash, and slows down program
shutdown slightly. But I'm too lazy to vendor or rewrite the library to
not fsync the directory.
Instead, warn the user with a popup dialog, and reset settings to
default.
Every few months, a user would report corrscope failing to open
due to a corrupted prefs.yaml.
This commit should stop all occurrences of that from now on.
The next commit will help ensure that we never save corrupted files
in the first place.
I also fixed pre-commit hooks on machines without Python 3.6 installed.
I don't like how Black now removes leading and trailing spaces in
doc comments, but it is what it is.
The previously pinned NumPy 1.16.4 was very old
and didn't come with a prebuilt binary wheel for Python 3.8+.
As a result, trying to install corrscope on Python 3.8+ with the pinned
dependency versions (through `poetry install`, not through
`pip install corrscope`) tries (and fails) to build NumPy from scratch.
This updates the pinned NumPy (but not other dependencies) to 1.19.5,
which has prebuilt wheels up to Python 3.9 (the current latest release).
Poetry wouldn't upgrade to NumPy 1.20, since it requires Python 3.7
and we specify a minimum version of 3.6.
NumPy 1.19 is packaged properly by old PyInstaller.