python maintenance ep...@hynek tox.ini [testenv:docs] basepython = python3.7 extras = docs commands...

83
MAINTAINING A PYTHON PROJECT WHEN ITS NOT YOUR JOB Hynek Schlawack

Upload: others

Post on 26-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

MAINTAINING A PYTHON PROJECT WHEN IT’S NOT YOUR JOB

Hynek Schlawack

Page 2: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

pem

doc2dash

argon2-cffi

prometheus-asyncenviron-config

first

Twisted

cryptography

CPython

pyOpenSSL

Page 3: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

REMOVE FRICTION

Page 4: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 5: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 6: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 7: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

FROM IDEA TO PYPI: A PLAY IN 3 ACTS

Page 8: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

ACT 1 DEVELOPMENT

Page 9: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 10: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 11: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 12: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 13: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.github/CONTRIBUTING.rst

Page 14: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.github/CONTRIBUTING.rst

.github/CODE_OF_CONDUCT.rst

Page 15: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 16: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

$ pip install -e .[dev]

Page 17: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

$ pip install -e .[dev]

Page 18: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

$ pip install -e .[dev]

Page 19: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

OPTIONAL DEPENDENCIES

Page 20: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

OPTIONAL DEPENDENCIES$ pip install urllib3[brotli,socks]

Page 21: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

OPTIONAL DEPENDENCIES$ pip install urllib3[brotli,socks]setup( # ... extras_require={ "tests": ["pytest", "coverage"] })

Page 22: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 23: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

$ pip install -e .[dev]$ pytest

Page 24: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

$ pip install -e .[dev]$ pytest$ cd docs; make html

Page 25: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

PROBLEMS

Page 26: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

PROBLEMS

1. remember how

Page 27: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

PROBLEMS

1. remember how

2. only 1 Python version

Page 28: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 29: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3

tox.ini

Page 30: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3[testenv]

tox.ini

Page 31: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3[testenv]extras = tests

tox.ini

Page 32: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3[testenv]extras = testscommands = pytest {posargs}

tox.ini

Page 33: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3[testenv]extras = testscommands = pytest {posargs}

tox.ini

Page 34: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[tox]envlist = py27,py37,pypy,pypy3[testenv]extras = testscommands = pytest {posargs}

# tox -e py27 -- -x

tox.ini

Page 35: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

LINTING

Page 36: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

flake8

Page 37: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 38: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 39: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 40: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 41: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 42: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 43: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.pre-commit-config.yaml

Page 44: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.pre-commit-config.yaml

repos: - repo: https://gitlab.com/pycqa/flake8

Page 45: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.pre-commit-config.yaml

repos: - repo: https://gitlab.com/pycqa/flake8 rev: 3.7.7

Page 46: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.pre-commit-config.yaml

repos: - repo: https://gitlab.com/pycqa/flake8 rev: 3.7.7 hooks: - id: flake8

Page 47: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.pre-commit-config.yaml

repos: - repo: https://gitlab.com/pycqa/flake8 rev: 3.7.7 hooks: - id: flake8 language_version: python3.7

Page 48: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

tox.ini

Page 49: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[testenv:lint]

tox.ini

Page 50: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[testenv:lint]deps = pre-commit

tox.ini

Page 51: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[testenv:lint]deps = pre-commitskip_install = true

tox.ini

Page 52: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

[testenv:lint]deps = pre-commitskip_install = truecommands = pre-commit run --all-files

tox.ini

Page 53: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

tox.ini[testenv:docs]basepython = python3.7extras = docscommands =

Page 54: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

tox.ini[testenv:docs]basepython = python3.7extras = docscommands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html

Page 55: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

tox.ini[testenv:docs]basepython = python3.7extras = docscommands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html

Page 56: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

tox.ini[testenv:docs]basepython = python3.7extras = docscommands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html python -m doctest README.rst

Page 57: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 58: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

ACT 2 PULL REQUEST

Page 59: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

.github/PULL_REQUEST_TEMPLATE.md

Page 60: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 61: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 62: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 63: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

#travisAlumns

Page 64: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 65: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 66: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 67: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 68: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 69: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 70: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 71: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 72: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 73: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

ACT 3 RELEASE

Page 74: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 75: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 76: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

__init__.py__version__ = "19.2.0.dev0"

__title__ = "attrs"__description__ = "Classes Without Boilerplate"__url__ = "https://www.attrs.org/"__doc__ = __description__ + " <" + __uri__ + ">"

__author__ = "Hynek Schlawack"__email__ = "[email protected]"

__license__ = "MIT"__copyright__ = "Copyright (c) 2015 Hynek Schlawack"

Page 77: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

__init__.py__version__ = "19.2.0.dev0"

__title__ = "attrs"__description__ = "Classes Without Boilerplate"__url__ = "https://www.attrs.org/"__doc__ = __description__ + " <" + __uri__ + ">"

__author__ = "Hynek Schlawack"__email__ = "[email protected]"

__license__ = "MIT"__copyright__ = "Copyright (c) 2015 Hynek Schlawack"

Page 78: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 79: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 80: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 81: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 82: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

Page 83: Python Maintenance EP...@HYNEK tox.ini [testenv:docs] basepython = python3.7 extras = docs commands = sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html @HYNEKHYNEK

@HYNEK

ox.cx/oss @hynek vrmd.de