We weren't including the locale files in the builds that get generated
from setup.py, so sdist, bdist_whl. Note that the include mechanics
seem to grab more than we want, so we need an extra exclude to avoid
bundling the source files, which aren't used at runtime.
This moves the old gtk-based chirpw script into the ui module so
it is all contained. I've explained to three people in the last two
weeks why this doesn't work, so I think it's best to reduce its
visibility. I don't (even have a system to) test the gtk stuff on
and I'm pretty sure we've broken it several times lately. Until
we go for actual removal of the subdir, this will help avoid
confusion.
Data files outside the package are not installed in binary distributions, so move them inside. Use importlib_resources to load icon and stock configs.
- use only the newer files(), as_files() and namespace APIs introduced in Python 3.10
- use the importlib_resources package if Python < 3.10
- remove obviated pkg_path()
- bump minimum Python version to 3.7
Fix test paths to account for the move
We have always had this odd arrangement where we force copy stock
config files into the user's own directory and then need to be
careful to never overwrite them (but then we can't update them).
This changes our behavior to load from both locations, prioritizing
the user's configs if they exist with the same name.