Skip to content

test_uninstall.py fails when PIP_FIND_LINKS set #3073

@jeremycarroll

Description

@jeremycarroll

Issue description

I am setting up my development environment to begin working on the dependency resolution issues, which interest me.
I can run the tests either with pipenv run py.test or with ./run_tests.sh.
In either case I was getting one test failure, test_uninstall.py; drilling down it was because I had PIP_FIND_LINKS set in my environment to our proprietary repo (https://s3-us-west-1.amazonaws.com/[private URL omitted]/package_index.html). Unsetting this variable resolved the issue.
My belief is this might be a real bug, but is not important to me.

Expected result

The test should pass.

Actual result

At commit
87551b9 with the following patch

diff --git a/pipenv/vendor/requirementslib/models/utils.py b/pipenv/vendor/requirementslib/models/utils.py
index cba63295..ea84b21f 100644
--- a/pipenv/vendor/requirementslib/models/utils.py
+++ b/pipenv/vendor/requirementslib/models/utils.py
@@ -38,6 +38,7 @@ def optional_instance_of(cls):
 
 
 def init_requirement(name):
+    print(name)
     req = Requirement.parse(name)
     req.vcs = None
     req.local_file = None

I get the following output

$ pipenv run py.test tests/integration/test_uninstall.py -v
Loading .env environment variables…
============================================================================= test session starts ==============================================================================
platform darwin -- Python 3.7.0, pytest-3.8.2, py-1.6.0, pluggy-0.7.1 -- /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7
cachedir: .pytest_cache
rootdir: /Users/jeremycarroll/work/pipenv, inifile: pytest.ini
plugins: xdist-1.23.2, tap-2.3, forked-0.2, flaky-3.4.0, pypi-0.1.1
[gw0] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw1] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw2] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw3] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw4] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw5] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw6] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw7] darwin Python 3.7.0 cwd: /Users/jeremycarroll/work/pipenv
[gw0] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw1] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw2] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw3] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw4] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw5] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw6] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
[gw7] Python 3.7.0 (default, Aug 22 2018, 15:22:33)  -- [Clang 9.1.0 (clang-902.0.39.2)]
gw0 [5] / gw1 [5] / gw2 [5] / gw3 [5] / gw4 [5] / gw5 [5] / gw6 [5] / gw7 [5]
scheduling tests via LoadScheduling

tests/integration/test_uninstall.py::test_uninstall_all_local_files 
tests/integration/test_uninstall.py::test_uninstall 
tests/integration/test_uninstall.py::test_normalize_name_uninstall 
tests/integration/test_uninstall.py::test_mirror_uninstall 
tests/integration/test_uninstall.py::test_uninstall_all_dev 
[gw4] [ 20%] PASSED tests/integration/test_uninstall.py::test_normalize_name_uninstall 
[gw2] [ 40%] FAILED tests/integration/test_uninstall.py::test_uninstall_all_local_files 
[gw0] [ 60%] PASSED tests/integration/test_uninstall.py::test_uninstall 
[gw1] [ 80%] PASSED tests/integration/test_uninstall.py::test_mirror_uninstall 
[gw3] [100%] PASSED tests/integration/test_uninstall.py::test_uninstall_all_dev 

=================================================================================== FAILURES ===================================================================================
________________________________________________________________________ test_uninstall_all_local_files ________________________________________________________________________
[gw2] darwin -- Python 3.7.0 /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7

PipenvInstance = <class 'tests.integration.conftest._PipenvInstance'>, testsroot = '/Users/jeremycarroll/work/pipenv/tests'

    @pytest.mark.files
    @pytest.mark.uninstall
    @pytest.mark.install
    def test_uninstall_all_local_files(PipenvInstance, testsroot):
        file_name = "requests-2.19.1.tar.gz"
        # Not sure where travis/appveyor run tests from
        source_path = os.path.abspath(os.path.join(testsroot, "test_artifacts", file_name))
    
        with PipenvInstance() as p:
            shutil.copy(source_path, os.path.join(p.path, file_name))
            os.mkdir(os.path.join(p.path, "requests"))
            c = p.pipenv("install {}".format(file_name))
            assert c.return_code == 0
            c = p.pipenv("uninstall --all")
>           assert c.return_code == 0
E           AssertionError: assert 1 == 0
E            +  where 1 = <Command 'pipenv uninstall --all'>.return_code

tests/integration/test_uninstall.py:93: AssertionError
----------------------------------------------------------------------------- Captured stdout call -----------------------------------------------------------------------------
$ pipenv install requests-2.19.1.tar.gz
Installing requests-2.19.1.tar.gz…
cb6d3b1
Looking in indexes: https://pypi.org/simple, https://packagecloud.io/syapse/General/pypi/simple
Looking in links: https://s3-us-west-1.amazonaws.com/[omitted]/package_index.html
Processing ./requests-2.19.1.tar.gz
Collecting chardet<3.1.0,>=3.0.2 (from requests==2.19.1)
  Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting idna<2.8,>=2.5 (from requests==2.19.1)
  Downloading https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl (58kB)
Collecting urllib3<1.24,>=1.21.1 (from requests==2.19.1)
  Downloading https://files.pythonhosted.org/packages/bd/c9/6fdd990019071a4a32a5e7cb78a1d92c53851ef4f56f62a3486e6a7d8ffb/urllib3-1.23-py2.py3-none-any.whl (133kB)
Collecting certifi>=2017.4.17 (from requests==2.19.1)
  Downloading https://files.pythonhosted.org/packages/56/9d/1d02dd80bc4cd955f98980f28c5ee2200e1209292d5f9e9cc8d030d18655/certifi-2018.10.15-py2.py3-none-any.whl (146kB)
Building wheels for collected packages: requests
  Running setup.py bdist_wheel for requests: started
  Running setup.py bdist_wheel for requests: finished with status 'done'
  Stored in directory: /var/folders/4n/1qzp_6d94_9_scpdvf25t9tr0000gq/T/pipenv-5fyj3a5l-cache/wheels/e7/84/47/fe57a4d992ebe1014bf0f52f8e3e269667f7c67e34225eef34
Successfully built requests
Installing collected packages: chardet, idna, urllib3, certifi, requests
Successfully installed certifi-2018.10.15 chardet-3.0.4 idna-2.7 requests-2.19.1 urllib3-1.23

Adding cb6d3b1 to Pipfile's [packages]…
Installing dependencies from Pipfile.lock (f41041)…
cb6d3b1
cb6d3b1
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

Creating a virtualenv for this project…
Pipfile: /private/var/folders/4n/1qzp_6d94_9_scpdvf25t9tr0000gq/T/pipenv-ofdc_5zk-project/Pipfile
Using /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7 (3.7.0) to create virtualenv…
Already using interpreter /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7
Using real prefix '/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7'
New python executable in /private/var/folders/4n/1qzp_6d94_9_scpdvf25t9tr0000gq/T/pipenv-ofdc_5zk-project/.venv/bin/python3.7
Also creating executable in /private/var/folders/4n/1qzp_6d94_9_scpdvf25t9tr0000gq/T/pipenv-ofdc_5zk-project/.venv/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /private/var/folders/4n/1qzp_6d94_9_scpdvf25t9tr0000gq/T/pipenv-ofdc_5zk-project/.venv
Creating a Pipfile for this project…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (f41041)!

$ pipenv uninstall --all
Un-installing all packages from virtualenv…
-f https://s3-us-west-1.amazonaws.com/[omitted]/package_index.html

Traceback (most recent call last):
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 90, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1654, in parseString
    raise exc
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1644, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1402, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 3417, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1402, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 3739, in parseImpl
    return self.expr._parse( instring, loc, doActions, callPreParse=False )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1402, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 3400, in parseImpl
    loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 1406, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/pyparsing.py", line 2711, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pkg_resources._vendor.pyparsing.ParseException: Expected W:(abcd...) (at char 0), (line:1, col:1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2963, in __init__
    super(Requirement, self).__init__(requirement_string)
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 94, in __init__
    requirement_string[e.loc:e.loc + 8]))
pkg_resources.extern.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'-f https'"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv', 'console_scripts', 'pipenv')()
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/jeremycarroll/work/pipenv/pipenv/cli/command.py", line 291, in uninstall
    pypi_mirror=state.pypi_mirror,
  File "/Users/jeremycarroll/work/pipenv/pipenv/core.py", line 2014, in do_uninstall
    do_purge(allow_global=system)
  File "/Users/jeremycarroll/work/pipenv/pipenv/core.py", line 1149, in do_purge
    dep = Requirement.from_line(package)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/requirementslib/models/requirements.py", line 870, in from_line
    r = NamedRequirement.from_line(line)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/requirementslib/models/requirements.py", line 65, in from_line
    req = init_requirement(line)
  File "/Users/jeremycarroll/work/pipenv/pipenv/vendor/requirementslib/models/utils.py", line 42, in init_requirement
    req = Requirement.parse(name)
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 3009, in parse
    req, = parse_requirements(s)
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2956, in parse_requirements
    yield Requirement(line)
  File "/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2965, in __init__
    raise RequirementParseError(str(e))
pkg_resources.RequirementParseError: Invalid requirement, parse error at "'-f https'"

Command failed...
===Flaky Test Report===


===End Flaky Test Report===
=========================================================================== short test summary info ============================================================================
FAIL tests/integration/test_uninstall.py::test_uninstall_all_local_files
===================================================================== 1 failed, 4 passed in 58.72 seconds ======================================================================

Steps to replicate

Use commit 87551b9 and set PIP_FIND_LINKS to a valid links folder (I have not tried with an invalid one) and run ./run_tests.sh


If you're on macOS, run the following:

$ pipenv run pipenv --support | pbcopy
$ pipenv --support

Pipenv version: '2018.10.14.dev0'

Pipenv location: '/Users/jeremycarroll/work/pipenv/pipenv'

Python location: '/Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7'

Python installations found:

  • 3.7.0: /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin/python3.7
  • 3.7.0: /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7
  • 3.7.0: /usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/bin/python3.7m
  • 3.6.2: /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
  • 3.6.2: /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m
  • 2.7.15: /usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/bin/python2.7
  • 2.7.10: /usr/bin/python
  • 2.7.10: /usr/bin/pythonw
  • 2.7.10: /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.7.0',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '17.7.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT '
                     '2018; root:xnu-4570.71.2~1/RELEASE_X86_64',
 'python_full_version': '3.7.0',
 'python_version': '3.7',
 'sys_platform': 'darwin'}

System environment variables:

  • SSH_AGENT_PID
  • VIRTUALENVWRAPPER_SCRIPT
  • VIRTUALENVWRAPPER_PROJECT_FILENAME
  • TERM_PROGRAM
  • SHELL
  • TERM
  • TMPDIR
  • Apple_PubSub_Socket_Render
  • TERM_PROGRAM_VERSION
  • OLDPWD
  • TERM_SESSION_ID
  • USER
  • SSH_AUTH_SOCK
  • WORKON_HOME
  • PROJECT_HOME
  • PATH
  • VIRTUALENVWRAPPER_HOOK_DIR
  • PWD
  • LANG
  • XPC_FLAGS
  • XPC_SERVICE_NAME
  • SHLVL
  • HOME
  • LOGNAME
  • VIRTUALENVWRAPPER_WORKON_CD
  • DISPLAY
  • PIP_FIND_LINKS
  • _
  • __CF_USER_TEXT_ENCODING
  • PYTHONDONTWRITEBYTECODE
  • PIP_SHIMS_BASE_MODULE
  • PIP_PYTHON_PATH
  • HELLO
  • VIRTUAL_ENV

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/python/libexec/bin:/usr/local/opt/coreutils/libexec/gnubin:/Users/jeremycarroll/PostgreSQL/pg96/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin:/opt/X11/bin
  • SHELL: /bin/bash
  • LANG: en_US.UTF-8
  • PWD: /Users/jeremycarroll/work/pipenv
  • VIRTUAL_ENV: /Users/jeremycarroll/.virtualenvs/pipenv-4nomzuu4

Contents of Pipfile ('/Users/jeremycarroll/work/pipenv/Pipfile'):

[dev-packages]
pipenv = {path = ".", editable = true}
"flake8" = ">=3.3.0,<4"
pytest = "*"
mock = "*"
sphinx = "<=1.5.5"
twine = "*"
sphinx-click = "*"
pytest-xdist = "*"
click = "*"
pytest-pypy = {path = "./tests/pytest-pypi", editable = true}
pytest-tap = "*"
flaky = "*"
stdeb = {version="*", markers="sys_platform == 'linux'"}
black = {version="*", markers="python_version >= '3.6'"}
pytz = "*"
towncrier = {git = "https://github.com/hawkowl/towncrier.git", editable = true, ref = "master"}
parver = "*"
invoke = "*"
jedi = "*"
isort = "*"
rope = "*"
passa = {editable = true, git = "https://github.com/sarugaku/passa.git"}

[packages]

[scripts]
tests = "bash ./run-tests.sh"

[pipenv]
allow_prereleases = true

Contents of Pipfile.lock ('/Users/jeremycarroll/work/pipenv/Pipfile.lock'):

{
    "_meta": {
        "hash": {
            "sha256": "6acc712d82698e574727d19b22d05bf46565ecaa414e288fd0d79e385f8fdd10"
        },
        "pipfile-spec": 6,
        "requires": {},
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {},
    "develop": {
        "alabaster": {
            "hashes": [
                "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",
                "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
            ],
            "version": "==0.7.12"
        },
        "apipkg": {
            "hashes": [
                "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6",
                "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"
            ],
            "version": "==1.5"
        },
        "appdirs": {
            "hashes": [
                "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92",
                "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"
            ],
            "version": "==1.4.3"
        },
        "argparse": {
            "hashes": [
                "sha256:62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4",
                "sha256:c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314"
            ],
            "markers": "python_version == '2.6'",
            "version": "==1.4.0"
        },
        "arpeggio": {
            "hashes": [
                "sha256:a5258b84f76661d558492fa87e42db634df143685a0e51802d59cae7daad8732",
                "sha256:dc5c0541e7cc2c6033dc0338133436abfac53655624784736e9bc8bd35e56583"
            ],
            "version": "==1.9.0"
        },
        "atomicwrites": {
            "hashes": [
                "sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0",
                "sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee"
            ],
            "version": "==1.2.1"
        },
        "attrs": {
            "hashes": [
                "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69",
                "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb"
            ],
            "version": "==18.2.0"
        },
        "babel": {
            "hashes": [
                "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669",
                "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
            ],
            "version": "==2.6.0"
        },
        "black": {
            "hashes": [
                "sha256:817243426042db1d36617910df579a54f1afd659adb96fc5032fcf4b36209739",
                "sha256:e030a9a28f542debc08acceb273f228ac422798e5215ba2a791a6ddeaaca22a5"
            ],
            "index": "pypi",
            "markers": "python_version >= '3.6'",
            "version": "==18.9b0"
        },
        "bleach": {
            "hashes": [
                "sha256:9c471c0dd9c820f6bf4ee5ca3e348ceccefbc1475d9a40c397ed5d04e0b42c54",
                "sha256:b407b2612b37e6cdc6704f84cec18c1f140b78e6c625652a844e89d6b9855f6b"
            ],
            "version": "==3.0.0"
        },
        "cerberus": {
            "hashes": [
                "sha256:f5c2e048fb15ecb3c088d192164316093fcfa602a74b3386eefb2983aa7e800a"
            ],
            "version": "==1.2"
        },
        "certifi": {
            "hashes": [
                "sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638",
                "sha256:456048c7e371c089d0a77a5212fb37a2c2dce1e24146e3b7e0261736aaeaa22a"
            ],
            "version": "==2018.8.24"
        },
        "cffi": {
            "hashes": [
                "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
                "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
                "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
                "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
                "sha256:3bb6bd7266598f318063e584378b8e27c67de998a43362e8fce664c54ee52d30",
                "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
                "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
                "sha256:495c5c2d43bf6cebe0178eb3e88f9c4aa48d8934aa6e3cddb865c058da76756b",
                "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
                "sha256:57b2533356cb2d8fac1555815929f7f5f14d68ac77b085d2326b571310f34f6e",
                "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
                "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
                "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
                "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
                "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
                "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
                "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
                "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
                "sha256:a6a5cb8809091ec9ac03edde9304b3ad82ad4466333432b16d78ef40e0cce0d5",
                "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
                "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
                "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
                "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
                "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
                "sha256:ca1bd81f40adc59011f58159e4aa6445fc585a32bb8ac9badf7a2c1aa23822f2",
                "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
                "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
                "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
                "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
                "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
                "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
                "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
            ],
            "version": "==1.11.5"
        },
        "chardet": {
            "hashes": [
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
            ],
            "version": "==3.0.4"
        },
        "click": {
            "hashes": [
                "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
                "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
            ],
            "index": "pypi",
            "version": "==7.0"
        },
        "cmarkgfm": {
            "hashes": [
                "sha256:0186dccca79483e3405217993b83b914ba4559fe9a8396efc4eea56561b74061",
                "sha256:1a625afc6f62da428df96ec325dc30866cc5781520cbd904ff4ec44cf018171c",
                "sha256:207b7673ff4e177374c572feeae0e4ef33be620ec9171c08fd22e2b796e03e3d",
                "sha256:275905bb371a99285c74931700db3f0c078e7603bed383e8cf1a09f3ee05a3de",
                "sha256:50098f1c4950722521f0671e54139e0edc1837d63c990cf0f3d2c49607bb51a2",
                "sha256:50ed116d0b60a07df0dc7b180c28569064b9d37d1578d4c9021cff04d725cb63",
                "sha256:61a72def110eed903cd1848245897bcb80d295cd9d13944d4f9f30cba5b76655",
                "sha256:64186fb75d973a06df0e6ea12879533b71f6e7ba1ab01ffee7fc3e7534758889",
                "sha256:665303d34d7f14f10d7b0651082f25ebf7107f29ef3d699490cac16cdc0fc8ce",
                "sha256:70b18f843aec58e4e64aadce48a897fe7c50426718b7753aaee399e72df64190",
                "sha256:761ee7b04d1caee2931344ac6bfebf37102ffb203b136b676b0a71a3f0ea3c87",
                "sha256:811527e9b7280b136734ed6cb6845e5fbccaeaa132ddf45f0246cbe544016957",
                "sha256:987b0e157f70c72a84f3c2f9ef2d7ab0f26c08f2bf326c12c087ff9eebcb3ff5",
                "sha256:9fc6a2183d0a9b0974ec7cdcdad42bd78a3be674cc3e65f87dd694419b3b0ab7",
                "sha256:a3d17ee4ae739fe16f7501a52255c2e287ac817cfd88565b9859f70520afffea",
                "sha256:ba5b5488719c0f2ced0aa1986376f7baff1a1653a8eb5fdfcf3f84c7ce46ef8d",
                "sha256:c573ea89dd95d41b6d8cf36799c34b6d5b1eac4aed0212dee0f0a11fb7b01e8f",
                "sha256:c5f1b9e8592d2c448c44e6bc0d91224b16ea5f8293908b1561de1f6d2d0658b1",
                "sha256:cbe581456357d8f0674d6a590b1aaf46c11d01dd0a23af147a51a798c3818034",
                "sha256:cf219bec69e601fe27e3974b7307d2f06082ab385d42752738ad2eb630a47d65",
                "sha256:cf5014eb214d814a83a7a47407272d5db10b719dbeaf4d3cfe5969309d0fcf4b",
                "sha256:d08bad67fa18f7e8ff738c090628ee0cbf0505d74a991c848d6d04abfe67b697",
                "sha256:d6f716d7b1182bf35862b5065112f933f43dd1aa4f8097c9bcfb246f71528a34",
                "sha256:e08e479102627641c7cb4ece421c6ed4124820b1758765db32201136762282d9",
                "sha256:e20ac21418af0298437d29599f7851915497ce9f2866bc8e86b084d8911ee061",
                "sha256:e25f53c37e319241b9a412382140dffac98ca756ba8f360ac7ab5e30cad9670a",
                "sha256:e8932bddf159064f04e946fbb64693753488de21586f20e840b3be51745c8c09",
                "sha256:f20900f16377f2109783ae9348d34bc80530808439591c3d3df73d5c7ef1a00c"
            ],
            "version": "==0.4.2"
        },
        "colorama": {
            "hashes": [
                "sha256:463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda",
                "sha256:48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1"
            ],
            "markers": "sys_platform == 'win32'",
            "version": "==0.3.9"
        },
        "configparser": {
            "hashes": [
                "sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
            ],
            "markers": "python_version < '3.2'",
            "version": "==3.5.0"
        },
        "distlib": {
            "hashes": [
                "sha256:57977cd7d9ea27986ec62f425630e4ddb42efe651ff80bc58ed8dbc3c7c21f19"
            ],
            "version": "==0.2.8"
        },
        "docutils": {
            "hashes": [
                "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6",
                "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",
                "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"
            ],
            "version": "==0.14"
        },
        "enum34": {
            "hashes": [
                "sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850",
                "sha256:644837f692e5f550741432dd3f223bbb9852018674981b1664e5dc339387588a",
                "sha256:6bd0f6ad48ec2aa117d3d141940d484deccda84d4fcd884f5c3d93c23ecd8c79",
                "sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1"
            ],
            "markers": "python_version < '3.4'",
            "version": "==1.1.6"
        },
        "execnet": {
            "hashes": [
                "sha256:a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a",
                "sha256:fc155a6b553c66c838d1a22dba1dc9f5f505c43285a878c6f74a79c024750b83"
            ],
            "version": "==1.5.0"
        },
        "first": {
            "hashes": [
                "sha256:3bb3de3582cb27071cfb514f00ed784dc444b7f96dc21e140de65fe00585c95e",
                "sha256:41d5b64e70507d0c3ca742d68010a76060eea8a3d863e9b5130ab11a4a91aa0e"
            ],
            "version": "==2.0.1"
        },
        "flake8": {
            "hashes": [
                "sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0",
                "sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37"
            ],
            "index": "pypi",
            "version": "==3.5.0"
        },
        "flaky": {
            "hashes": [
                "sha256:4ad7880aef8c35a34ddb394d4fa33047765bca1e3d67d182bf6eba9c8eabf3a2",
                "sha256:d0533f473a46b916e6db6e84e20b06d8a70656600a0c14e819b0760b63f70226"
            ],
            "index": "pypi",
            "version": "==3.4.0"
        },
        "flask": {
            "hashes": [
                "sha256:2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48",
                "sha256:a080b744b7e345ccfcbc77954861cb05b3c63786e93f2b3875e0913d44b43f05"
            ],
            "version": "==1.0.2"
        },
        "funcsigs": {
            "hashes": [
                "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca",
                "sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
            ],
            "markers": "python_version < '3.3'",
            "version": "==1.0.2"
        },
        "futures": {
            "hashes": [
                "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265",
                "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1"
            ],
            "markers": "python_version < '3' and python_version >= '2.6'",
            "version": "==3.2.0"
        },
        "future": {
            "hashes": [
                "sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
            ],
            "version": "==0.16.0"
        },
        "idna": {
            "hashes": [
                "sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e",
                "sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
            ],
            "version": "==2.7"
        },
        "imagesize": {
            "hashes": [
                "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",
                "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
            ],
            "version": "==1.1.0"
        },
        "incremental": {
            "hashes": [
                "sha256:717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f",
                "sha256:7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3"
            ],
            "version": "==17.5.0"
        },
        "invoke": {
            "hashes": [
                "sha256:4f4de934b15c2276caa4fbc5a3b8a61c0eb0b234f2be1780d2b793321995c2d6",
                "sha256:dc492f8f17a0746e92081aec3f86ae0b4750bf41607ea2ad87e5a7b5705121b7",
                "sha256:eb6f9262d4d25b40330fb21d1e99bf0f85011ccc3526980f8a3eaedd4b43892e"
            ],
            "index": "pypi",
            "version": "==1.2.0"
        },
        "isort": {
            "hashes": [
                "sha256:1153601da39a25b14ddc54955dbbacbb6b2d19135386699e2ad58517953b34af",
                "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8",
                "sha256:ec9ef8f4a9bc6f71eec99e1806bfa2de401650d996c59330782b89a5555c1497"
            ],
            "index": "pypi",
            "version": "==4.3.4"
        },
        "itsdangerous": {
            "hashes": [
                "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
            ],
            "version": "==0.24"
        },
        "jedi": {
            "hashes": [
                "sha256:0191c447165f798e6a730285f2eee783fff81b0d3df261945ecb80983b5c3ca7",
                "sha256:b7493f73a2febe0dc33d51c99b474547f7f6c0b2c8fb2b21f453eef204c12148"
            ],
            "index": "pypi",
            "version": "==0.13.1"
        },
        "jinja2": {
            "hashes": [
                "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",
                "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
            ],
            "version": "==2.10"
        },
        "markupsafe": {
            "hashes": [
                "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
            ],
            "version": "==1.0"
        },
        "mccabe": {
            "hashes": [
                "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42",
                "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"
            ],
            "version": "==0.6.1"
        },
        "mock": {
            "hashes": [
                "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1",
                "sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
            ],
            "index": "pypi",
            "version": "==2.0.0"
        },
        "more-itertools": {
            "hashes": [
                "sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092",
                "sha256:c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e",
                "sha256:fcbfeaea0be121980e15bc97b3817b5202ca73d0eae185b4550cbfce2a3ebb3d"
            ],
            "version": "==4.3.0"
        },
        "packaging": {
            "hashes": [
                "sha256:0886227f54515e592aaa2e5a553332c73962917f2831f1b0f9b9f4380a4b9807",
                "sha256:f95a1e147590f204328170981833854229bb2912ac3d5f89e2a8ccd2834800c9"
            ],
            "version": "==18.0"
        },
        "parso": {
            "hashes": [
                "sha256:35704a43a3c113cce4de228ddb39aab374b8004f4f2407d070b6a2ca784ce8a2",
                "sha256:895c63e93b94ac1e1690f5fdd40b65f07c8171e3e53cbd7793b5b96c0e0a7f24"
            ],
            "version": "==0.3.1"
        },
        "parver": {
            "hashes": [
                "sha256:ac4afff688d19d5e1876bb68d4bccc1a1b6a5cc8bd6a646939a14d366695ba15",
                "sha256:f025fba8f88a9c776971df6d62b6cf7f37d1108f84c163bda91e157d7d527075"
            ],
            "index": "pypi",
            "version": "==0.1.1"
        },
        "passa": {
            "editable": true,
            "git": "https://github.com/sarugaku/passa.git",
            "ref": "4f3b8102f122cf0b75e5d7c513a2e61b0b093dcd"
        },
        "pbr": {
            "hashes": [
                "sha256:1be135151a0da949af8c5d0ee9013d9eafada71237eb80b3ba8896b4f12ec5dc",
                "sha256:cf36765bf2218654ae824ec8e14257259ba44e43b117fd573c8d07a9895adbdd"
            ],
            "version": "==4.3.0"
        },
        "pip-shims": {
            "hashes": [
                "sha256:164b93bc94b207613d9632f28f4d55eba9301f9454aaaba335de36c24d92d106",
                "sha256:27e2439aa93af8c1b8e58cf63a40cbcd26959b26424904f2e6d57837af8f76c5"
            ],
            "version": "==0.3.0"
        },
        "pipenv": {
            "editable": true,
            "path": "."
        },
        "pkginfo": {
            "hashes": [
                "sha256:5878d542a4b3f237e359926384f1dde4e099c9f5525d236b1840cf704fa8d474",
                "sha256:a39076cb3eb34c333a0dd390b568e9e1e881c7bf2cc0aee12120636816f55aee"
            ],
            "version": "==1.4.2"
        },
        "plette": {
            "hashes": [
                "sha256:c0e3553c1e581d8423daccbd825789c6e7f29b7d9e00e5331b12e1642a1a26d3",
                "sha256:dde5d525cf5f0cbad4d938c83b93db17887918daf63c13eafed257c4f61b07b4"
            ],
            "version": "==0.2.2"
        },
        "pluggy": {
            "hashes": [
                "sha256:6e3836e39f4d36ae72840833db137f7b7d35105079aee6ec4a62d9f80d594dd1",
                "sha256:95eb8364a4708392bae89035f45341871286a333f749c3141c20573d2b3876e1"
            ],
            "version": "==0.7.1"
        },
        "py": {
            "hashes": [
                "sha256:06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1",
                "sha256:50402e9d1c9005d759426988a492e0edaadb7f4e68bcddfea586bc7432d009c6"
            ],
            "version": "==1.6.0"
        },
        "pycodestyle": {
            "hashes": [
                "sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766",
                "sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9"
            ],
            "version": "==2.3.1"
        },
        "pycparser": {
            "hashes": [
                "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
            ],
            "version": "==2.19"
        },
        "pyflakes": {
            "hashes": [
                "sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f",
                "sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
            ],
            "version": "==1.6.0"
        },
        "pygments": {
            "hashes": [
                "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d",
                "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"
            ],
            "version": "==2.2.0"
        },
        "pyparsing": {
            "hashes": [
                "sha256:bc6c7146b91af3f567cf6daeaec360bc07d45ffec4cf5353f4d7a208ce7ca30a",
                "sha256:d29593d8ebe7b57d6967b62494f8c72b03ac0262b1eed63826c6f788b3606401"
            ],
            "version": "==2.2.2"
        },
        "pytest": {
            "hashes": [
                "sha256:7e258ee50338f4e46957f9e09a0f10fb1c2d05493fa901d113a8dafd0790de4e",
                "sha256:9332147e9af2dcf46cd7ceb14d5acadb6564744ddff1fe8c17f0ce60ece7d9a2"
            ],
            "index": "pypi",
            "version": "==3.8.2"
        },
        "pytest-forked": {
            "hashes": [
                "sha256:e4500cd0509ec4a26535f7d4112a8cc0f17d3a41c29ffd4eab479d2a55b30805",
                "sha256:f275cb48a73fc61a6710726348e1da6d68a978f0ec0c54ece5a5fae5977e5a08"
            ],
            "version": "==0.2"
        },
        "pytest-pypy": {
            "editable": true,
            "path": "./tests/pytest-pypi"
        },
        "pytest-tap": {
            "hashes": [
                "sha256:3b05ec931424bbe44e944726b68f7ef185bb6d25ce9ce21ac52c9af7ffa9b506",
                "sha256:ca063de56298034302f3cbce55c87a27d7bfa7af7de591cdb9ec6ce45fea5467"
            ],
            "index": "pypi",
            "version": "==2.3"
        },
        "pytest-xdist": {
            "hashes": [
                "sha256:06aa39361694c9365baaa03bec71159b59ad06c9826c6279ebba368cb3571561",
                "sha256:1ef0d05c905cfa0c5442c90e9e350e65c6ada120e33a00a066ca51c89f5f869a"
            ],
            "index": "pypi",
            "version": "==1.23.2"
        },
        "pytz": {
            "hashes": [
                "sha256:a061aa0a9e06881eb8b3b2b43f05b9439d6583c206d0a6c340ff72a7b6669053",
                "sha256:ffb9ef1de172603304d9d2819af6f5ece76f2e85ec10692a524dd876e72bf277"
            ],
            "index": "pypi",
            "version": "==2018.5"
        },
        "readme-renderer": {
            "hashes": [
                "sha256:237ca8705ffea849870de41101dba41543561da05c0ae45b2f1c547efa9843d2",
                "sha256:f75049a3a7afa57165551e030dd8f9882ebf688b9600535a3f7e23596651875d"
            ],
            "version": "==22.0"
        },
        "requests": {
            "hashes": [
                "sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1",
                "sha256:ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"
            ],
            "version": "==2.19.1"
        },
        "requests-toolbelt": {
            "hashes": [
                "sha256:42c9c170abc2cacb78b8ab23ac957945c7716249206f90874651971a4acff237",
                "sha256:f6a531936c6fa4c6cfce1b9c10d5c4f498d16528d2a54a22ca00011205a187b5"
            ],
            "version": "==0.8.0"
        },
        "requirementslib": {
            "hashes": [
                "sha256:39fb4aab3ebd7f46b266ddc98a3ac731127ee35fe6cf1b3e11be7c6551cc2c9b",
                "sha256:810d8961f333d8fef92400f58b25f80003151fb424a545e244073fc3d95ae2dd"
            ],
            "version": "==1.1.7"
        },
        "resolvelib": {
            "hashes": [
                "sha256:6c4c6690b0bdd78bcc002e1a5d1b6abbde58c694a6ea1838f165b20d2c943db7",
                "sha256:8734e53271ef98f38a2c99324d5e7905bc00c97dc3fc5bb7d83c82a979e71c04"
            ],
            "version": "==0.2.2"
        },
        "rope": {
            "hashes": [
                "sha256:a108c445e1cd897fe19272ab7877d172e7faf3d4148c80e7d20faba42ea8f7b2"
            ],
            "index": "pypi",
            "version": "==0.11.0"
        },
        "six": {
            "hashes": [
                "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
                "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
            ],
            "version": "==1.11.0"
        },
        "snowballstemmer": {
            "hashes": [
                "sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128",
                "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89"
            ],
            "version": "==1.2.1"
        },
        "sphinx": {
            "hashes": [
                "sha256:11f271e7a9398385ed730e90f0bb41dc3815294bdcd395b46ed2d033bc2e7d87",
                "sha256:4064ea6c56feeb268838cb8fbbee507d0c3d5d92fa63a7df935a916b52c9e2f5"
            ],
            "index": "pypi",
            "version": "==1.5.5"
        },
        "sphinx-click": {
            "hashes": [
                "sha256:0550d3e5dcd6244847bd0861ebe64101a2ef302913866e0ccd9095b2aa230051",
                "sha256:404784f724504e3da2cb056767ba64955c4bfb9bfca8cfedd7142a962bafd70f"
            ],
            "index": "pypi",
            "version": "==1.3.0"
        },
        "sphinxcontrib-websupport": {
            "hashes": [
                "sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd",
                "sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"
            ],
            "version": "==1.1.0"
        },
        "stdeb": {
            "hashes": [
                "sha256:0ed2c2cc6b8ba21da7d646c6f37ca60b22e9e4950e3cec6bcd9c2e7e57e3747e"
            ],
            "index": "pypi",
            "markers": "sys_platform == 'linux'",
            "version": "==0.8.5"
        },
        "tap.py": {
            "hashes": [
                "sha256:8ad62ba6898fcef4913c67d468d0c4beae3109b74c03363538145e31b1840b29",
                "sha256:f6532fd7483c5fdc2ed13575fa4494e7d037f797f8a2c6f8809a859be61271f5"
            ],
            "version": "==2.5"
        },
        "toml": {
            "hashes": [
                "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
                "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"
            ],
            "version": "==0.10.0"
        },
        "tomlkit": {
            "hashes": [
                "sha256:8ab16e93162fc44d3ad83d2aa29a7140b8f7d996ae1790a73b9a7aed6fb504ac",
                "sha256:ca181cee7aee805d455628f7c94eb8ae814763769a93e69157f250fe4ebe1926"
            ],
            "version": "==0.4.4"
        },
        "towncrier": {
            "editable": true,
            "git": "https://github.com/hawkowl/towncrier.git",
            "ref": "47754a607a9b03f06affaf167d65b990786aae25"
        },
        "tqdm": {
            "hashes": [
                "sha256:18f1818ce951aeb9ea162ae1098b43f583f7d057b34d706f66939353d1208889",
                "sha256:df02c0650160986bac0218bb07952245fc6960d23654648b5d5526ad5a4128c9"
            ],
            "version": "==4.26.0"
        },
        "twine": {
            "hashes": [
                "sha256:7d89bc6acafb31d124e6e5b295ef26ac77030bf098960c2a4c4e058335827c5c",
                "sha256:fad6f1251195f7ddd1460cb76d6ea106c93adb4e56c41e0da79658e56e547d2c"
            ],
            "index": "pypi",
            "version": "==1.12.1"
        },
        "typing": {
            "hashes": [
                "sha256:3a887b021a77b292e151afb75323dea88a7bc1b3dfa92176cff8e44c8b68bddf",
                "sha256:b2c689d54e1144bbcfd191b0832980a21c2dbcf7b5ff7a66248a60c90e951eb8",
                "sha256:d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2"
            ],
            "markers": "python_version < '3.5'",
            "version": "==3.6.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf",
                "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5"
            ],
            "version": "==1.23"
        },
        "virtualenv": {
            "hashes": [
                "sha256:2ce32cd126117ce2c539f0134eb89de91a8413a29baac49cbab3eb50e2026669",
                "sha256:ca07b4c0b54e14a91af9f34d0919790b016923d157afda5efdde55c96718f752"
            ],
            "version": "==16.0.0"
        },
        "virtualenv-clone": {
            "hashes": [
                "sha256:4507071d81013fd03ea9930ec26bc8648b997927a11fa80e8ee81198b57e0ac7",
                "sha256:b5cfe535d14dc68dfc1d1bb4ac1209ea28235b91156e2bba8e250d291c3fb4f8"
            ],
            "version": "==0.3.0"
        },
        "vistir": {
            "hashes": [
                "sha256:8a360ac20cbcc0863d6dbbe7a52e8b2c9ebf48abd6833c3813a82c70708244af",
                "sha256:bc6e10284792485c10585536e6aede9e38996c841cc9d2a67238cd05742c2d0b"
            ],
            "version": "==0.1.6"
        },
        "webencodings": {
            "hashes": [
                "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78",
                "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
            ],
            "version": "==0.5.1"
        },
        "werkzeug": {
            "hashes": [
                "sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c",
                "sha256:d5da73735293558eb1651ee2fddc4d0dedcfa06538b8813a2e20011583c9e49b"
            ],
            "version": "==0.14.1"
        },
        "wheel": {
            "hashes": [
                "sha256:9fa1f772f1a2df2bd00ddb4fa57e1cc349301e1facb98fbe62329803a9ff1196",
                "sha256:d215f4520a1ba1851a3c00ba2b4122665cd3d6b0834d2ba2816198b1e3024a0e"
            ],
            "version": "==0.32.1"
        },
        "yaspin": {
            "hashes": [
                "sha256:36fdccc5e0637b5baa8892fe2c3d927782df7d504e9020f40eb2c1502518aa5a",
                "sha256:8e52bf8079a48e2a53f3dfeec9e04addb900c101d1591c85df69cf677d3237e7"
            ],
            "version": "==0.14.0"
        }
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Category: TestsRelates to tests.Category: VCSRelates to version control system dependencies.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions