Simplify our setup.py
Currently our setup.py is quite intricate and contains more logic than I am comfortable with.
An initial round of changes in #842 makes sure we no longer depend on the deprecated distutils
package, but I'd like to go further and make our setup.py
as close as possible as a vanilla Cython-based project.
AFAICT one reason we cannot simply use cythonize
is because of our generated av/config.h
header. I'd argue this header is not useful because:
- The git commit string cannot always be retrieved. If you are building from a tarball retrieved from PyPI for instance, this is not available.
- The PyAV version does not need to be read from a
VERSION
file: we could simply have anav/version.py
which would be our single source of truth for the current version. This can easily be read from setup.py
Thoughts @mikeboers ?