Repository: qtile/qtile

Issue:
0.16.0: impossible to build from github sources (to run tests)
<!--
Please do not ask general questions here! There are [community
contact](https://github.com/qtile/qtile#community) options for that.
-->

# Issue description

Hi! I package qtile for Arch Linux. I'm currently trying to build 0.16.0.
Usually I also run the test suite against the release (although there are still problems: #1352 and #1130) to be able to at least ensure some kind of compatibility with the Arch Linux provided python3 ecosystem.
However, running tests is only possible with the github source tarballs (because the test files are included), which unfortunately is not the case for the pypi tarballs.

When running `python setup.py build` for 0.16.0 I am now getting this:

```
Traceback (most recent call last):
  File "setup.py", line 91, in <module>
    setup(
  File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 165, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.8/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 429, in __init__
    _Distribution.__init__(self, {
  File "/usr/lib/python3.8/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 721, in finalize_options
    ep(self)
  File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 728, in _finalize_setup_keywords
    ep.load()(self, ep.name, value)
  File "/usr/lib/python3.8/site-packages/setuptools_scm/integration.py", line 17, in version_keyword
    dist.metadata.version = _get_version(config)
  File "/usr/lib/python3.8/site-packages/setuptools_scm/__init__.py", line 148, in _get_version
    parsed_version = _do_parse(config)
  File "/usr/lib/python3.8/site-packages/setuptools_scm/__init__.py", line 110, in _do_parse
    raise LookupError(
LookupError: setuptools-scm was unable to detect version for '/build/qtile/src/qtile-0.16.0'.

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
```

It seems that setuptools_scm has been introduced. Unfortunately, this breaks the build for me.

It would be great to either include the tests in the pypi sdist tarballs or to start using [signed tags](https://github.com/qtile/qtile/tags) again, as then I can rely upon signed tags and a git repository (note: the latter might not help other distributions, as they have different policies).
If you choose the latter (both would be great too), please make sure to have @flacjacket sign the key of @tych0 so that a clear chain of trust can be established.

# Qtile version

0.16.0

# Stack traces

n/a

# Configuration

n/a


Discussion:
Oof, oops. I wonder if we shouldn't just hardcode the version in releases but not in git?

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -93,4 +93,5 @@ def get_cffi_modules():
     use_scm_version=True,
     cffi_modules=get_cffi_modules(),
     install_requires=["cffi>=1.0.0"],
+    include_package_data=True,
 )


Test patch: