Poetry is a PEP-517-compliant alternative to
setuptools and is consequently a preferred build-management system for PyPI. Poetry also simplifies and consolidates the files involved in packaging for PyPI, specifically.
README is rendered from Markdown or reStructuredText on the front page of a project on both PyPI and Gitlab, I converted the
README to use Markdown. PyPI does not render
setup.py by default (though it's possible to use a custom function to include it dynamically), while Poetry does not require any additional code to include the
README (among other bits of metadata). This should fix the missing description area on the
pyxdg PyPI page and improve the general searchability of the package. It also seems to be common practice to include short code example snippets in the
README on PyPI, but that can wait for the time being.
Additionally, I moved
COPYING into the package folder and replaced the copy in the top-level directory with a symbolic link to the copy in the package folder, so that
COPYING remains part of the package when it is installed (and doesn't need to be included separately).
I haven't figured out running unit tests through Poetry, but I didn't change any of the source files themselves. It would probably be most useful to test an installed version of the package rather than just the source code itself, but I'm not quite sure how to do that. It would probably also be useful to upload this to the PyPI test server and test the version installed from there, as well, but I would rather figure out local tests before I try and test a version installed through