Start transitioning into the PEP517 future of Python packaging by
switching from explicitly calling setup.py to using the build
module. Move install requirements into setup.cfg and update the
install docs to refer to the new location. Get rid of the separate
documentation build requirements file by moving into tox.ini deps
for the docs testenv. While we're there, add some commentary in the
tox.ini about some of the more opaque choices we've made for docs
builds and testing YAML style.
+++ /dev/null
-# Copyright (c) 2018 mudpy authors. Permission to use, copy,
-# modify, and distribute this software is granted under terms
-# provided in the LICENSE file distributed with this software.
-
-sphinx
install guide
===============
install guide
===============
-.. Copyright (c) 2020 mudpy authors. Permission to use, copy,
+.. Copyright (c) 2020-2021 mudpy authors. Permission to use, copy,
modify, and distribute this software is granted under terms
provided in the LICENSE file distributed with this software.
modify, and distribute this software is granted under terms
provided in the LICENSE file distributed with this software.
Using ``pip`` to install in a venv or with its ``--user`` option
takes care of making sure the Python package dependencies listed in
Using ``pip`` to install in a venv or with its ``--user`` option
takes care of making sure the Python package dependencies listed in
-the :file:`requirements.txt` file are available, but it should be
-possible to run :file:`mudpy/daemon.py` as a normal python3 script
-as long as you've installed your distro's packages of the
-dependencies (on Debian/Ubuntu that's python3-passlib_ and
-python3-yaml_, they're probably named something similar on other
-distros).
+the ``options.install_requires`` field of the :file:`setup.cfg` file
+are available, but it should be possible to run
+:file:`mudpy/daemon.py` as a normal python3 script as long as you've
+installed your distro's packages of the dependencies (on
+Debian/Ubuntu that's python3-passlib_ and python3-yaml_, they're
+probably named something similar on other distros).
.. _python3-passlib: https://packages.debian.org/python3-passlib
.. _python3-yaml: https://packages.debian.org/python3-yaml
.. _python3-passlib: https://packages.debian.org/python3-passlib
.. _python3-yaml: https://packages.debian.org/python3-yaml
+++ /dev/null
-# Copyright (c) 2014-2019 mudpy authors. Permission to use, copy,
-# modify, and distribute this software is granted under terms
-# provided in the LICENSE file distributed with this software.
-
-passlib>=1.7
-pyyaml
Topic :: Internet
[options]
Topic :: Internet
[options]
+install_requires =
+ passlib>=1.7
+ pyyaml
python_requires = >=3.6
[files]
python_requires = >=3.6
[files]
description = build release artifacts and check for conformance
allowlist_externals = rm
deps =
description = build release artifacts and check for conformance
allowlist_externals = rm
deps =
commands =
rm -fr {toxinidir}/dist
commands =
rm -fr {toxinidir}/dist
- python setup.py bdist_wheel sdist
twine check --strict {toxinidir}/dist/*
usedevelop = False
[testenv:docs]
twine check --strict {toxinidir}/dist/*
usedevelop = False
[testenv:docs]
+# Build an sdist into a temporary location so we'll have AUTHORS and ChangeLog
+# files to include. Keep usedevelop on so that the project dependencies will be
+# installed in the venv.
description = generate hypertext documentation
allowlist_externals = rm
deps =
description = generate hypertext documentation
allowlist_externals = rm
deps =
- -r{toxinidir}/requirements.txt
- -r{toxinidir}/doc/requirements.txt
- rm -fr doc/build
- python setup.py sdist
+ rm -fr {toxinidir}/doc/build
+ python -m build --outdir={toxinidir}/doc/build/dist --sdist
sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
sphinx-build -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:flake8]
description = style checks and static analysis of source code
[testenv:flake8]
description = style checks and static analysis of source code
commands = mudpy_selftest etc/mudpy.yaml
[testenv:yamllint]
commands = mudpy_selftest etc/mudpy.yaml
[testenv:yamllint]
+# Run the selftest before checking YAML files so we'll be sure to also catch at
+# least some which are generated by the application, making sure it creates
+# them with the same style we enforce for those carried in the repository.
description = test data files for correct syntax and formatting
deps = yamllint
commands =
description = test data files for correct syntax and formatting
deps = yamllint
commands =