Change to using setup.cfg
Change from configuring everything in the setup.py file to using the newer setup.cfg file for a lot of the metadata associated with the qtile package.master
parent
23cd20be59
commit
749dfc9bc6
|
@ -6,7 +6,6 @@ include CONTRIBUTING.md
|
|||
|
||||
exclude .coveragerc
|
||||
exclude tox.ini
|
||||
exclude requirements.in
|
||||
exclude requirements.txt
|
||||
exclude requirements-dev.txt
|
||||
exclude libqtile/_ffi*.py
|
||||
|
|
5
Makefile
5
Makefile
|
@ -5,7 +5,6 @@ default:
|
|||
@echo "'make ckpatch'" to check a patch
|
||||
@echo "'make clean'" to clean generated files
|
||||
@echo "'make man'" to generate sphinx documentation
|
||||
@echo "'make update-requirements'" to update the requirements files
|
||||
|
||||
.PHONY: check
|
||||
check:
|
||||
|
@ -35,7 +34,3 @@ clean:
|
|||
man:
|
||||
python setup.py build_sphinx -b man
|
||||
cp build/sphinx/man/* resources/
|
||||
|
||||
.PHONY: update-requirements
|
||||
update-requirements:
|
||||
pip-compile requirements.in
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
mock # for python <= 3.2
|
||||
sphinx
|
||||
sphinx_rtd_theme
|
||||
sphinxcontrib-seqdiag
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
flake8
|
||||
pep8-naming
|
||||
pytest-cov
|
||||
pip-tools
|
||||
xvfbwrapper
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
xcffib
|
||||
cairocffi
|
||||
cffi
|
|
@ -1,10 +1,3 @@
|
|||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# To update, run:
|
||||
#
|
||||
# pip-compile --output-file requirements.txt requirements.in
|
||||
#
|
||||
cairocffi==0.9.0
|
||||
cffi==1.11.5
|
||||
pycparser==2.19 # via cffi
|
||||
xcffib==0.6.0
|
||||
cairocffi >= 0.9.0
|
||||
cffi >= 1.1.0
|
||||
xcffib >= 0.5.0
|
||||
|
|
90
setup.cfg
90
setup.cfg
|
@ -1,3 +1,93 @@
|
|||
[metadata]
|
||||
name = qtile
|
||||
version = 0.13.0
|
||||
url = http://qtile.org
|
||||
license = MIT
|
||||
license_file = LICENSE
|
||||
description = A pure-Python tiling window manager.
|
||||
long_description = file: README.rst
|
||||
long_description_content_type = text/x-rst
|
||||
author = Aldo Cortesi
|
||||
author_email = aldo@nullcube.com
|
||||
maintainer = Sean Vig
|
||||
maintainer_email = sean.v.775@gmail.com
|
||||
keywords =
|
||||
qtile
|
||||
tiling
|
||||
window
|
||||
manager
|
||||
classifiers =
|
||||
Development Status :: 3 - Alpha
|
||||
Intended Audience :: End Users/Desktop
|
||||
License :: OSI Approved :: MIT License
|
||||
Operating System :: POSIX :: BSD :: FreeBSD
|
||||
Operating System :: POSIX :: Linux
|
||||
Programming Language :: Python :: 3 :: Only
|
||||
Programming Language :: Python :: 3.6
|
||||
Programming Language :: Python :: 3.7
|
||||
Programming Language :: Python :: Implementation :: CPython
|
||||
Topic :: Desktop Environment :: Window Managers
|
||||
project_urls =
|
||||
Documentation = http://docs.qtile.org/
|
||||
Code = https://github.com/qtile/qtile/
|
||||
Issue tracker = https://github.com/qtile/qtile/issues
|
||||
|
||||
[options]
|
||||
packages = find:
|
||||
python_requires >= 3.6
|
||||
setup_requires =
|
||||
cffi >= 1.1.0
|
||||
cairocffi[xcb] >= 0.9.0
|
||||
setuptools
|
||||
install_requires =
|
||||
cffi >= 1.1.0
|
||||
cairocffi[xcb] >= 0.9.0
|
||||
xcffib >= 0.5.0
|
||||
tests_require =
|
||||
flake8
|
||||
pep8-naming
|
||||
pytest-cov
|
||||
xvfbwrapper
|
||||
scripts =
|
||||
bin/dqtile-cmd
|
||||
bin/iqshell
|
||||
|
||||
[options.data_files]
|
||||
/share/man/man1 =
|
||||
resources/qtile.1
|
||||
resources/qshell.1
|
||||
|
||||
[options.entry_points]
|
||||
console_scripts =
|
||||
qshell = libqtile.scripts.qshell:main
|
||||
qtile = libqtile.scripts.qtile:main
|
||||
qtile-cmd = libqtile.scripts.qtile_cmd:main
|
||||
qtile-run = libqtile.scripts.qtile_run:main
|
||||
qtile-top = libqtile.scripts.qtile_top:main
|
||||
|
||||
[options.extras_require]
|
||||
doc =
|
||||
sphinx
|
||||
sphinx_rtd_theme
|
||||
sphinxcontrib-seqdiag
|
||||
numpydoc
|
||||
test =
|
||||
flake8
|
||||
pep8-naming
|
||||
pytest-cov
|
||||
xvfbwrapper
|
||||
ipython =
|
||||
ipykernel
|
||||
jupyter_console
|
||||
|
||||
[options.package_data]
|
||||
libqtile.resources.battery-icons = *.png
|
||||
libqtile.resources.layout-icons = *.png
|
||||
|
||||
[build_sphinx]
|
||||
source-dir = docs
|
||||
build-dir = docs/_build
|
||||
|
||||
[flake8]
|
||||
exclude = libqtile/_ffi*.py,libqtile/core/_ffi*.py
|
||||
max-line-length = 120
|
||||
|
|
84
setup.py
84
setup.py
|
@ -26,7 +26,6 @@
|
|||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
import os
|
||||
import sys
|
||||
import textwrap
|
||||
|
||||
|
@ -65,90 +64,7 @@ class CheckCairoXcb(install):
|
|||
install.finalize_options(self)
|
||||
|
||||
|
||||
long_description = """
|
||||
A pure-Python tiling window manager.
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
* Simple, small and extensible. It's easy to write your own layouts,
|
||||
widgets and commands.
|
||||
* Configured in Python.
|
||||
* Command shell that allows all aspects of
|
||||
Qtile to be managed and inspected.
|
||||
* Complete remote scriptability - write scripts to set up workspaces,
|
||||
manipulate windows, update status bar widgets and more.
|
||||
* Qtile's remote scriptability makes it one of the most thoroughly
|
||||
unit-tested window mangers around.
|
||||
"""
|
||||
|
||||
if '_cffi_backend' in sys.builtin_module_names: # pypy has cffi builtin
|
||||
import _cffi_backend
|
||||
requires_cffi = "cffi==" + _cffi_backend.__version__
|
||||
else:
|
||||
requires_cffi = "cffi>=1.1.0"
|
||||
|
||||
dependencies = ['xcffib>=0.5.0', 'cairocffi>=0.9[xcb]', requires_cffi]
|
||||
|
||||
setup(
|
||||
name="qtile",
|
||||
version="0.13.0",
|
||||
description="A pure-Python tiling window manager.",
|
||||
long_description=long_description,
|
||||
classifiers=[
|
||||
"Intended Audience :: End Users/Desktop",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Programming Language :: Python",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: Implementation :: CPython",
|
||||
"Operating System :: Unix",
|
||||
"Topic :: Desktop Environment :: Window Managers",
|
||||
],
|
||||
keywords="qtile tiling window manager",
|
||||
author="Aldo Cortesi",
|
||||
author_email="aldo@nullcube.com",
|
||||
maintainer="Sean Vig",
|
||||
maintainer_email="sean.v.775@gmail.com",
|
||||
url="http://qtile.org",
|
||||
license="MIT",
|
||||
install_requires=dependencies,
|
||||
setup_requires=dependencies,
|
||||
extras_require={
|
||||
'ipython': ["ipykernel", "jupyter_console"],
|
||||
},
|
||||
packages=['libqtile',
|
||||
'libqtile.core',
|
||||
'libqtile.interactive',
|
||||
'libqtile.layout',
|
||||
'libqtile.scripts',
|
||||
'libqtile.widget',
|
||||
'libqtile.extension',
|
||||
'libqtile.resources'
|
||||
],
|
||||
package_data={'libqtile.resources': [
|
||||
'{}/*'.format(item)
|
||||
for item
|
||||
in os.listdir('libqtile/resources')
|
||||
if os.path.isdir(os.path.join('libqtile/resources', item))
|
||||
]},
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'qshell = libqtile.scripts.qshell:main',
|
||||
'qtile = libqtile.scripts.qtile:main',
|
||||
'qtile-cmd = libqtile.scripts.qtile_cmd:main',
|
||||
'qtile-run = libqtile.scripts.qtile_run:main',
|
||||
'qtile-top = libqtile.scripts.qtile_top:main',
|
||||
]
|
||||
},
|
||||
scripts=[
|
||||
'bin/dqtile-cmd',
|
||||
'bin/iqshell',
|
||||
],
|
||||
data_files=[
|
||||
('share/man/man1', ['resources/qtile.1',
|
||||
'resources/qshell.1'])],
|
||||
cmdclass={'install': CheckCairoXcb},
|
||||
cffi_modules=[
|
||||
'libqtile/pango_ffi_build.py:pango_ffi',
|
||||
|
|
11
tox.ini
11
tox.ini
|
@ -17,18 +17,13 @@ setenv = LC_CTYPE = en_US.UTF-8
|
|||
# Pass Display down to have it for the tests available
|
||||
passenv = DISPLAY TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
|
||||
whitelist_externals=convert
|
||||
# Install trollius for 2 and pypy
|
||||
# Asyncio is in the standard library for 3.4+
|
||||
deps =
|
||||
pytest-cov
|
||||
xvfbwrapper
|
||||
trollius: trollius
|
||||
tulip: asyncio
|
||||
commands =
|
||||
# xcffib has to be installed before cairo
|
||||
# xcffib has to be installed before cairocffi
|
||||
pip install xcffib
|
||||
# Install unpinned requirements from requirements.in
|
||||
pip install -r {toxinidir}/requirements.in
|
||||
pip install -r {toxinidir}/requirements.txt
|
||||
{toxinidir}/scripts/ffibuild
|
||||
pytest --cov libqtile --cov-report term-missing {posargs}
|
||||
|
||||
|
@ -52,4 +47,4 @@ commands = mypy -p libqtile
|
|||
|
||||
[testenv:docs]
|
||||
deps = -r{toxinidir}/docs/requirements.txt
|
||||
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html
|
||||
commands = python setup.py build_sphinx -W
|
||||
|
|
Loading…
Reference in New Issue