From f9d35f56758cc910eff4b307efc670e33dde8385 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sat, 30 Jan 2021 12:31:43 -0600 Subject: [PATCH 1/8] Remove Python 2.7 stuff --- .github/workflows/tests.yml | 2 +- README.rst | 2 +- docs/plugin_system.rst | 2 +- poetry.lock | 558 +----------------- pyproject.toml | 29 +- requirements/dev.txt | 4 +- requirements/test.txt | 4 +- setup.py | 1 - .../tmuxp_test_plugin_awf/pyproject.toml | 2 +- .../tmuxp_test_plugin_bs/pyproject.toml | 4 +- .../tmuxp_test_plugin_bwb/pyproject.toml | 2 +- .../tmuxp_test_plugin_fail/pyproject.toml | 2 +- .../tmuxp_test_plugin_owc/pyproject.toml | 2 +- .../tmuxp_test_plugin_r/pyproject.toml | 2 +- tests/test_shell.py | 3 +- tests/test_workspacebuilder.py | 9 +- tmuxp/_compat.py | 91 +-- tmuxp/cli.py | 24 +- tmuxp/config.py | 23 +- 19 files changed, 76 insertions(+), 690 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d12bbe349e..534b8c67ef 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [ '2.7', '3.x' ] + python-version: [ '3.x' ] tmux-version: [ '2.6', '2.7', '2.8', '3.0a', '3.1b', '3.2a', 'master' ] steps: - uses: actions/checkout@v1 diff --git a/README.rst b/README.rst index 49ec015850..037c703a78 100644 --- a/README.rst +++ b/README.rst @@ -252,7 +252,7 @@ See donation options at https://git-pull.com/support.html. Project details --------------- - tmux support: 1.8, 1.9a, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 -- python support: 2.7, >= 3.3, pypy, pypy3 +- python support: >= 3.3, pypy, pypy3 - Source: https://github.com/tmux-python/tmuxp - Docs: https://tmuxp.git-pull.com - API: https://tmuxp.git-pull.com/api.html diff --git a/docs/plugin_system.rst b/docs/plugin_system.rst index 31aad33628..71319b4cec 100644 --- a/docs/plugin_system.rst +++ b/docs/plugin_system.rst @@ -67,7 +67,7 @@ directory. The resulting file looks something like this: authors = ["Author Name .com>"] [tool.poetry.dependencies] - python = "~2.7 || ^3.5" + python = "^3.5" tmuxp = "^1.6.0" [tool.poetry.dev-dependencies] diff --git a/poetry.lock b/poetry.lock index 086b791542..908d9e2a50 100644 --- a/poetry.lock +++ b/poetry.lock @@ -37,7 +37,7 @@ version = "1.4.4" [[package]] category = "dev" description = "Atomic file writes." -marker = "python_version >= \"3\" and sys_platform == \"win32\" or python_version < \"3\"" +marker = "sys_platform == \"win32\"" name = "atomicwrites" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -46,7 +46,6 @@ version = "1.4.0" [[package]] category = "dev" description = "Classes Without Boilerplate" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "attrs" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -61,7 +60,6 @@ tests_no_zope = ["coverage (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0 [[package]] category = "dev" description = "Internationalization utilities" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "babel" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -70,19 +68,6 @@ version = "2.9.1" [package.dependencies] pytz = ">=2015.7" -[[package]] -category = "dev" -description = "Backport of functools.lru_cache" -marker = "python_version < \"3.2\"" -name = "backports.functools-lru-cache" -optional = false -python-versions = ">=2.6" -version = "1.6.4" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-checkdocs (>=2.4)"] - [[package]] category = "dev" description = "The uncompromising code formatter." @@ -129,7 +114,7 @@ description = "Python package for providing Mozilla's CA Bundle." name = "certifi" optional = false python-versions = "*" -version = "2020.12.5" +version = "2021.5.30" [[package]] category = "dev" @@ -187,36 +172,9 @@ optional = false python-versions = "*" version = "0.9.1" -[package.dependencies] -[package.dependencies.future] -python = "<3" -version = ">=0.14.0" - [package.extras] test = ["flake8 (3.7.8)", "hypothesis (3.55.3)"] -[[package]] -category = "dev" -description = "Updated configparser from Python 3.7 for Python 2.6+." -marker = "python_version < \"3.2\"" -name = "configparser" -optional = false -python-versions = ">=2.6" -version = "4.0.2" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2)", "pytest-flake8", "pytest-black-multipy"] - -[[package]] -category = "dev" -description = "Backports and enhancements for the contextlib module" -marker = "python_version < \"3.4\"" -name = "contextlib2" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "0.6.0.post1" - [[package]] category = "dev" description = "Code coverage measurement for Python" @@ -273,15 +231,6 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" version = "0.17.1" -[[package]] -category = "dev" -description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4" -marker = "python_version < \"3.4\"" -name = "enum34" -optional = false -python-versions = "*" -version = "1.1.10" - [[package]] category = "dev" description = "the modular source code checker: pep8 pyflakes and co" @@ -295,62 +244,10 @@ mccabe = ">=0.6.0,<0.7.0" pycodestyle = ">=2.7.0,<2.8.0" pyflakes = ">=2.3.0,<2.4.0" -[package.dependencies.configparser] -python = "<3.2" -version = "*" - -[package.dependencies.enum34] -python = "<3.4" -version = "*" - -[package.dependencies.functools32] -python = "<3.2" -version = "*" - [package.dependencies.importlib-metadata] python = "<3.8" version = "*" -[package.dependencies.typing] -python = "<3.5" -version = "*" - -[[package]] -category = "dev" -description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+" -marker = "python_version < \"3\"" -name = "funcsigs" -optional = false -python-versions = "*" -version = "1.0.2" - -[[package]] -category = "dev" -description = "Backport of the functools module from Python 3.2.3 for use on 2.7 and PyPy." -marker = "python_version < \"3.2\"" -name = "functools32" -optional = false -python-versions = "*" -version = "3.2.3-2" - -[[package]] -category = "dev" -description = "Clean single-source support for Python 3 and 2" -marker = "python_version < \"3\"" -name = "future" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -version = "0.18.2" - -[[package]] -category = "dev" -description = "Backport of the concurrent.futures package from Python 3" -marker = "python_version < \"3.2\"" -name = "futures" -optional = false -python-versions = ">=2.6, <3" -version = "3.3.0" - [[package]] category = "dev" description = "Internationalized Domain Names in Applications (IDNA)" @@ -362,7 +259,6 @@ version = "2.10" [[package]] category = "dev" description = "Getting image size from png/jpeg/jpeg2000/gif file" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "imagesize" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -371,7 +267,7 @@ version = "1.2.0" [[package]] category = "dev" description = "Read metadata from Python packages" -marker = "python_version < \"3.8\" or python_version >= \"3\" and python_version < \"3.8\"" +marker = "python_version < \"3.8\"" name = "importlib-metadata" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" @@ -380,18 +276,6 @@ version = "2.1.1" [package.dependencies] zipp = ">=0.5" -[package.dependencies.configparser] -python = "<3" -version = ">=3.5" - -[package.dependencies.contextlib2] -python = "<3" -version = "*" - -[package.dependencies.pathlib2] -python = "<3" -version = "*" - [package.extras] docs = ["sphinx", "rst.linker"] testing = ["packaging", "pep517", "unittest2", "importlib-resources (>=1.3)"] @@ -402,7 +286,7 @@ description = "Read metadata from Python packages" name = "importlib-metadata" optional = false python-versions = ">=3.6" -version = "4.3.1" +version = "4.5.0" [package.dependencies] zipp = ">=0.5" @@ -418,7 +302,6 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes [[package]] category = "dev" description = "iniconfig: brain-dead simple config-ini parsing" -marker = "python_version >= \"3\"" name = "iniconfig" optional = false python-versions = "*" @@ -433,15 +316,6 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" version = "4.3.21" -[package.dependencies] -[package.dependencies."backports.functools-lru-cache"] -python = "<3.2" -version = "*" - -[package.dependencies.futures] -python = "<3.2" -version = "*" - [package.extras] pipfile = ["pipreqs", "requirementslib"] pyproject = ["toml"] @@ -477,7 +351,6 @@ test = ["pytest", "pytest-trio", "pytest-asyncio", "testpath", "trio"] [[package]] category = "dev" description = "A very fast and expressive template engine." -marker = "python_version < \"3\" or python_version >= \"3\"" name = "jinja2" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -492,7 +365,6 @@ i18n = ["Babel (>=0.8)"] [[package]] category = "dev" description = "A very fast and expressive template engine." -marker = "python_version >= \"3\"" name = "jinja2" optional = false python-versions = ">=3.6" @@ -544,7 +416,6 @@ version = "0.8.5" [[package]] category = "dev" description = "Safely add untrusted strings to HTML/XML markup." -marker = "python_version < \"3\" or python_version >= \"3\"" name = "markupsafe" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" @@ -553,7 +424,6 @@ version = "1.1.1" [[package]] category = "dev" description = "Safely add untrusted strings to HTML/XML markup." -marker = "python_version >= \"3\"" name = "markupsafe" optional = false python-versions = ">=3.6" @@ -567,39 +437,6 @@ optional = false python-versions = "*" version = "0.6.1" -[[package]] -category = "dev" -description = "Rolling backport of unittest.mock for all Pythons" -marker = "python_version < \"3\"" -name = "mock" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "3.0.5" - -[package.dependencies] -six = "*" - -[package.dependencies.funcsigs] -python = "<3.3" -version = ">=1" - -[package.extras] -build = ["twine", "wheel", "blurb"] -docs = ["sphinx"] -test = ["pytest", "pytest-cov"] - -[[package]] -category = "dev" -description = "More routines for operating on iterables, beyond itertools" -marker = "python_version <= \"2.7\"" -name = "more-itertools" -optional = false -python-versions = "*" -version = "5.0.0" - -[package.dependencies] -six = ">=1.0.0,<2.0.0" - [[package]] category = "dev" description = "Experimental type system extensions for programs checked with the mypy typechecker." @@ -623,23 +460,7 @@ pyparsing = ">=2.0.2" [[package]] category = "dev" description = "Object-oriented filesystem paths" -marker = "python_version < \"3\"" -name = "pathlib2" -optional = false -python-versions = "*" -version = "2.3.4" - -[package.dependencies] -six = "*" - -[package.dependencies.scandir] -python = "<3.5" -version = "*" - -[[package]] -category = "dev" -description = "Object-oriented filesystem paths" -marker = "python_version >= \"3\" and python_version < \"3.6\"" +marker = "python_version < \"3.6\"" name = "pathlib2" optional = false python-versions = "*" @@ -660,16 +481,6 @@ version = "0.8.1" [[package]] category = "dev" description = "Python Imaging Library (Fork)" -marker = "python_version < \"3\" or python_version >= \"3\"" -name = "pillow" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "6.2.2" - -[[package]] -category = "dev" -description = "Python Imaging Library (Fork)" -marker = "python_version >= \"3\"" name = "pillow" optional = false python-versions = ">=3.5" @@ -678,7 +489,6 @@ version = "7.2.0" [[package]] category = "dev" description = "Python Imaging Library (Fork)" -marker = "python_version >= \"3\"" name = "pillow" optional = false python-versions = ">=3.6" @@ -698,7 +508,6 @@ testing = ["nose", "coverage"] [[package]] category = "dev" description = "plugin and hook calling mechanisms for python" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "pluggy" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -715,7 +524,6 @@ dev = ["pre-commit", "tox"] [[package]] category = "dev" description = "library with cross-python path, ini-parsing, io, code, log facilities" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "py" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" @@ -746,14 +554,6 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" version = "2.3.1" -[[package]] -category = "dev" -description = "Pygments is a syntax highlighting package written in Python." -name = "pygments" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.5.2" - [[package]] category = "dev" description = "Pygments is a syntax highlighting package written in Python." @@ -765,52 +565,11 @@ version = "2.9.0" [[package]] category = "dev" description = "Python parsing module" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "pyparsing" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" version = "2.4.7" -[[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" -name = "pytest" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "4.6.11" - -[package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" -packaging = "*" -pluggy = ">=0.12,<1.0" -py = ">=1.5.0" -six = ">=1.10.0" -wcwidth = "*" - -[package.dependencies.colorama] -python = "<3.4.0 || >=3.5.0" -version = "*" - -[package.dependencies.funcsigs] -python = "<3.0" -version = ">=1.0" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" - -[package.dependencies.more-itertools] -python = "<2.8" -version = ">=4.0.0,<6.0.0" - -[package.dependencies.pathlib2] -python = "<3.6" -version = ">=2.2.0" - -[package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "nose", "requests", "mock"] - [[package]] category = "dev" description = "pytest: simple powerful testing with Python" @@ -869,61 +628,22 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm [[package]] category = "dev" description = "Pytest plugin for measuring coverage." -marker = "python_version < \"3\" or python_version >= \"3\"" -name = "pytest-cov" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.9.0" - -[package.dependencies] -coverage = ">=4.4" -pytest = ">=3.6" - -[package.extras] -testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "pytest-xdist", "virtualenv"] - -[[package]] -category = "dev" -description = "Pytest plugin for measuring coverage." -marker = "python_version >= \"3\"" name = "pytest-cov" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.12.0" +version = "2.12.1" [package.dependencies] +coverage = ">=5.2.1" pytest = ">=4.6" - -[package.dependencies.coverage] -extras = ["toml"] -version = ">=5.2.1" - -[package.extras] -testing = ["fields", "hunter", "process-tests (2.0.2)", "six", "pytest-xdist", "virtualenv"] - -[[package]] -category = "dev" -description = "Thin-wrapper around the mock package for easier use with py.test" -marker = "python_version < \"3\" or python_version >= \"3\"" -name = "pytest-mock" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "2.0.0" - -[package.dependencies] -pytest = ">=2.7" - -[package.dependencies.mock] -python = "<3.0" -version = "*" +toml = "*" [package.extras] -dev = ["pre-commit", "tox"] +testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"] [[package]] category = "dev" description = "Thin-wrapper around the mock package for easier use with pytest" -marker = "python_version >= \"3\"" name = "pytest-mock" optional = false python-versions = ">=3.5" @@ -938,7 +658,6 @@ dev = ["pre-commit", "tox", "pytest-asyncio"] [[package]] category = "dev" description = "Thin-wrapper around the mock package for easier use with pytest" -marker = "python_version >= \"3\"" name = "pytest-mock" optional = false python-versions = ">=3.6" @@ -950,18 +669,6 @@ pytest = ">=5.0" [package.extras] dev = ["pre-commit", "tox", "pytest-asyncio"] -[[package]] -category = "dev" -description = "pytest plugin to re-run tests to eliminate flaky failures" -name = "pytest-rerunfailures" -optional = false -python-versions = "*" -version = "8.0" - -[package.dependencies] -pytest = ">=4.4" -setuptools = ">=40.0" - [[package]] category = "dev" description = "pytest plugin to re-run tests to eliminate flaky failures" @@ -989,7 +696,6 @@ setuptools = ">=40.0" [[package]] category = "dev" description = "World timezone definitions, modern and historical" -marker = "python_version < \"3\" or python_version >= \"3\"" name = "pytz" optional = false python-versions = "*" @@ -1099,15 +805,6 @@ version = "1.5.0" [package.extras] idna2008 = ["idna"] -[[package]] -category = "dev" -description = "scandir, a better directory iterator and faster os.walk()" -marker = "python_version < \"3\"" -name = "scandir" -optional = false -python-versions = "*" -version = "1.10.0" - [[package]] category = "dev" description = "Python bindings to FreeDesktop.org Secret Service API" @@ -1132,43 +829,11 @@ version = "1.16.0" [[package]] category = "dev" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -marker = "python_version < \"3\" or python_version >= \"3\"" name = "snowballstemmer" optional = false python-versions = "*" version = "2.1.0" -[[package]] -category = "dev" -description = "Python documentation generator" -name = "sphinx" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.8.5" - -[package.dependencies] -Jinja2 = ">=2.3" -Pygments = ">=2.0" -alabaster = ">=0.7,<0.8" -babel = ">=1.3,<2.0 || >2.0" -colorama = ">=0.3.5" -docutils = ">=0.11" -imagesize = "*" -packaging = "*" -requests = ">=2.0.0" -setuptools = "*" -six = ">=1.5" -snowballstemmer = ">=1.1" -sphinxcontrib-websupport = "*" - -[package.dependencies.typing] -python = "<3.5" -version = "*" - -[package.extras] -test = ["mock", "pytest", "pytest-cov", "html5lib", "flake8 (>=3.5.0)", "flake8-import-order", "enum34", "mypy", "typed-ast"] -websupport = ["sqlalchemy (>=0.9)", "whoosh (>=2.0)"] - [[package]] category = "dev" description = "Python documentation generator" @@ -1252,7 +917,6 @@ tests = ["pytest", "mock"] [[package]] category = "dev" description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" -marker = "python_version >= \"3\"" name = "sphinxcontrib-applehelp" optional = false python-versions = ">=3.5" @@ -1265,7 +929,6 @@ test = ["pytest"] [[package]] category = "dev" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -marker = "python_version >= \"3\"" name = "sphinxcontrib-devhelp" optional = false python-versions = ">=3.5" @@ -1278,7 +941,6 @@ test = ["pytest"] [[package]] category = "dev" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -marker = "python_version >= \"3\"" name = "sphinxcontrib-htmlhelp" optional = false python-versions = ">=3.5" @@ -1291,7 +953,6 @@ test = ["pytest", "html5lib"] [[package]] category = "dev" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -marker = "python_version >= \"3\"" name = "sphinxcontrib-htmlhelp" optional = false python-versions = ">=3.6" @@ -1304,7 +965,6 @@ test = ["pytest", "html5lib"] [[package]] category = "dev" description = "A sphinx extension which renders display math in HTML via JavaScript" -marker = "python_version >= \"3\"" name = "sphinxcontrib-jsmath" optional = false python-versions = ">=3.5" @@ -1316,7 +976,6 @@ test = ["pytest", "flake8", "mypy"] [[package]] category = "dev" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -marker = "python_version >= \"3\"" name = "sphinxcontrib-qthelp" optional = false python-versions = ">=3.5" @@ -1329,7 +988,6 @@ test = ["pytest"] [[package]] category = "dev" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -marker = "python_version >= \"3\"" name = "sphinxcontrib-serializinghtml" optional = false python-versions = ">=3.5" @@ -1339,22 +997,9 @@ version = "1.1.5" lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -[[package]] -category = "dev" -description = "Sphinx API for Web Apps" -marker = "python_version < \"3\"" -name = "sphinxcontrib-websupport" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.1.2" - -[package.extras] -test = ["pytest", "mock"] - [[package]] category = "dev" description = "Python Library for Tom's Obvious, Minimal Language" -marker = "python_version >= \"3.6\" and python_version < \"4.0\" or python_version >= \"3\"" name = "toml" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" @@ -1366,7 +1011,7 @@ description = "Fast, Extensible Progress Meter" name = "tqdm" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -version = "4.61.0" +version = "4.61.1" [package.extras] dev = ["py-make (>=0.1.0)", "twine", "wheel"] @@ -1421,19 +1066,10 @@ optional = false python-versions = "*" version = "1.4.3" -[[package]] -category = "dev" -description = "Type Hints for Python" -marker = "python_version < \"3.5\"" -name = "typing" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <3.5" -version = "3.10.0.0" - [[package]] category = "dev" description = "Backported and Experimental Type Hints for Python 3.5+" -marker = "python_version >= \"3\" and python_version < \"3.8\" or python_version >= \"3.6\" and python_version < \"4.0\" or python_version < \"3.8\"" +marker = "python_version >= \"3.6\" and python_version < \"4.0\" or python_version < \"3.8\"" name = "typing-extensions" optional = false python-versions = "*" @@ -1452,20 +1088,6 @@ brotli = ["brotlipy (>=0.6.0)"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] -[[package]] -category = "dev" -description = "Measures the displayed width of unicode strings in a terminal" -marker = "python_version < \"3\"" -name = "wcwidth" -optional = false -python-versions = "*" -version = "0.2.5" - -[package.dependencies] -[package.dependencies."backports.functools-lru-cache"] -python = "<3.2" -version = ">=1.2.1" - [[package]] category = "dev" description = "Character encoding aliases for legacy web content" @@ -1477,17 +1099,12 @@ version = "0.5.1" [[package]] category = "dev" description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\" or python_version >= \"3\" and python_version < \"3.8\"" +marker = "python_version < \"3.8\"" name = "zipp" optional = false python-versions = ">=2.7" version = "1.2.0" -[package.dependencies] -[package.dependencies.contextlib2] -python = "<3.4" -version = "*" - [package.extras] docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"] @@ -1513,9 +1130,9 @@ lint = [] test = [] [metadata] -content-hash = "93dd01034663e935ae6d194015952cbaa939b17701e716adc8efd00d98d9658d" +content-hash = "b68c28d11a493ba4c02fbf993639a22d2d0d5fb28d23dcd0c3febc3211d5644a" lock-version = "1.0" -python-versions = "~2.7 || ^3.5" +python-versions = "^3.5" [metadata.files] aafigure = [ @@ -1546,10 +1163,6 @@ babel = [ {file = "Babel-2.9.1-py2.py3-none-any.whl", hash = "sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9"}, {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, ] -"backports.functools-lru-cache" = [ - {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"}, - {file = "backports.functools_lru_cache-1.6.4.tar.gz", hash = "sha256:d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271"}, -] black = [ {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, ] @@ -1558,8 +1171,8 @@ bleach = [ {file = "bleach-3.3.0.tar.gz", hash = "sha256:98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433"}, ] certifi = [ - {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, - {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, + {file = "certifi-2021.5.30-py2.py3-none-any.whl", hash = "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8"}, + {file = "certifi-2021.5.30.tar.gz", hash = "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee"}, ] cffi = [ {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"}, @@ -1578,36 +1191,24 @@ cffi = [ {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"}, {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"}, {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"}, - {file = "cffi-1.14.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24ec4ff2c5c0c8f9c6b87d5bb53555bf267e1e6f70e52e5a9740d32861d36b6f"}, - {file = "cffi-1.14.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c3f39fa737542161d8b0d680df2ec249334cd70a8f420f71c9304bd83c3cbed"}, - {file = "cffi-1.14.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:681d07b0d1e3c462dd15585ef5e33cb021321588bebd910124ef4f4fb71aef55"}, {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"}, {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"}, {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"}, {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"}, {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"}, {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"}, - {file = "cffi-1.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06d7cd1abac2ffd92e65c0609661866709b4b2d82dd15f611e602b9b188b0b69"}, - {file = "cffi-1.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f861a89e0043afec2a51fd177a567005847973be86f709bbb044d7f42fc4e05"}, - {file = "cffi-1.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc5a8e069b9ebfa22e26d0e6b97d6f9781302fe7f4f2b8776c3e1daea35f1adc"}, {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"}, {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"}, {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"}, {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"}, {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"}, {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"}, - {file = "cffi-1.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04c468b622ed31d408fea2346bec5bbffba2cc44226302a0de1ade9f5ea3d373"}, - {file = "cffi-1.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:06db6321b7a68b2bd6df96d08a5adadc1fa0e8f419226e25b2a5fbf6ccc7350f"}, - {file = "cffi-1.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:293e7ea41280cb28c6fcaaa0b1aa1f533b8ce060b9e701d78511e1e6c4a1de76"}, {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"}, {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"}, {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"}, {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"}, {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"}, {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"}, - {file = "cffi-1.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bf1ac1984eaa7675ca8d5745a8cb87ef7abecb5592178406e55858d411eadc0"}, - {file = "cffi-1.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:df5052c5d867c1ea0b311fb7c3cd28b19df469c056f7fdcfe88c7473aa63e333"}, - {file = "cffi-1.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:24a570cd11895b60829e941f2613a4f79df1a27344cbbb82164ef2e0116f09c7"}, {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"}, {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"}, {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"}, @@ -1633,14 +1234,6 @@ commonmark = [ {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, ] -configparser = [ - {file = "configparser-4.0.2-py2.py3-none-any.whl", hash = "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c"}, - {file = "configparser-4.0.2.tar.gz", hash = "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"}, -] -contextlib2 = [ - {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"}, - {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"}, -] coverage = [ {file = "coverage-5.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf"}, {file = "coverage-5.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b"}, @@ -1719,30 +1312,10 @@ docutils = [ {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] -enum34 = [ - {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"}, - {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"}, - {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"}, -] flake8 = [ {file = "flake8-3.9.2-py2.py3-none-any.whl", hash = "sha256:bf8fd333346d844f616e8d47905ef3a3384edae6b4e9beb0c5101e25e3110907"}, {file = "flake8-3.9.2.tar.gz", hash = "sha256:07528381786f2a6237b061f6e96610a4167b226cb926e2aa2b6b1d78057c576b"}, ] -funcsigs = [ - {file = "funcsigs-1.0.2-py2.py3-none-any.whl", hash = "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca"}, - {file = "funcsigs-1.0.2.tar.gz", hash = "sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"}, -] -functools32 = [ - {file = "functools32-3.2.3-2.tar.gz", hash = "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"}, - {file = "functools32-3.2.3-2.zip", hash = "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0"}, -] -future = [ - {file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"}, -] -futures = [ - {file = "futures-3.3.0-py2-none-any.whl", hash = "sha256:49b3f5b064b6e3afc3316421a3f25f66c137ae88f068abbf72830170033c5e16"}, - {file = "futures-3.3.0.tar.gz", hash = "sha256:7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"}, -] idna = [ {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, @@ -1754,8 +1327,8 @@ imagesize = [ importlib-metadata = [ {file = "importlib_metadata-2.1.1-py2.py3-none-any.whl", hash = "sha256:c2d6341ff566f609e89a2acb2db190e5e1d23d5409d6cc8d2fe34d72443876d4"}, {file = "importlib_metadata-2.1.1.tar.gz", hash = "sha256:b8de9eff2b35fb037368f28a7df1df4e6436f578fa74423505b6c6a778d5b5dd"}, - {file = "importlib_metadata-4.3.1-py3-none-any.whl", hash = "sha256:c2e27fa8b6c8b34ebfcd4056ae2ca290e36250d1fbeceec85c1c67c711449fac"}, - {file = "importlib_metadata-4.3.1.tar.gz", hash = "sha256:2d932ea08814f745863fd20172fe7de4794ad74567db78f2377343e24520a5b6"}, + {file = "importlib_metadata-4.5.0-py3-none-any.whl", hash = "sha256:833b26fb89d5de469b24a390e9df088d4e52e4ba33b01dc5e0e4f41b81a16c00"}, + {file = "importlib_metadata-4.5.0.tar.gz", hash = "sha256:b142cc1dd1342f31ff04bb7d022492b09920cb64fed867cd3ea6f80fe3ebd139"}, ] iniconfig = [ {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, @@ -1880,15 +1453,6 @@ mccabe = [ {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, ] -mock = [ - {file = "mock-3.0.5-py2.py3-none-any.whl", hash = "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8"}, - {file = "mock-3.0.5.tar.gz", hash = "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3"}, -] -more-itertools = [ - {file = "more-itertools-5.0.0.tar.gz", hash = "sha256:38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4"}, - {file = "more_itertools-5.0.0-py2-none-any.whl", hash = "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc"}, - {file = "more_itertools-5.0.0-py3-none-any.whl", hash = "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9"}, -] mypy-extensions = [ {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, @@ -1898,8 +1462,6 @@ packaging = [ {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"}, ] pathlib2 = [ - {file = "pathlib2-2.3.4-py2.py3-none-any.whl", hash = "sha256:2156525d6576d21c4dcaddfa427fae887ef89a7a9de5cbfe0728b3aafa78427e"}, - {file = "pathlib2-2.3.4.tar.gz", hash = "sha256:446014523bb9be5c28128c4d2a10ad6bb60769e78bd85658fe44a450674e0ef8"}, {file = "pathlib2-2.3.5-py2.py3-none-any.whl", hash = "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db"}, {file = "pathlib2-2.3.5.tar.gz", hash = "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"}, ] @@ -1908,36 +1470,6 @@ pathspec = [ {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"}, ] pillow = [ - {file = "Pillow-6.2.2-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:834dd023b7f987d6b700ad93dc818098d7eb046bd445e9992b3093c6f9d7a95f"}, - {file = "Pillow-6.2.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:d3a98444a00b4643b22b0685dbf9e0ddcaf4ebfd4ea23f84f228adf5a0765bb2"}, - {file = "Pillow-6.2.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:2b4a94be53dff02af90760c10a2e3634c3c7703410f38c98154d5ce71fe63d20"}, - {file = "Pillow-6.2.2-cp27-cp27m-win32.whl", hash = "sha256:87ef0eca169f7f0bc050b22f05c7e174a65c36d584428431e802c0165c5856ea"}, - {file = "Pillow-6.2.2-cp27-cp27m-win_amd64.whl", hash = "sha256:cbd5647097dc55e501f459dbac7f1d0402225636deeb9e0a98a8d2df649fc19d"}, - {file = "Pillow-6.2.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:4adc3302df4faf77c63ab3a83e1a3e34b94a6a992084f4aa1cb236d1deaf4b39"}, - {file = "Pillow-6.2.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e3a797a079ce289e59dbd7eac9ca3bf682d52687f718686857281475b7ca8e6a"}, - {file = "Pillow-6.2.2-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:bb7861e4618a0c06c40a2e509c1bea207eea5fd4320d486e314e00745a402ca5"}, - {file = "Pillow-6.2.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:535e8e0e02c9f1fc2e307256149d6ee8ad3aa9a6e24144b7b6e6fb6126cb0e99"}, - {file = "Pillow-6.2.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:bc149dab804291a18e1186536519e5e122a2ac1316cb80f506e855a500b1cdd4"}, - {file = "Pillow-6.2.2-cp35-cp35m-win32.whl", hash = "sha256:1a3bc8e1db5af40a81535a62a591fafdb30a8a1b319798ea8052aa65ef8f06d2"}, - {file = "Pillow-6.2.2-cp35-cp35m-win_amd64.whl", hash = "sha256:d6b4dc325170bee04ca8292bbd556c6f5398d52c6149ca881e67daf62215426f"}, - {file = "Pillow-6.2.2-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:43ef1cff7ee57f9c8c8e6fa02a62eae9fa23a7e34418c7ce88c0e3fe09d1fb38"}, - {file = "Pillow-6.2.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:900de1fdc93764be13f6b39dc0dd0207d9ff441d87ad7c6e97e49b81987dc0f3"}, - {file = "Pillow-6.2.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:92b83b380f9181cacc994f4c983d95a9c8b00b50bf786c66d235716b526a3332"}, - {file = "Pillow-6.2.2-cp36-cp36m-win32.whl", hash = "sha256:00e0bbe9923adc5cc38a8da7d87d4ce16cde53b8d3bba8886cb928e84522d963"}, - {file = "Pillow-6.2.2-cp36-cp36m-win_amd64.whl", hash = "sha256:5ccfcb0a34ad9b77ad247c231edb781763198f405a5c8dc1b642449af821fb7f"}, - {file = "Pillow-6.2.2-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:5dcbbaa3a24d091a64560d3c439a8962866a79a033d40eb1a75f1b3413bfc2bc"}, - {file = "Pillow-6.2.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6e2a7e74d1a626b817ecb7a28c433b471a395c010b2a1f511f976e9ea4363e64"}, - {file = "Pillow-6.2.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c424d35a5259be559b64490d0fd9e03fba81f1ce8e5b66e0a59de97547351d80"}, - {file = "Pillow-6.2.2-cp37-cp37m-win32.whl", hash = "sha256:aa4792ab056f51b49e7d59ce5733155e10a918baf8ce50f64405db23d5627fa2"}, - {file = "Pillow-6.2.2-cp37-cp37m-win_amd64.whl", hash = "sha256:0d5c99f80068f13231ac206bd9b2e80ea357f5cf9ae0fa97fab21e32d5b61065"}, - {file = "Pillow-6.2.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03457e439d073770d88afdd90318382084732a5b98b0eb6f49454746dbaae701"}, - {file = "Pillow-6.2.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ccf16fe444cc43800eeacd4f4769971200982200a71b1368f49410d0eb769543"}, - {file = "Pillow-6.2.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:b72c39585f1837d946bd1a829a4820ccf86e361f28cbf60f5d646f06318b61e2"}, - {file = "Pillow-6.2.2-cp38-cp38-win32.whl", hash = "sha256:3ba7d8f1d962780f86aa747fef0baf3211b80cb13310fff0c375da879c0656d4"}, - {file = "Pillow-6.2.2-cp38-cp38-win_amd64.whl", hash = "sha256:3e81485cec47c24f5fb27acb485a4fc97376b2b332ed633867dc68ac3077998c"}, - {file = "Pillow-6.2.2-pp273-pypy_73-win32.whl", hash = "sha256:aa1b0297e352007ec781a33f026afbb062a9a9895bb103c8f49af434b1666880"}, - {file = "Pillow-6.2.2-pp373-pypy36_pp73-win32.whl", hash = "sha256:82859575005408af81b3e9171ae326ff56a69af5439d3fc20e8cb76cd51c8246"}, - {file = "Pillow-6.2.2.tar.gz", hash = "sha256:db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950"}, {file = "Pillow-7.2.0-cp35-cp35m-macosx_10_10_intel.whl", hash = "sha256:1ca594126d3c4def54babee699c055a913efb01e106c309fa6b04405d474d5ae"}, {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c92302a33138409e8f1ad16731568c55c9053eee71bb05b6b744067e1b62380f"}, {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:8dad18b69f710bf3a001d2bf3afab7c432785d94fcf819c16b5207b1cfd17d38"}, @@ -2026,8 +1558,6 @@ pyflakes = [ {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, ] pygments = [ - {file = "Pygments-2.5.2-py2.py3-none-any.whl", hash = "sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b"}, - {file = "Pygments-2.5.2.tar.gz", hash = "sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe"}, {file = "Pygments-2.9.0-py3-none-any.whl", hash = "sha256:d66e804411278594d764fc69ec36ec13d9ae9147193a1740cd34d272ca383b8e"}, {file = "Pygments-2.9.0.tar.gz", hash = "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"}, ] @@ -2036,30 +1566,22 @@ pyparsing = [ {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, ] pytest = [ - {file = "pytest-4.6.11-py2.py3-none-any.whl", hash = "sha256:a00a7d79cbbdfa9d21e7d0298392a8dd4123316bfac545075e6f8f24c94d8c97"}, - {file = "pytest-4.6.11.tar.gz", hash = "sha256:50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353"}, {file = "pytest-6.1.2-py3-none-any.whl", hash = "sha256:4288fed0d9153d9646bfcdf0c0428197dba1ecb27a33bb6e031d002fa88653fe"}, {file = "pytest-6.1.2.tar.gz", hash = "sha256:c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e"}, {file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"}, {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"}, ] pytest-cov = [ - {file = "pytest-cov-2.9.0.tar.gz", hash = "sha256:b6a814b8ed6247bd81ff47f038511b57fe1ce7f4cc25b9106f1a4b106f1d9322"}, - {file = "pytest_cov-2.9.0-py2.py3-none-any.whl", hash = "sha256:c87dfd8465d865655a8213859f1b4749b43448b5fae465cb981e16d52a811424"}, - {file = "pytest-cov-2.12.0.tar.gz", hash = "sha256:8535764137fecce504a49c2b742288e3d34bc09eed298ad65963616cc98fd45e"}, - {file = "pytest_cov-2.12.0-py2.py3-none-any.whl", hash = "sha256:95d4933dcbbacfa377bb60b29801daa30d90c33981ab2a79e9ab4452c165066e"}, + {file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"}, + {file = "pytest_cov-2.12.1-py2.py3-none-any.whl", hash = "sha256:261bb9e47e65bd099c89c3edf92972865210c36813f80ede5277dceb77a4a62a"}, ] pytest-mock = [ - {file = "pytest-mock-2.0.0.tar.gz", hash = "sha256:b35eb281e93aafed138db25c8772b95d3756108b601947f89af503f8c629413f"}, - {file = "pytest_mock-2.0.0-py2.py3-none-any.whl", hash = "sha256:cb67402d87d5f53c579263d37971a164743dc33c159dfb4fb4a86f37c5552307"}, {file = "pytest-mock-3.5.1.tar.gz", hash = "sha256:a1e2aba6af9560d313c642dae7e00a2a12b022b80301d9d7fc8ec6858e1dd9fc"}, {file = "pytest_mock-3.5.1-py3-none-any.whl", hash = "sha256:379b391cfad22422ea2e252bdfc008edd08509029bcde3c25b2c0bd741e0424e"}, {file = "pytest-mock-3.6.1.tar.gz", hash = "sha256:40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62"}, {file = "pytest_mock-3.6.1-py3-none-any.whl", hash = "sha256:30c2f2cc9759e76eee674b81ea28c9f0b94f8f0445a1b87762cadf774f0df7e3"}, ] pytest-rerunfailures = [ - {file = "pytest-rerunfailures-8.0.tar.gz", hash = "sha256:17c1236b9f8463f74a5df6c807f301c53c2ea1ab81b7509b7e23fab3b7cbe812"}, - {file = "pytest_rerunfailures-8.0-py2.py3-none-any.whl", hash = "sha256:4997cda1b82f74cc0c280f6a5a0470d36deb318e3d8bd6da71efc32a3e0c9ae4"}, {file = "pytest-rerunfailures-9.1.1.tar.gz", hash = "sha256:1cb11a17fc121b3918414eb5eaf314ee325f2e693ac7cb3f6abf7560790827f2"}, {file = "pytest_rerunfailures-9.1.1-py3-none-any.whl", hash = "sha256:2eb7d0ad651761fbe80e064b0fd415cf6730cdbc53c16a145fd84b66143e609f"}, {file = "pytest-rerunfailures-10.0.tar.gz", hash = "sha256:3906e611f962e3bdf15501e8a24ad2d12a703eff7d2030ea88acf68ad8d6b391"}, @@ -2093,26 +1615,18 @@ pyyaml = [ {file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"}, {file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"}, {file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"}, - {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"}, - {file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"}, {file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"}, {file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"}, {file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"}, {file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"}, - {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"}, - {file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"}, {file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"}, {file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"}, {file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"}, {file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"}, - {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"}, - {file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"}, {file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"}, {file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"}, {file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"}, {file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"}, - {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"}, - {file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"}, {file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"}, {file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"}, {file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"}, @@ -2180,19 +1694,6 @@ rfc3986 = [ {file = "rfc3986-1.5.0-py2.py3-none-any.whl", hash = "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97"}, {file = "rfc3986-1.5.0.tar.gz", hash = "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835"}, ] -scandir = [ - {file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"}, - {file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"}, - {file = "scandir-1.10.0-cp34-cp34m-win32.whl", hash = "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f"}, - {file = "scandir-1.10.0-cp34-cp34m-win_amd64.whl", hash = "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e"}, - {file = "scandir-1.10.0-cp35-cp35m-win32.whl", hash = "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f"}, - {file = "scandir-1.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32"}, - {file = "scandir-1.10.0-cp36-cp36m-win32.whl", hash = "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022"}, - {file = "scandir-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4"}, - {file = "scandir-1.10.0-cp37-cp37m-win32.whl", hash = "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173"}, - {file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"}, - {file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"}, -] secretstorage = [ {file = "SecretStorage-3.3.1-py3-none-any.whl", hash = "sha256:422d82c36172d88d6a0ed5afdec956514b189ddbfb72fefab0c8a1cee4eaf71f"}, {file = "SecretStorage-3.3.1.tar.gz", hash = "sha256:fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195"}, @@ -2206,8 +1707,6 @@ snowballstemmer = [ {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"}, ] sphinx = [ - {file = "Sphinx-1.8.5-py2.py3-none-any.whl", hash = "sha256:9f3e17c64b34afc653d7c5ec95766e03043cc6d80b0de224f59b6b6e19d37c3c"}, - {file = "Sphinx-1.8.5.tar.gz", hash = "sha256:c7658aab75c920288a8cf6f09f244c6cfdae30d82d803ac1634d9f223a80ca08"}, {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"}, {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"}, {file = "Sphinx-4.0.2-py3-none-any.whl", hash = "sha256:d1cb10bee9c4231f1700ec2e24a91be3f3a3aba066ea4ca9f3bbe47e59d5a1d4"}, @@ -2243,17 +1742,13 @@ sphinxcontrib-serializinghtml = [ {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, ] -sphinxcontrib-websupport = [ - {file = "sphinxcontrib-websupport-1.1.2.tar.gz", hash = "sha256:1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc"}, - {file = "sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl", hash = "sha256:e02f717baf02d0b6c3dd62cf81232ffca4c9d5c331e03766982e3ff9f1d2bc3f"}, -] toml = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] tqdm = [ - {file = "tqdm-4.61.0-py2.py3-none-any.whl", hash = "sha256:736524215c690621b06fc89d0310a49822d75e599fcd0feb7cc742b98d692493"}, - {file = "tqdm-4.61.0.tar.gz", hash = "sha256:cd5791b5d7c3f2f1819efc81d36eb719a38e0906a7380365c556779f585ea042"}, + {file = "tqdm-4.61.1-py2.py3-none-any.whl", hash = "sha256:aa0c29f03f298951ac6318f7c8ce584e48fa22ec26396e6411e43d038243bdb2"}, + {file = "tqdm-4.61.1.tar.gz", hash = "sha256:24be966933e942be5f074c29755a95b315c69a91f839a29139bf26ffffe2d3fd"}, ] twine = [ {file = "twine-1.15.0-py2.py3-none-any.whl", hash = "sha256:630fadd6e342e725930be6c696537e3f9ccc54331742b16245dab292a17d0460"}, @@ -2293,11 +1788,6 @@ typed-ast = [ {file = "typed_ast-1.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c"}, {file = "typed_ast-1.4.3.tar.gz", hash = "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65"}, ] -typing = [ - {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"}, - {file = "typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89"}, - {file = "typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130"}, -] typing-extensions = [ {file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"}, {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"}, @@ -2307,10 +1797,6 @@ urllib3 = [ {file = "urllib3-1.26.5-py2.py3-none-any.whl", hash = "sha256:753a0374df26658f99d826cfe40394a686d05985786d946fbe4165b5148f5a7c"}, {file = "urllib3-1.26.5.tar.gz", hash = "sha256:a7acd0977125325f516bda9735fa7142b909a8d01e8b2e4c8108d0984e6e0098"}, ] -wcwidth = [ - {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, - {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, -] webencodings = [ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, diff --git a/pyproject.toml b/pyproject.toml index db84686451..d70783a826 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,6 @@ classifiers = [ "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", @@ -37,7 +36,7 @@ Repository = "https://github.com/tmux-python/tmuxp" tmuxp = 'tmuxp:cli.cli' [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" click = "^7" kaptan = ">=0.5.10" libtmux = "<0.9" @@ -45,38 +44,22 @@ colorama = ">=0.3.9" [tool.poetry.dev-dependencies] ### Docs ### -sphinx = [ - {version="<2", python="<3"}, - {version="*", python=">=3"} -] +sphinx = "*" recommonmark = {version = "^0.6.0"} alagitpull = {version = "~0.1.0"} sphinx-issues = {version = "^1.2.0"} aafigure = ">=0.6" -pillow = [ - {version="<7", python="<3"}, - {version="*", python=">=3"} -] +pillow = "*" ### Testing ### -pytest = [ - {version="<4.7.0", python="<3"}, - {version="*", python=">=3"} -] -pathlib2 = {version="<2.3.5", python="<3"} # Untangle pytest peer-dependency +pytest = "*" pytest-rerunfailures = "*" -pytest-mock = [ - {version="<3.0.0", python="<3"}, - {version="*", python=">=3"} -] +pytest-mock = "*" +pytest-cov = "*" ### Coverage ### codecov = "*" coverage = "*" -pytest-cov = [ - {version="<2.10.0", python="<3"}, - {version="*", python=">=3"} -] ### Format ### black = {version="==20.08b1", python="^3.6"} diff --git a/requirements/dev.txt b/requirements/dev.txt index 7b832b3f25..1b6470493e 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,3 +1,3 @@ -isort<5 -flake8<4 +isort +flake8 twine diff --git a/requirements/test.txt b/requirements/test.txt index 888665119b..ecaefb1b8b 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ -pytest<6.3 -pytest-rerunfailures<11 +pytest +pytest-rerunfailures pytest-cov coverage codecov diff --git a/setup.py b/setup.py index 83b8ad9d94..ebd40c6e09 100644 --- a/setup.py +++ b/setup.py @@ -51,7 +51,6 @@ "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml index 97d3597e59..1fe4beb5cb 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test after_window_finished part of the tmuxp pl authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml index 01a1fe2858..653eec9096 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml @@ -5,8 +5,8 @@ description = "A tmuxp plugin to test before_script part of the tmuxp plugin sys authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" -tmuxp = "^1.7.0" +python = "^3.5" +tmuxp = "^1.7.0." [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml index 1693dc04ba..b63716fe6f 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test before_workspace_build part of the tmuxp p authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml index fbce74c992..aa7cfae357 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml @@ -5,7 +5,7 @@ description = "A test plugin designed to fail to test the cli" authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml index 1484f2b3eb..f4d2934471 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test on_window_create part of the tmuxp plugin authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml index 9e18628f92..dbf6f6ce3e 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test reattach part of the tmuxp plugin system" authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "~2.7 || ^3.5" +python = "^3.5" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/test_shell.py b/tests/test_shell.py index 9c700b5039..ca6a97b265 100644 --- a/tests/test_shell.py +++ b/tests/test_shell.py @@ -1,10 +1,9 @@ from tmuxp import shell -from tmuxp._compat import string_types def test_detect_best_shell(): result = shell.detect_best_shell() - assert isinstance(result, string_types) + assert isinstance(result, str) def test_shell_detect(): diff --git a/tests/test_workspacebuilder.py b/tests/test_workspacebuilder.py index b38abadb3e..94dd04ceaa 100644 --- a/tests/test_workspacebuilder.py +++ b/tests/test_workspacebuilder.py @@ -13,7 +13,6 @@ from libtmux.common import has_gte_version from libtmux.test import retry, temp_session from tmuxp import config, exc -from tmuxp._compat import text_type from tmuxp.cli import load_plugins from tmuxp.workspacebuilder import WorkspaceBuilder @@ -326,14 +325,14 @@ def test_window_shell(session): for w, wconf in builder.iter_create_windows(s): if 'window_shell' in wconf: - assert wconf['window_shell'] == text_type('top') + assert wconf['window_shell'] == str('top') while retry(): session.server._update_windows() if w['window_name'] != 'top': break - assert w.name != text_type('top') + assert w.name != str('top') def test_environment_variables(session): @@ -392,7 +391,7 @@ def test_automatic_rename_option(session): if w.name == 'sh': break - assert w.name == text_type('sh') + assert w.name == 'sh' w.select_pane('-D') @@ -401,7 +400,7 @@ def test_automatic_rename_option(session): if w['window_name'] != 'sh': break - assert w.name != text_type('sh') + assert w.name != 'sh' def test_blank_pane_count(session): diff --git a/tmuxp/_compat.py b/tmuxp/_compat.py index b4b1298686..fb5fd4dea0 100644 --- a/tmuxp/_compat.py +++ b/tmuxp/_compat.py @@ -2,14 +2,12 @@ # flake8: NOQA import sys -PY2 = sys.version_info[0] == 2 PY3 = sys.version_info[0] == 3 PYMINOR = sys.version_info[1] PYPATCH = sys.version_info[2] _identity = lambda x: x - if PY3 and PYMINOR >= 7: breakpoint = breakpoint else: @@ -18,89 +16,14 @@ breakpoint = pdb.set_trace -if PY2: - unichr = unichr - text_type = unicode - string_types = (str, unicode) - integer_types = (int, long) - from urllib import urlretrieve - - text_to_native = lambda s, enc: s.encode(enc) - - iterkeys = lambda d: d.iterkeys() - itervalues = lambda d: d.itervalues() - iteritems = lambda d: d.iteritems() - - from itertools import imap, izip - - import ConfigParser as configparser - import cPickle as pickle - from cStringIO import StringIO as BytesIO - from StringIO import StringIO - - range_type = xrange +console_encoding = sys.__stdout__.encoding - cmp = cmp +implements_to_string = _identity - input = raw_input - from string import lower as ascii_lowercase - import urlparse - - exec('def reraise(tp, value, tb=None):\n raise tp, value, tb') - - def implements_to_string(cls): - cls.__unicode__ = cls.__str__ - cls.__str__ = lambda x: x.__unicode__().encode('utf-8') - return cls - - def console_to_str(s): +def console_to_str(s): + """ From pypa/pip project, pip.backwardwardcompat. License MIT. """ + try: + return s.decode(console_encoding) + except UnicodeDecodeError: return s.decode('utf_8') - - -else: - unichr = chr - text_type = str - string_types = (str,) - integer_types = (int,) - - text_to_native = lambda s, enc: s - - iterkeys = lambda d: iter(d.keys()) - itervalues = lambda d: iter(d.values()) - iteritems = lambda d: iter(d.items()) - - import configparser - import pickle - from io import BytesIO, StringIO - - izip = zip - imap = map - range_type = range - - cmp = lambda a, b: (a > b) - (a < b) - - input = input - import urllib.parse as urllib - import urllib.parse as urlparse - from string import ascii_lowercase - from urllib.request import urlretrieve - - console_encoding = sys.__stdout__.encoding - - implements_to_string = _identity - - def console_to_str(s): - """ From pypa/pip project, pip.backwardwardcompat. License MIT. """ - try: - return s.decode(console_encoding) - except UnicodeDecodeError: - return s.decode('utf_8') - - def reraise(tp, value, tb=None): - if value.__traceback__ is not tb: - raise (value.with_traceback(tb)) - raise value - - -number_types = integer_types + (float,) diff --git a/tmuxp/cli.py b/tmuxp/cli.py index 74f5142c06..0b107a3536 100644 --- a/tmuxp/cli.py +++ b/tmuxp/cli.py @@ -17,21 +17,20 @@ import kaptan from click.exceptions import FileError +from libtmux import __version__ as libtmux_version from libtmux.common import ( + get_version, has_gte_version, has_minimum_version, - which, - get_version, tmux_cmd, + which, ) from libtmux.exc import TmuxCommandNotFound from libtmux.server import Server -from libtmux import __version__ as libtmux_version - -from . import config, exc, log, util, __file__ as tmuxp_path +from . import __file__ as tmuxp_path, config, exc, log, util from .__about__ import __version__ -from ._compat import PY3, PYMINOR, string_types +from ._compat import PY3, PYMINOR from .workspacebuilder import WorkspaceBuilder, freeze logger = logging.getLogger(__name__) @@ -263,7 +262,7 @@ def scan_config_argument(ctx, param, value, config_dir=None): tmuxp_echo(ctx.get_help(), color=ctx.color) ctx.exit() - if isinstance(value, string_types): + if isinstance(value, str): value = scan_config(value, config_dir=config_dir) elif isinstance(value, tuple): @@ -712,8 +711,10 @@ def load_workspace( return _setup_plugins(builder) if 'TMUX' in os.environ: # tmuxp ran from inside tmux - msg = "Already inside TMUX, switch to session? yes/no\n"\ - "Or (a)ppend windows in the current active session?\n[y/n/a]" + msg = ( + "Already inside TMUX, switch to session? yes/no\n" + "Or (a)ppend windows in the current active session?\n[y/n/a]" + ) options = ['y', 'n', 'a'] choice = click.prompt(msg, value_proc=_validate_choices(options)) @@ -749,7 +750,6 @@ def load_workspace( return _setup_plugins(builder) - @click.group(context_settings={'obj': {}}) @click.version_option(__version__, '-V', '--version', message='%(prog)s %(version)s') @click.option( @@ -1008,7 +1008,7 @@ def command_freeze(session_name, socket_name, socket_path, force): '-a', 'append', help='Load configuration, appending windows to the current session', - is_flag=True + is_flag=True, ) @click.option( 'colors', @@ -1081,7 +1081,7 @@ def command_load( tmuxp_echo(ctx.get_help(), color=ctx.color) ctx.exit() - if isinstance(config, string_types): + if isinstance(config, str): load_workspace(config, **tmux_options) elif isinstance(config, tuple): diff --git a/tmuxp/config.py b/tmuxp/config.py index eee39ce45c..22c23c20ac 100644 --- a/tmuxp/config.py +++ b/tmuxp/config.py @@ -5,14 +5,11 @@ ~~~~~~~~~~~~ """ -from __future__ import absolute_import, unicode_literals - import copy import logging import os from . import exc -from ._compat import string_types logger = logging.getLogger(__name__) @@ -64,7 +61,7 @@ def is_config_file(filename, extensions=['.yml', '.yaml', '.json']): ------- bool """ - extensions = [extensions] if isinstance(extensions, string_types) else extensions + extensions = [extensions] if isinstance(extensions, str) else extensions return any(filename.endswith(e) for e in extensions) @@ -224,7 +221,7 @@ def expand(sconf, cwd=None, parent=None): if 'global_options' in sconf: for key in sconf['global_options']: val = sconf['global_options'][key] - if isinstance(val, string_types): + if isinstance(val, str): val = expandshell(val) if any(val.startswith(a) for a in ['.', './']): val = os.path.normpath(os.path.join(cwd, val)) @@ -232,7 +229,7 @@ def expand(sconf, cwd=None, parent=None): if 'options' in sconf: for key in sconf['options']: val = sconf['options'][key] - if isinstance(val, string_types): + if isinstance(val, str): val = expandshell(val) if any(val.startswith(a) for a in ['.', './']): val = os.path.normpath(os.path.join(cwd, val)) @@ -262,11 +259,11 @@ def expand(sconf, cwd=None, parent=None): os.path.join(cwd, sconf['before_script']) ) - if 'shell_command' in sconf and isinstance(sconf['shell_command'], string_types): + if 'shell_command' in sconf and isinstance(sconf['shell_command'], str): sconf['shell_command'] = [sconf['shell_command']] if 'shell_command_before' in sconf and isinstance( - sconf['shell_command_before'], string_types + sconf['shell_command_before'], str ): sconf['shell_command_before'] = [sconf['shell_command_before']] @@ -287,7 +284,7 @@ def expand(sconf, cwd=None, parent=None): p = copy.deepcopy(pconf) pconf = sconf['panes'][p_index] = {} - if isinstance(p, string_types): + if isinstance(p, str): p = {'shell_command': [p]} elif not p: p = {'shell_command': []} @@ -296,7 +293,7 @@ def expand(sconf, cwd=None, parent=None): if 'shell_command' in p: cmd = p['shell_command'] - if isinstance(p['shell_command'], string_types): + if isinstance(p['shell_command'], str): cmd = [cmd] if not cmd or any(a == cmd for a in [None, 'blank', 'pane']): @@ -446,12 +443,12 @@ def import_tmuxinator(sconf): if 'pre' in sconf and 'pre_window' in sconf: tmuxp_config['shell_command'] = sconf['pre'] - if isinstance(sconf['pre'], string_types): + if isinstance(sconf['pre'], str): tmuxp_config['shell_command_before'] = [sconf['pre_window']] else: tmuxp_config['shell_command_before'] = sconf['pre_window'] elif 'pre' in sconf: - if isinstance(sconf['pre'], string_types): + if isinstance(sconf['pre'], str): tmuxp_config['shell_command_before'] = [sconf['pre']] else: tmuxp_config['shell_command_before'] = sconf['pre'] @@ -466,7 +463,7 @@ def import_tmuxinator(sconf): windowdict = {'window_name': k} - if isinstance(v, string_types) or v is None: + if isinstance(v, str) or v is None: windowdict['panes'] = [v] tmuxp_config['windows'].append(windowdict) continue From 3cc7ce2645816bfe632a8a283968c62774143de0 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:26:58 -0500 Subject: [PATCH 2/8] libtmux: Update to v0.9.0 --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- requirements/base.txt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index 908d9e2a50..fe29bf26cb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -411,7 +411,7 @@ description = "scripting library / orm for tmux" name = "libtmux" optional = false python-versions = "*" -version = "0.8.5" +version = "0.9.0" [[package]] category = "dev" @@ -1130,7 +1130,7 @@ lint = [] test = [] [metadata] -content-hash = "b68c28d11a493ba4c02fbf993639a22d2d0d5fb28d23dcd0c3febc3211d5644a" +content-hash = "e43047a3bc9b35df4c2d822a1867acbeae0ed95e21e57dfe7e99fa91d3abe4f6" lock-version = "1.0" python-versions = "^3.5" @@ -1358,8 +1358,8 @@ keyring = [ {file = "keyring-23.0.1.tar.gz", hash = "sha256:045703609dd3fccfcdb27da201684278823b72af515aedec1a8515719a038cb8"}, ] libtmux = [ - {file = "libtmux-0.8.5-py3-none-any.whl", hash = "sha256:640b315497dba2235778d9fe6924e995523f61bfbbca35a0f8036fe07c1627b3"}, - {file = "libtmux-0.8.5.tar.gz", hash = "sha256:1d35b9f8451944d31c5ed22ed9e6c8e18034adcc75718fcc5b27fbd9621543e1"}, + {file = "libtmux-0.9.0-py3-none-any.whl", hash = "sha256:9684fa7c42e05275d0872b9d1f329b921211a107bc6cf98cb569b8f7f68a9096"}, + {file = "libtmux-0.9.0.tar.gz", hash = "sha256:c42727cbbcd02403cffb79c8ba8ea4f95ff1bd8c9328612fea537acd25e5ae16"}, ] markupsafe = [ {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, diff --git a/pyproject.toml b/pyproject.toml index d70783a826..38092dc44b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ tmuxp = 'tmuxp:cli.cli' python = "^3.5" click = "^7" kaptan = ">=0.5.10" -libtmux = "<0.9" +libtmux = "<0.10" colorama = ">=0.3.9" [tool.poetry.dev-dependencies] diff --git a/requirements/base.txt b/requirements/base.txt index fb2ab61bc7..50f749e54e 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,4 +1,4 @@ kaptan>=0.5.10 -libtmux>=0.8,<0.9 +libtmux>=0.9,<0.10 click>=7,<8 colorama>=0.3.9 From 9ab8d2e98262292a89a192f240d019c823feb7e9 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:30:03 -0500 Subject: [PATCH 3/8] chore: Remove __future__ and mode headers --- docs/_ext/aafig.py | 4 ---- docs/conf.py | 1 - tests/__init__.py | 3 --- tests/conftest.py | 9 +++++---- tests/test_cli.py | 3 --- tests/test_config.py | 4 ---- tests/test_config_teamocil.py | 4 ---- tests/test_config_tmuxinator.py | 4 ---- tests/test_plugin.py | 3 --- tests/test_util.py | 4 ---- tests/test_workspacebuilder.py | 4 ---- tests/test_workspacefreezer.py | 4 ---- tests/tests/test_helpers.py | 4 ---- tmuxp/__init__.py | 3 --- tmuxp/cli.py | 9 ++++----- tmuxp/config.py | 1 - tmuxp/exc.py | 4 ---- tmuxp/log.py | 3 --- tmuxp/shell.py | 3 --- tmuxp/util.py | 3 --- tmuxp/workspacebuilder.py | 6 +----- 21 files changed, 10 insertions(+), 73 deletions(-) diff --git a/docs/_ext/aafig.py b/docs/_ext/aafig.py index 5b27529f2e..38dd315d3e 100644 --- a/docs/_ext/aafig.py +++ b/docs/_ext/aafig.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """ sphinxcontrib.aafig ~~~~~~~~~~~~~~~~~~~ @@ -11,9 +10,6 @@ :author: Leandro Lucarella :license: BOLA, see LICENSE for details """ - -from __future__ import unicode_literals - import posixpath from os import path diff --git a/docs/conf.py b/docs/conf.py index 65f4b5b9fc..a05fcdbd6d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import inspect import os import sys diff --git a/tests/__init__.py b/tests/__init__.py index ce09160529..8cee3f54f4 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- """Tests for tmuxp. tmuxp.tests ~~~~~~~~~~~ """ -from __future__ import absolute_import, unicode_literals - import os current_dir = os.path.abspath(os.path.dirname(__file__)) diff --git a/tests/conftest.py b/tests/conftest.py index a4909a45af..410171cc8a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- import logging import os @@ -49,12 +48,14 @@ def session(server): if not server.has_session(session_name): server.cmd( - '-f', '/dev/null', # use a blank config to reduce side effects + '-f', + '/dev/null', # use a blank config to reduce side effects 'new-session', '-d', # detached - '-s', session_name, + '-s', + session_name, '/bin/sh', # use /bin/sh as a shell to reduce side effects - # normally, it'd be -c, but new-session is special + # normally, it'd be -c, but new-session is special ) # find current sessions prefixed with tmuxp diff --git a/tests/test_cli.py b/tests/test_cli.py index 3f0dd323cc..8a06b723f7 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp command line interface.""" -from __future__ import absolute_import - import json import os diff --git a/tests/test_config.py b/tests/test_config.py index e1085cf47b..74e58ea829 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp configuration import, inlining, expanding and export.""" - -from __future__ import absolute_import, unicode_literals - import os import pytest diff --git a/tests/test_config_teamocil.py b/tests/test_config_teamocil.py index bd92ee9b9f..dda802fbd8 100644 --- a/tests/test_config_teamocil.py +++ b/tests/test_config_teamocil.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp teamocil configuration.""" - -from __future__ import absolute_import, unicode_literals - import os import pytest diff --git a/tests/test_config_tmuxinator.py b/tests/test_config_tmuxinator.py index 5701fac3d6..3f2341ca30 100644 --- a/tests/test_config_tmuxinator.py +++ b/tests/test_config_tmuxinator.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp tmuxinator configuration.""" - -from __future__ import absolute_import, unicode_literals - import os import pytest diff --git a/tests/test_plugin.py b/tests/test_plugin.py index 88372c8fcf..d894c98937 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -1,7 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp plugin api.""" -from __future__ import absolute_import - import pytest from tmuxp.exc import TmuxpPluginException diff --git a/tests/test_util.py b/tests/test_util.py index 6f3d33b16a..17568ce7c1 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Tests for utility functions in tmux.""" - -from __future__ import absolute_import, unicode_literals - import os import pytest diff --git a/tests/test_workspacebuilder.py b/tests/test_workspacebuilder.py index 94dd04ceaa..e85b409177 100644 --- a/tests/test_workspacebuilder.py +++ b/tests/test_workspacebuilder.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp workspacebuilder.""" - -from __future__ import absolute_import, unicode_literals - import os import pytest diff --git a/tests/test_workspacefreezer.py b/tests/test_workspacefreezer.py index 373b29b271..62acb5bdaf 100644 --- a/tests/test_workspacefreezer.py +++ b/tests/test_workspacefreezer.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Test for tmuxp workspacefreezer.""" - -from __future__ import absolute_import, unicode_literals - import time import kaptan diff --git a/tests/tests/test_helpers.py b/tests/tests/test_helpers.py index 17394a95f0..6418cce579 100644 --- a/tests/tests/test_helpers.py +++ b/tests/tests/test_helpers.py @@ -1,8 +1,4 @@ -# -*- coding: utf-8 -*- """Tests for .'s helper and utility functions.""" - -from __future__ import absolute_import, unicode_literals - import pytest from libtmux.test import get_test_session_name, temp_session diff --git a/tmuxp/__init__.py b/tmuxp/__init__.py index 6d2c3228f1..145a640bc7 100644 --- a/tmuxp/__init__.py +++ b/tmuxp/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # flake8: NOQA """tmux session manager. @@ -9,8 +8,6 @@ :license: MIT, see LICENSE for details """ -from __future__ import absolute_import, unicode_literals - from . import cli, config, util from .__about__ import ( __author__, diff --git a/tmuxp/cli.py b/tmuxp/cli.py index 0b107a3536..72699f8f8c 100644 --- a/tmuxp/cli.py +++ b/tmuxp/cli.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- """Command line tool for managing tmux workspaces and tmuxp configurations. tmuxp.cli ~~~~~~~~~ """ -from __future__ import absolute_import - import importlib import logging import os @@ -663,8 +660,10 @@ def load_workspace( sconfig = config.trickle(sconfig) t = Server( # create tmux server object - socket_name=socket_name, socket_path=socket_path, - config_file=tmux_config_file, colors=colors, + socket_name=socket_name, + socket_path=socket_path, + config_file=tmux_config_file, + colors=colors, ) which('tmux') # raise exception if tmux not found diff --git a/tmuxp/config.py b/tmuxp/config.py index 22c23c20ac..d7b8047ebe 100644 --- a/tmuxp/config.py +++ b/tmuxp/config.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- """Configuration parsing and export for tmuxp. tmuxp.config diff --git a/tmuxp/exc.py b/tmuxp/exc.py index fb847f82c1..7ddcb24a09 100644 --- a/tmuxp/exc.py +++ b/tmuxp/exc.py @@ -1,13 +1,9 @@ -# -*- coding: utf-8 -*- """Exceptions for tmuxp. tmuxp.exc ~~~~~~~~~ """ - -from __future__ import absolute_import, unicode_literals - from ._compat import implements_to_string diff --git a/tmuxp/log.py b/tmuxp/log.py index bb9b3d0a45..15f3b8b669 100644 --- a/tmuxp/log.py +++ b/tmuxp/log.py @@ -1,13 +1,10 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- """Log utilities for tmuxp. tmuxp.log ~~~~~~~~~ """ -from __future__ import absolute_import, unicode_literals - import logging import time diff --git a/tmuxp/shell.py b/tmuxp/shell.py index 2920b590fd..3607b75290 100644 --- a/tmuxp/shell.py +++ b/tmuxp/shell.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- """Utility and helper methods for tmuxp. tmuxp.shell ~~~~~~~~~~~ """ -from __future__ import absolute_import, unicode_literals - import logging import os diff --git a/tmuxp/util.py b/tmuxp/util.py index 249b23f473..7fc32f713d 100644 --- a/tmuxp/util.py +++ b/tmuxp/util.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- """Utility and helper methods for tmuxp. tmuxp.util ~~~~~~~~~~ """ -from __future__ import absolute_import, unicode_literals - import logging import os import shlex diff --git a/tmuxp/workspacebuilder.py b/tmuxp/workspacebuilder.py index 45992cb21f..3263342a2e 100644 --- a/tmuxp/workspacebuilder.py +++ b/tmuxp/workspacebuilder.py @@ -1,13 +1,9 @@ -# -*- coding: utf-8 -*- """Create a tmux workspace from a configuration :py:obj:`dict`. tmuxp.workspacebuilder ~~~~~~~~~~~~~~~~~~~~~~ """ - -from __future__ import absolute_import, unicode_literals - import logging from libtmux.exc import TmuxSessionExists @@ -17,7 +13,7 @@ from libtmux.window import Window from . import exc -from .util import run_before_script, get_current_pane +from .util import get_current_pane, run_before_script logger = logging.getLogger(__name__) From c37a7fa4c4dfbaa3ae8f0bb98d6edb79bd1757dd Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:34:16 -0500 Subject: [PATCH 4/8] Bump minimum version 3.5 -> 3.6 --- README.rst | 2 +- docs/plugin_system.rst | 2 +- pyproject.toml | 3 +-- setup.py | 1 - .../pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml | 2 +- .../pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml | 2 +- .../pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml | 2 +- .../pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml | 2 +- .../pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml | 2 +- .../pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml | 2 +- 10 files changed, 9 insertions(+), 11 deletions(-) diff --git a/README.rst b/README.rst index 037c703a78..0fc89c95d7 100644 --- a/README.rst +++ b/README.rst @@ -252,7 +252,7 @@ See donation options at https://git-pull.com/support.html. Project details --------------- - tmux support: 1.8, 1.9a, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 -- python support: >= 3.3, pypy, pypy3 +- python support: >= 3.6, pypy, pypy3 - Source: https://github.com/tmux-python/tmuxp - Docs: https://tmuxp.git-pull.com - API: https://tmuxp.git-pull.com/api.html diff --git a/docs/plugin_system.rst b/docs/plugin_system.rst index 71319b4cec..8ac5c80e9a 100644 --- a/docs/plugin_system.rst +++ b/docs/plugin_system.rst @@ -67,7 +67,7 @@ directory. The resulting file looks something like this: authors = ["Author Name .com>"] [tool.poetry.dependencies] - python = "^3.5" + python = "^3.6" tmuxp = "^1.6.0" [tool.poetry.dev-dependencies] diff --git a/pyproject.toml b/pyproject.toml index 38092dc44b..672b512cc0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,6 @@ classifiers = [ "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -36,7 +35,7 @@ Repository = "https://github.com/tmux-python/tmuxp" tmuxp = 'tmuxp:cli.cli' [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" click = "^7" kaptan = ">=0.5.10" libtmux = "<0.10" diff --git a/setup.py b/setup.py index ebd40c6e09..bfa9a2e43c 100644 --- a/setup.py +++ b/setup.py @@ -51,7 +51,6 @@ "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml index 1fe4beb5cb..c2f98acbcd 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_awf/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test after_window_finished part of the tmuxp pl authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml index 653eec9096..e16a31af38 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bs/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test before_script part of the tmuxp plugin sys authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0." [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml index b63716fe6f..9fbf0d76a1 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_bwb/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test before_workspace_build part of the tmuxp p authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml index aa7cfae357..5c0f72184e 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_fail/pyproject.toml @@ -5,7 +5,7 @@ description = "A test plugin designed to fail to test the cli" authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml index f4d2934471..cdb9a1ed50 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_owc/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test on_window_create part of the tmuxp plugin authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] diff --git a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml index dbf6f6ce3e..ac1291b400 100644 --- a/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml +++ b/tests/fixtures/pluginsystem/plugins/tmuxp_test_plugin_r/pyproject.toml @@ -5,7 +5,7 @@ description = "A tmuxp plugin to test reattach part of the tmuxp plugin system" authors = ["Joseph Flinn "] [tool.poetry.dependencies] -python = "^3.5" +python = "^3.6" tmuxp = "^1.7.0" [tool.poetry.dev-dependencies] From f9ddbf12034b494ae0b28fa2bb8c9e16462f4737 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:35:11 -0500 Subject: [PATCH 5/8] docs(CHANGES): Update --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index f5939eb0bc..dcd2a9168d 100644 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,9 @@ current @jfindlay! Fixes :issue:`654` - :issue:`666` CI: Move test plugin packages from pyproject.toml to pytest fixtures. Fixes :issue:`658` +- Bump minimum version 3.5 -> 3.6 +- Drop python 2.7 support +- Modernize syntax (remove ``__future__`` and modesets) - *Insert changes/features/fixes for next release here* tmuxp 1.7.2 (2021-02-03) From 584772d14b7da1e156494596580fb272148b00c0 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:37:43 -0500 Subject: [PATCH 6/8] black: Update to 21.6b0 --- poetry.lock | 384 ++++--------------------------------------------- pyproject.toml | 2 +- 2 files changed, 27 insertions(+), 359 deletions(-) diff --git a/poetry.lock b/poetry.lock index fe29bf26cb..9f18ef1fb1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -28,7 +28,7 @@ alabaster = "<0.8" [[package]] category = "dev" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"4.0.0\"" name = "appdirs" optional = false python-versions = "*" @@ -71,29 +71,37 @@ pytz = ">=2015.7" [[package]] category = "dev" description = "The uncompromising code formatter." -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"4.0.0\"" name = "black" optional = false -python-versions = ">=3.6" -version = "20.8b1" +python-versions = ">=3.6.2" +version = "21.6b0" [package.dependencies] appdirs = "*" click = ">=7.1.2" mypy-extensions = ">=0.4.3" -pathspec = ">=0.6,<1" +pathspec = ">=0.8.1,<1" regex = ">=2020.1.8" toml = ">=0.10.1" -typed-ast = ">=1.4.0" -typing-extensions = ">=3.7.4" [package.dependencies.dataclasses] python = "<3.7" version = ">=0.6" +[package.dependencies.typed-ast] +python = "<3.8" +version = ">=1.4.2" + +[package.dependencies.typing-extensions] +python = "<3.8" +version = ">=3.7.4" + [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] +d = ["aiohttp (>=3.6.0)", "aiohttp-cors (>=0.4.0)"] +python2 = ["typed-ast (>=1.4.2)"] +uvloop = ["uvloop (>=0.15.2)"] [[package]] category = "dev" @@ -209,20 +217,12 @@ test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pret [[package]] category = "dev" description = "A backport of the dataclasses module for Python 3.6" -marker = "python_version >= \"3.6\" and python_version < \"3.7\"" +marker = "python_version >= \"3.6.2\" and python_version < \"3.7\"" name = "dataclasses" optional = false python-versions = ">=3.6, <3.7" version = "0.8" -[[package]] -category = "dev" -description = "Docutils -- Python Documentation Utilities" -name = "docutils" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "0.16" - [[package]] category = "dev" description = "Docutils -- Python Documentation Utilities" @@ -264,22 +264,6 @@ optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" version = "1.2.0" -[[package]] -category = "dev" -description = "Read metadata from Python packages" -marker = "python_version < \"3.8\"" -name = "importlib-metadata" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -version = "2.1.1" - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "rst.linker"] -testing = ["packaging", "pep517", "unittest2", "importlib-resources (>=1.3)"] - [[package]] category = "dev" description = "Read metadata from Python packages" @@ -307,21 +291,6 @@ optional = false python-versions = "*" version = "1.1.1" -[[package]] -category = "dev" -description = "A Python utility / library to sort Python imports." -marker = "python_version < \"3.6\" or python_version >= \"3.6\"" -name = "isort" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "4.3.21" - -[package.extras] -pipfile = ["pipreqs", "requirementslib"] -pyproject = ["toml"] -requirements = ["pipreqs", "pip-api"] -xdg_home = ["appdirs (>=1.4.0)"] - [[package]] category = "dev" description = "A Python utility / library to sort Python imports." @@ -348,20 +317,6 @@ version = "0.6.0" [package.extras] test = ["pytest", "pytest-trio", "pytest-asyncio", "testpath", "trio"] -[[package]] -category = "dev" -description = "A very fast and expressive template engine." -name = "jinja2" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "2.11.3" - -[package.dependencies] -MarkupSafe = ">=0.23" - -[package.extras] -i18n = ["Babel (>=0.8)"] - [[package]] category = "dev" description = "A very fast and expressive template engine." @@ -413,14 +368,6 @@ optional = false python-versions = "*" version = "0.9.0" -[[package]] -category = "dev" -description = "Safely add untrusted strings to HTML/XML markup." -name = "markupsafe" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" -version = "1.1.1" - [[package]] category = "dev" description = "Safely add untrusted strings to HTML/XML markup." @@ -440,7 +387,7 @@ version = "0.6.1" [[package]] category = "dev" description = "Experimental type system extensions for programs checked with the mypy typechecker." -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"4.0.0\"" name = "mypy-extensions" optional = false python-versions = "*" @@ -457,35 +404,15 @@ version = "20.9" [package.dependencies] pyparsing = ">=2.0.2" -[[package]] -category = "dev" -description = "Object-oriented filesystem paths" -marker = "python_version < \"3.6\"" -name = "pathlib2" -optional = false -python-versions = "*" -version = "2.3.5" - -[package.dependencies] -six = "*" - [[package]] category = "dev" description = "Utility library for gitignore style pattern matching of file paths." -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"4.0.0\"" name = "pathspec" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" version = "0.8.1" -[[package]] -category = "dev" -description = "Python Imaging Library (Fork)" -name = "pillow" -optional = false -python-versions = ">=3.5" -version = "7.2.0" - [[package]] category = "dev" description = "Python Imaging Library (Fork)" @@ -570,36 +497,6 @@ optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" version = "2.4.7" -[[package]] -category = "dev" -description = "pytest: simple powerful testing with Python" -name = "pytest" -optional = false -python-versions = ">=3.5" -version = "6.1.2" - -[package.dependencies] -atomicwrites = ">=1.0" -attrs = ">=17.4.0" -colorama = "*" -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<1.0" -py = ">=1.8.2" -toml = "*" - -[package.dependencies.importlib-metadata] -python = "<3.8" -version = ">=0.12" - -[package.dependencies.pathlib2] -python = "<3.6" -version = ">=2.2.0" - -[package.extras] -checkqa_mypy = ["mypy (0.780)"] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] - [[package]] category = "dev" description = "pytest: simple powerful testing with Python" @@ -641,20 +538,6 @@ toml = "*" [package.extras] testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"] -[[package]] -category = "dev" -description = "Thin-wrapper around the mock package for easier use with pytest" -name = "pytest-mock" -optional = false -python-versions = ">=3.5" -version = "3.5.1" - -[package.dependencies] -pytest = ">=5.0" - -[package.extras] -dev = ["pre-commit", "tox", "pytest-asyncio"] - [[package]] category = "dev" description = "Thin-wrapper around the mock package for easier use with pytest" @@ -669,18 +552,6 @@ pytest = ">=5.0" [package.extras] dev = ["pre-commit", "tox", "pytest-asyncio"] -[[package]] -category = "dev" -description = "pytest plugin to re-run tests to eliminate flaky failures" -name = "pytest-rerunfailures" -optional = false -python-versions = ">=3.5" -version = "9.1.1" - -[package.dependencies] -pytest = ">=5.0" -setuptools = ">=40.0" - [[package]] category = "dev" description = "pytest plugin to re-run tests to eliminate flaky failures" @@ -710,14 +581,6 @@ optional = false python-versions = "*" version = "0.2.0" -[[package]] -category = "main" -description = "YAML parser and emitter for Python" -name = "pyyaml" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -version = "5.3.1" - [[package]] category = "main" description = "YAML parser and emitter for Python" @@ -759,7 +622,7 @@ sphinx = ">=1.3.1" [[package]] category = "dev" description = "Alternative regular expression module, to replace re." -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"4.0.0\"" name = "regex" optional = false python-versions = "*" @@ -834,38 +697,6 @@ optional = false python-versions = "*" version = "2.1.0" -[[package]] -category = "dev" -description = "Python documentation generator" -name = "sphinx" -optional = false -python-versions = ">=3.5" -version = "3.5.4" - -[package.dependencies] -Jinja2 = ">=2.3" -Pygments = ">=2.0" -alabaster = ">=0.7,<0.8" -babel = ">=1.3" -colorama = ">=0.3.5" -docutils = ">=0.12,<0.17" -imagesize = "*" -packaging = "*" -requests = ">=2.5.0" -setuptools = "*" -snowballstemmer = ">=1.1" -sphinxcontrib-applehelp = "*" -sphinxcontrib-devhelp = "*" -sphinxcontrib-htmlhelp = "*" -sphinxcontrib-jsmath = "*" -sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = "*" - -[package.extras] -docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"] -test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] - [[package]] category = "dev" description = "Python documentation generator" @@ -938,18 +769,6 @@ version = "1.0.2" lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -[[package]] -category = "dev" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -name = "sphinxcontrib-htmlhelp" -optional = false -python-versions = ">=3.5" -version = "1.0.3" - -[package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest", "html5lib"] - [[package]] category = "dev" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" @@ -1018,26 +837,6 @@ dev = ["py-make (>=0.1.0)", "twine", "wheel"] notebook = ["ipywidgets (>=6)"] telegram = ["requests"] -[[package]] -category = "dev" -description = "Collection of utilities for publishing packages on PyPI" -name = "twine" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -version = "1.15.0" - -[package.dependencies] -pkginfo = ">=1.4.2" -readme-renderer = ">=21.0" -requests = ">=2.5.0,<2.15 || >2.15,<2.16 || >2.16" -requests-toolbelt = ">=0.8.0,<0.9.0 || >0.9.0" -setuptools = ">=0.7.0" -tqdm = ">=4.14" - -[package.extras] -keyring = ["keyring"] -with-blake2 = ["pyblake2"] - [[package]] category = "dev" description = "Collection of utilities for publishing packages on PyPI" @@ -1060,7 +859,7 @@ tqdm = ">=4.14" [[package]] category = "dev" description = "a fork of Python 2 and 3 ast modules with type comment support" -marker = "python_version >= \"3.6\" and python_version < \"4.0\"" +marker = "python_version >= \"3.6.2\" and python_version < \"3.8\"" name = "typed-ast" optional = false python-versions = "*" @@ -1069,7 +868,7 @@ version = "1.4.3" [[package]] category = "dev" description = "Backported and Experimental Type Hints for Python 3.5+" -marker = "python_version >= \"3.6\" and python_version < \"4.0\" or python_version < \"3.8\"" +marker = "python_version >= \"3.6.2\" and python_version < \"3.8\" or python_version < \"3.8\"" name = "typing-extensions" optional = false python-versions = "*" @@ -1096,19 +895,6 @@ optional = false python-versions = "*" version = "0.5.1" -[[package]] -category = "dev" -description = "Backport of pathlib-compatible object wrapper for zip files" -marker = "python_version < \"3.8\"" -name = "zipp" -optional = false -python-versions = ">=2.7" -version = "1.2.0" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] -testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"] - [[package]] category = "dev" description = "Backport of pathlib-compatible object wrapper for zip files" @@ -1130,9 +916,9 @@ lint = [] test = [] [metadata] -content-hash = "e43047a3bc9b35df4c2d822a1867acbeae0ed95e21e57dfe7e99fa91d3abe4f6" +content-hash = "ffe3fac2dabd09b836f435faaf4d59098247b51fe0149720de6bf46ea291f620" lock-version = "1.0" -python-versions = "^3.5" +python-versions = "^3.6" [metadata.files] aafigure = [ @@ -1164,7 +950,8 @@ babel = [ {file = "Babel-2.9.1.tar.gz", hash = "sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"}, ] black = [ - {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, + {file = "black-21.6b0-py3-none-any.whl", hash = "sha256:dfb8c5a069012b2ab1e972e7b908f5fb42b6bbabcba0a788b86dc05067c7d9c7"}, + {file = "black-21.6b0.tar.gz", hash = "sha256:dc132348a88d103016726fe360cb9ede02cecf99b76e3660ce6c596be132ce04"}, ] bleach = [ {file = "bleach-3.3.0-py2.py3-none-any.whl", hash = "sha256:6123ddc1052673e52bab52cdc955bcb57a015264a1c57d37bea2f6b817af0125"}, @@ -1307,8 +1094,6 @@ dataclasses = [ {file = "dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"}, ] docutils = [ - {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, - {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, ] @@ -1325,8 +1110,6 @@ imagesize = [ {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, ] importlib-metadata = [ - {file = "importlib_metadata-2.1.1-py2.py3-none-any.whl", hash = "sha256:c2d6341ff566f609e89a2acb2db190e5e1d23d5409d6cc8d2fe34d72443876d4"}, - {file = "importlib_metadata-2.1.1.tar.gz", hash = "sha256:b8de9eff2b35fb037368f28a7df1df4e6436f578fa74423505b6c6a778d5b5dd"}, {file = "importlib_metadata-4.5.0-py3-none-any.whl", hash = "sha256:833b26fb89d5de469b24a390e9df088d4e52e4ba33b01dc5e0e4f41b81a16c00"}, {file = "importlib_metadata-4.5.0.tar.gz", hash = "sha256:b142cc1dd1342f31ff04bb7d022492b09920cb64fed867cd3ea6f80fe3ebd139"}, ] @@ -1335,8 +1118,6 @@ iniconfig = [ {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, ] isort = [ - {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, - {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, {file = "isort-5.8.0-py3-none-any.whl", hash = "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"}, {file = "isort-5.8.0.tar.gz", hash = "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6"}, ] @@ -1345,8 +1126,6 @@ jeepney = [ {file = "jeepney-0.6.0.tar.gz", hash = "sha256:7d59b6622675ca9e993a6bd38de845051d315f8b0c72cca3aef733a20b648657"}, ] jinja2 = [ - {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, - {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, {file = "Jinja2-3.0.1-py3-none-any.whl", hash = "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"}, {file = "Jinja2-3.0.1.tar.gz", hash = "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"}, ] @@ -1362,58 +1141,6 @@ libtmux = [ {file = "libtmux-0.9.0.tar.gz", hash = "sha256:c42727cbbcd02403cffb79c8ba8ea4f95ff1bd8c9328612fea537acd25e5ae16"}, ] markupsafe = [ - {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, - {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, - {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, - {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, - {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, - {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, - {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, - {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-win32.whl", hash = "sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39"}, - {file = "MarkupSafe-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8"}, - {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, @@ -1461,43 +1188,11 @@ packaging = [ {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"}, {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"}, ] -pathlib2 = [ - {file = "pathlib2-2.3.5-py2.py3-none-any.whl", hash = "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db"}, - {file = "pathlib2-2.3.5.tar.gz", hash = "sha256:6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868"}, -] pathspec = [ {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"}, {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"}, ] pillow = [ - {file = "Pillow-7.2.0-cp35-cp35m-macosx_10_10_intel.whl", hash = "sha256:1ca594126d3c4def54babee699c055a913efb01e106c309fa6b04405d474d5ae"}, - {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c92302a33138409e8f1ad16731568c55c9053eee71bb05b6b744067e1b62380f"}, - {file = "Pillow-7.2.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:8dad18b69f710bf3a001d2bf3afab7c432785d94fcf819c16b5207b1cfd17d38"}, - {file = "Pillow-7.2.0-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:431b15cffbf949e89df2f7b48528be18b78bfa5177cb3036284a5508159492b5"}, - {file = "Pillow-7.2.0-cp35-cp35m-win32.whl", hash = "sha256:09d7f9e64289cb40c2c8d7ad674b2ed6105f55dc3b09aa8e4918e20a0311e7ad"}, - {file = "Pillow-7.2.0-cp35-cp35m-win_amd64.whl", hash = "sha256:0295442429645fa16d05bd567ef5cff178482439c9aad0411d3f0ce9b88b3a6f"}, - {file = "Pillow-7.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:ec29604081f10f16a7aea809ad42e27764188fc258b02259a03a8ff7ded3808d"}, - {file = "Pillow-7.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:612cfda94e9c8346f239bf1a4b082fdd5c8143cf82d685ba2dba76e7adeeb233"}, - {file = "Pillow-7.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0a80dd307a5d8440b0a08bd7b81617e04d870e40a3e46a32d9c246e54705e86f"}, - {file = "Pillow-7.2.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:06aba4169e78c439d528fdeb34762c3b61a70813527a2c57f0540541e9f433a8"}, - {file = "Pillow-7.2.0-cp36-cp36m-win32.whl", hash = "sha256:f7e30c27477dffc3e85c2463b3e649f751789e0f6c8456099eea7ddd53be4a8a"}, - {file = "Pillow-7.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ffe538682dc19cc542ae7c3e504fdf54ca7f86fb8a135e59dd6bc8627eae6cce"}, - {file = "Pillow-7.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:94cf49723928eb6070a892cb39d6c156f7b5a2db4e8971cb958f7b6b104fb4c4"}, - {file = "Pillow-7.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6edb5446f44d901e8683ffb25ebdfc26988ee813da3bf91e12252b57ac163727"}, - {file = "Pillow-7.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:52125833b070791fcb5710fabc640fc1df07d087fc0c0f02d3661f76c23c5b8b"}, - {file = "Pillow-7.2.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:9ad7f865eebde135d526bb3163d0b23ffff365cf87e767c649550964ad72785d"}, - {file = "Pillow-7.2.0-cp37-cp37m-win32.whl", hash = "sha256:c79f9c5fb846285f943aafeafda3358992d64f0ef58566e23484132ecd8d7d63"}, - {file = "Pillow-7.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d350f0f2c2421e65fbc62690f26b59b0bcda1b614beb318c81e38647e0f673a1"}, - {file = "Pillow-7.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:6d7741e65835716ceea0fd13a7d0192961212fd59e741a46bbed7a473c634ed6"}, - {file = "Pillow-7.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:edf31f1150778abd4322444c393ab9c7bd2af271dd4dafb4208fb613b1f3cdc9"}, - {file = "Pillow-7.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:d08b23fdb388c0715990cbc06866db554e1822c4bdcf6d4166cf30ac82df8c41"}, - {file = "Pillow-7.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:5e51ee2b8114def244384eda1c82b10e307ad9778dac5c83fb0943775a653cd8"}, - {file = "Pillow-7.2.0-cp38-cp38-win32.whl", hash = "sha256:725aa6cfc66ce2857d585f06e9519a1cc0ef6d13f186ff3447ab6dff0a09bc7f"}, - {file = "Pillow-7.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:a060cf8aa332052df2158e5a119303965be92c3da6f2d93b6878f0ebca80b2f6"}, - {file = "Pillow-7.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:9c87ef410a58dd54b92424ffd7e28fd2ec65d2f7fc02b76f5e9b2067e355ebf6"}, - {file = "Pillow-7.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:e901964262a56d9ea3c2693df68bc9860b8bdda2b04768821e4c44ae797de117"}, - {file = "Pillow-7.2.0-pp36-pypy36_pp73-win32.whl", hash = "sha256:25930fadde8019f374400f7986e8404c8b781ce519da27792cbe46eabec00c4d"}, - {file = "Pillow-7.2.0.tar.gz", hash = "sha256:97f9e7953a77d5a70f49b9a48da7776dc51e9b738151b22dacf101641594a626"}, {file = "Pillow-8.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:dc38f57d8f20f06dd7c3161c59ca2c86893632623f33a42d592f097b00f720a9"}, {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a013cbe25d20c2e0c4e85a9daf438f85121a4d0344ddc76e33fd7e3965d9af4b"}, {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8bb1e155a74e1bfbacd84555ea62fa21c58e0b4e7e6b20e4447b8d07990ac78b"}, @@ -1566,8 +1261,6 @@ pyparsing = [ {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, ] pytest = [ - {file = "pytest-6.1.2-py3-none-any.whl", hash = "sha256:4288fed0d9153d9646bfcdf0c0428197dba1ecb27a33bb6e031d002fa88653fe"}, - {file = "pytest-6.1.2.tar.gz", hash = "sha256:c0a7e94a8cdbc5422a51ccdad8e6f1024795939cc89159a0ae7f0b316ad3823e"}, {file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"}, {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"}, ] @@ -1576,14 +1269,10 @@ pytest-cov = [ {file = "pytest_cov-2.12.1-py2.py3-none-any.whl", hash = "sha256:261bb9e47e65bd099c89c3edf92972865210c36813f80ede5277dceb77a4a62a"}, ] pytest-mock = [ - {file = "pytest-mock-3.5.1.tar.gz", hash = "sha256:a1e2aba6af9560d313c642dae7e00a2a12b022b80301d9d7fc8ec6858e1dd9fc"}, - {file = "pytest_mock-3.5.1-py3-none-any.whl", hash = "sha256:379b391cfad22422ea2e252bdfc008edd08509029bcde3c25b2c0bd741e0424e"}, {file = "pytest-mock-3.6.1.tar.gz", hash = "sha256:40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62"}, {file = "pytest_mock-3.6.1-py3-none-any.whl", hash = "sha256:30c2f2cc9759e76eee674b81ea28c9f0b94f8f0445a1b87762cadf774f0df7e3"}, ] pytest-rerunfailures = [ - {file = "pytest-rerunfailures-9.1.1.tar.gz", hash = "sha256:1cb11a17fc121b3918414eb5eaf314ee325f2e693ac7cb3f6abf7560790827f2"}, - {file = "pytest_rerunfailures-9.1.1-py3-none-any.whl", hash = "sha256:2eb7d0ad651761fbe80e064b0fd415cf6730cdbc53c16a145fd84b66143e609f"}, {file = "pytest-rerunfailures-10.0.tar.gz", hash = "sha256:3906e611f962e3bdf15501e8a24ad2d12a703eff7d2030ea88acf68ad8d6b391"}, {file = "pytest_rerunfailures-10.0-py3-none-any.whl", hash = "sha256:fb5f276df942944da80f3c7a84507ac4f92cc3f462fe6bd4bbcbef94de22db8b"}, ] @@ -1596,19 +1285,6 @@ pywin32-ctypes = [ {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"}, ] pyyaml = [ - {file = "PyYAML-5.3.1-cp27-cp27m-win32.whl", hash = "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f"}, - {file = "PyYAML-5.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76"}, - {file = "PyYAML-5.3.1-cp35-cp35m-win32.whl", hash = "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2"}, - {file = "PyYAML-5.3.1-cp35-cp35m-win_amd64.whl", hash = "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c"}, - {file = "PyYAML-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2"}, - {file = "PyYAML-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648"}, - {file = "PyYAML-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"}, - {file = "PyYAML-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf"}, - {file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"}, - {file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"}, - {file = "PyYAML-5.3.1-cp39-cp39-win32.whl", hash = "sha256:ad9c67312c84def58f3c04504727ca879cb0013b2517c85a9a253f0cb6380c0a"}, - {file = "PyYAML-5.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:6034f55dab5fea9e53f436aa68fa3ace2634918e8b5994d82f3621c04ff5ed2e"}, - {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, {file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"}, {file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"}, {file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"}, @@ -1707,8 +1383,6 @@ snowballstemmer = [ {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"}, ] sphinx = [ - {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"}, - {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"}, {file = "Sphinx-4.0.2-py3-none-any.whl", hash = "sha256:d1cb10bee9c4231f1700ec2e24a91be3f3a3aba066ea4ca9f3bbe47e59d5a1d4"}, {file = "Sphinx-4.0.2.tar.gz", hash = "sha256:b5c2ae4120bf00c799ba9b3699bc895816d272d120080fbc967292f29b52b48c"}, ] @@ -1725,8 +1399,6 @@ sphinxcontrib-devhelp = [ {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, ] sphinxcontrib-htmlhelp = [ - {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, - {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, {file = "sphinxcontrib-htmlhelp-2.0.0.tar.gz", hash = "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"}, {file = "sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl", hash = "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07"}, ] @@ -1751,8 +1423,6 @@ tqdm = [ {file = "tqdm-4.61.1.tar.gz", hash = "sha256:24be966933e942be5f074c29755a95b315c69a91f839a29139bf26ffffe2d3fd"}, ] twine = [ - {file = "twine-1.15.0-py2.py3-none-any.whl", hash = "sha256:630fadd6e342e725930be6c696537e3f9ccc54331742b16245dab292a17d0460"}, - {file = "twine-1.15.0.tar.gz", hash = "sha256:a3d22aab467b4682a22de4a422632e79d07eebd07ff2a7079effb13f8a693787"}, {file = "twine-3.4.1-py3-none-any.whl", hash = "sha256:16f706f2f1687d7ce30e7effceee40ed0a09b7c33b9abb5ef6434e5551565d83"}, {file = "twine-3.4.1.tar.gz", hash = "sha256:a56c985264b991dc8a8f4234eb80c5af87fa8080d0c224ad8f2cd05a2c22e83b"}, ] @@ -1802,8 +1472,6 @@ webencodings = [ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] zipp = [ - {file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"}, - {file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"}, {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"}, {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"}, ] diff --git a/pyproject.toml b/pyproject.toml index 672b512cc0..b0cf092c4a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,7 +61,7 @@ codecov = "*" coverage = "*" ### Format ### -black = {version="==20.08b1", python="^3.6"} +black = {version="==21.6b0", python="^3.6.2"} isort = [ {version="<5", python="<3.6"}, {version="*", python=">=3.6"} From 07e0037ea973ab23a92da66e126c5f607fba27db Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:38:08 -0500 Subject: [PATCH 7/8] docs(CHANGES): Update for black change --- CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES b/CHANGES index dcd2a9168d..72f5b80f53 100644 --- a/CHANGES +++ b/CHANGES @@ -14,6 +14,7 @@ current - Bump minimum version 3.5 -> 3.6 - Drop python 2.7 support - Modernize syntax (remove ``__future__`` and modesets) +- Update black to 21.6b0 - *Insert changes/features/fixes for next release here* tmuxp 1.7.2 (2021-02-03) From 62dc1b84237e8ba3bc9a06ae9d441f1fe50ab722 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Mon, 14 Jun 2021 11:38:22 -0500 Subject: [PATCH 8/8] chore: Format with black 21.6b0 --- tmuxp/_compat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmuxp/_compat.py b/tmuxp/_compat.py index fb5fd4dea0..4569077291 100644 --- a/tmuxp/_compat.py +++ b/tmuxp/_compat.py @@ -22,7 +22,7 @@ def console_to_str(s): - """ From pypa/pip project, pip.backwardwardcompat. License MIT. """ + """From pypa/pip project, pip.backwardwardcompat. License MIT.""" try: return s.decode(console_encoding) except UnicodeDecodeError: