├── docs
├── index.rst
├── _templates
│ └── sidebardonations.html
└── conf.py
├── tests
└── __init__.py
├── .dcignore
├── lgtm.yml
├── jumpstarter
└── __init__.py
├── .github
├── FUNDING.yml
└── workflows
│ └── unit-test.yml
├── .readthedocs.yml
├── .restyled.yaml
├── pyproject.toml
├── noxfile.py
├── LICENSE
├── README.rst
├── .gitignore
└── poetry.lock
/docs/index.rst:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.dcignore:
--------------------------------------------------------------------------------
1 | noxfile.py
--------------------------------------------------------------------------------
/lgtm.yml:
--------------------------------------------------------------------------------
1 | queries:
2 | - exclude: ./noxfile.py
--------------------------------------------------------------------------------
/jumpstarter/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "0.1.0"
2 | VERSION = (0, 1, 0)
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | open_collective: celery
2 | tidelift: "pypi/celery"
3 |
--------------------------------------------------------------------------------
/.readthedocs.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 |
3 | python:
4 | install:
5 | - method: pip
6 | path: .
7 | extra_requirements:
8 | - readthedocs
--------------------------------------------------------------------------------
/.restyled.yaml:
--------------------------------------------------------------------------------
1 | enabled: true
2 | auto: true
3 | commit_template: |
4 | Fixed formatting (${restyler.name})
5 | statuses: true
6 | request_review:
7 | origin: author
8 | forked: owner
9 | restylers:
10 | - name: whitespace
11 | - name: isort
12 | - name: black
--------------------------------------------------------------------------------
/docs/_templates/sidebardonations.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
Donations
6 |
Please help support this community project with a donation.
7 |
8 |
--------------------------------------------------------------------------------
/docs/conf.py:
--------------------------------------------------------------------------------
1 | from sphinx_celery import conf
2 |
3 | globals().update(conf.build_config(
4 | 'jumpstarter', __file__,
5 | project='jumpstarter',
6 | version_dev='0.2',
7 | version_stable='0.1',
8 | canonical_url='http://docs.celeryproject.org',
9 | webdomain='celeryproject.org',
10 | github_project='celery/jumpstarter',
11 | author='Omer Katz & contributors',
12 | author_name='Omer Katz',
13 | copyright='2021',
14 | publisher='Celery Project',
15 | html_prepend_sidebars=['sidebardonations.html'],
16 | ))
17 |
--------------------------------------------------------------------------------
/.github/workflows/unit-test.yml:
--------------------------------------------------------------------------------
1 | name: Unit Test
2 | on: [push]
3 | jobs:
4 | build:
5 | runs-on: ubuntu-latest
6 | strategy:
7 | matrix:
8 | python-version: [ 3.7, 3.8, 3.9 ]
9 | steps:
10 | - uses: actions/checkout@v2
11 | - name: Set up Python ${{ matrix.python-version }}
12 | uses: actions/setup-python@v2
13 | with:
14 | python-version: ${{ matrix.python-version }}
15 | - name: Install CI dependencies
16 | run: pip install poetry nox nox-poetry
17 | - name: Run unit tests
18 | run: nox -s test-${{ matrix.python-version }}
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["poetry-core>=1.0.0"]
3 | build-backend = "poetry.core.masonry.api"
4 |
5 | [tool.poetry]
6 | name = "jumpstarter"
7 | version = "0.1.0"
8 | description = ""
9 | authors = ["Omer Katz "]
10 |
11 | [tool.poetry.dependencies]
12 | python = "^3.7.0"
13 | transitions-anyio = "^0.1.0"
14 | sphinx-celery = {version = "^2.0.0", optional = true}
15 |
16 | [tool.poetry.dev-dependencies]
17 | pytest = "^6.0"
18 | pytest-subtests = "^0.3"
19 | pytest-randomly = "^3.4"
20 | trio = "^0.17"
21 | curio = "^1.4"
22 | black = "^20.8b1"
23 |
24 | [tool.poetry.extras]
25 | readthedocs = ["sphinx-celery"]
26 |
--------------------------------------------------------------------------------
/noxfile.py:
--------------------------------------------------------------------------------
1 | import nox
2 | import nox_poetry.patch
3 | from nox.sessions import Session
4 |
5 |
6 | @nox.session
7 | def build_docs(session: Session):
8 | session.install(".")
9 | session.run("poetry", "install", external=True)
10 | session.run("sphinx-build", "-b", "html", "-j", "auto", "docs/", "docs/_build/_html")
11 |
12 |
13 | @nox.session(python=("3.7", "3.8", "3.9"))
14 | def test(session: Session) -> None:
15 | """Run the test suite."""
16 | session.install(".")
17 | session.install("pytest")
18 | session.run("pytest")
19 |
20 |
21 | @nox.session
22 | def format(session: Session) -> None:
23 | session.install("black", "isort")
24 | session.run("black", "jumpstarter/", "tests/")
25 | session.run("isort", "jumpstarter/", "tests/")
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Omer Katz
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.rst:
--------------------------------------------------------------------------------
1 | ===========
2 | Jumpstarter
3 | ===========
4 |
5 | |build-status| |documentation| |coverage| |license| |wheel| |pyversion| |pyimp| |ocbackerbadge| |ocsponsorbadge|
6 |
7 | .. |build-status| image:: https://github.com/celery/jumpstarter/workflows/Unit%20Test/badge.svg
8 | :alt: Unit Test Status
9 | :target: https://github.com/celery/jumpstarter/actions?query=workflow%3A%22Unit+Test%22+branch%3Amain
10 |
11 | .. |documentation| image:: https://readthedocs.org/projects/jumpstarter/badge/?version=latest
12 | :target: https://jumpstarter.readthedocs.io/en/latest/?badge=latest
13 | :alt: Documentation Status
14 |
15 | .. |coverage| image:: https://codecov.io/github/celery/jumpstarter/coverage.svg?branch=main
16 | :target: https://codecov.io/github/celery/jumpstarter?branch=main
17 |
18 | .. |license| image:: https://img.shields.io/pypi/l/jumpstarter.svg
19 | :alt: BSD License
20 | :target: https://opensource.org/licenses/BSD-3-Clause
21 |
22 | .. |wheel| image:: https://img.shields.io/pypi/wheel/jumpstarter.svg
23 | :alt: Celery can be installed via wheel
24 | :target: https://pypi.org/project/celery/
25 |
26 | .. |pyversion| image:: https://img.shields.io/pypi/pyversions/jumpstarter.svg
27 | :alt: Supported Python versions.
28 | :target: https://pypi.org/project/celery/
29 |
30 | .. |pyimp| image:: https://img.shields.io/pypi/implementation/jumpstarter.svg
31 | :alt: Supported Python implementations.
32 | :target: https://pypi.org/project/celery/
33 |
34 | .. |ocbackerbadge| image:: https://opencollective.com/celery/backers/badge.svg
35 | :alt: Backers on Open Collective
36 | :target: #backers
37 |
38 | .. |ocsponsorbadge| image:: https://opencollective.com/celery/sponsors/badge.svg
39 | :alt: Sponsors on Open Collective
40 | :target: #sponsors
41 |
42 | .. |downloads| image:: https://pepy.tech/badge/jumpstarter
43 | :alt: Downloads
44 | :target: https://pepy.tech/project/celery
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Python template
3 | # Byte-compiled / optimized / DLL files
4 | __pycache__/
5 | *.py[cod]
6 | *$py.class
7 |
8 | # C extensions
9 | *.so
10 |
11 | # Distribution / packaging
12 | .Python
13 | build/
14 | develop-eggs/
15 | dist/
16 | downloads/
17 | eggs/
18 | .eggs/
19 | lib/
20 | lib64/
21 | parts/
22 | sdist/
23 | var/
24 | wheels/
25 | share/python-wheels/
26 | *.egg-info/
27 | .installed.cfg
28 | *.egg
29 | MANIFEST
30 |
31 | # PyInstaller
32 | # Usually these files are written by a python script from a template
33 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
34 | *.manifest
35 | *.spec
36 |
37 | # Installer logs
38 | pip-log.txt
39 | pip-delete-this-directory.txt
40 |
41 | # Unit test / coverage reports
42 | htmlcov/
43 | .tox/
44 | .nox/
45 | .coverage
46 | .coverage.*
47 | .cache
48 | nosetests.xml
49 | coverage.xml
50 | *.cover
51 | *.py,cover
52 | .hypothesis/
53 | .pytest_cache/
54 | cover/
55 |
56 | # Translations
57 | *.mo
58 | *.pot
59 |
60 | # Django stuff:
61 | *.log
62 | local_settings.py
63 | db.sqlite3
64 | db.sqlite3-journal
65 |
66 | # Flask stuff:
67 | instance/
68 | .webassets-cache
69 |
70 | # Scrapy stuff:
71 | .scrapy
72 |
73 | # Sphinx documentation
74 | docs/_build/
75 |
76 | # PyBuilder
77 | .pybuilder/
78 | target/
79 |
80 | # Jupyter Notebook
81 | .ipynb_checkpoints
82 |
83 | # IPython
84 | profile_default/
85 | ipython_config.py
86 |
87 | # pyenv
88 | # For a library or package, you might want to ignore these files since the code is
89 | # intended to run in multiple environments; otherwise, check them in:
90 | # .python-version
91 |
92 | # pipenv
93 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
95 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
96 | # install all needed dependencies.
97 | #Pipfile.lock
98 |
99 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
100 | __pypackages__/
101 |
102 | # Celery stuff
103 | celerybeat-schedule
104 | celerybeat.pid
105 |
106 | # SageMath parsed files
107 | *.sage.py
108 |
109 | # Environments
110 | .env
111 | .venv
112 | env/
113 | venv/
114 | ENV/
115 | env.bak/
116 | venv.bak/
117 |
118 | # Spyder project settings
119 | .spyderproject
120 | .spyproject
121 |
122 | # Rope project settings
123 | .ropeproject
124 |
125 | # mkdocs documentation
126 | /site
127 |
128 | # mypy
129 | .mypy_cache/
130 | .dmypy.json
131 | dmypy.json
132 |
133 | # Pyre type checker
134 | .pyre/
135 |
136 | # pytype static type analyzer
137 | .pytype/
138 |
139 | # Cython debug symbols
140 | cython_debug/
141 |
142 | .idea/
--------------------------------------------------------------------------------
/poetry.lock:
--------------------------------------------------------------------------------
1 | [[package]]
2 | name = "alabaster"
3 | version = "0.7.12"
4 | description = "A configurable sidebar-enabled Sphinx theme"
5 | category = "main"
6 | optional = true
7 | python-versions = "*"
8 |
9 | [[package]]
10 | name = "anyio"
11 | version = "2.2.0"
12 | description = "High level compatibility layer for multiple asynchronous event loop implementations"
13 | category = "main"
14 | optional = false
15 | python-versions = ">=3.6.2"
16 |
17 | [package.dependencies]
18 | idna = ">=2.8"
19 | sniffio = ">=1.1"
20 | typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
21 |
22 | [package.extras]
23 | curio = ["curio (>=1.4)"]
24 | doc = ["sphinx-rtd-theme", "sphinx-autodoc-typehints (>=1.2.0)"]
25 | test = ["coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "pytest (>=6.0)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
26 | trio = ["trio (>=0.16)"]
27 |
28 | [[package]]
29 | name = "appdirs"
30 | version = "1.4.4"
31 | description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
32 | category = "dev"
33 | optional = false
34 | python-versions = "*"
35 |
36 | [[package]]
37 | name = "async-generator"
38 | version = "1.10"
39 | description = "Async generators and context managers for Python 3.5+"
40 | category = "dev"
41 | optional = false
42 | python-versions = ">=3.5"
43 |
44 | [[package]]
45 | name = "atomicwrites"
46 | version = "1.4.0"
47 | description = "Atomic file writes."
48 | category = "dev"
49 | optional = false
50 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
51 |
52 | [[package]]
53 | name = "attrs"
54 | version = "20.3.0"
55 | description = "Classes Without Boilerplate"
56 | category = "dev"
57 | optional = false
58 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
59 |
60 | [package.extras]
61 | dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "furo", "sphinx", "pre-commit"]
62 | docs = ["furo", "sphinx", "zope.interface"]
63 | tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
64 | tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six"]
65 |
66 | [[package]]
67 | name = "babel"
68 | version = "2.9.0"
69 | description = "Internationalization utilities"
70 | category = "main"
71 | optional = true
72 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
73 |
74 | [package.dependencies]
75 | pytz = ">=2015.7"
76 |
77 | [[package]]
78 | name = "black"
79 | version = "20.8b1"
80 | description = "The uncompromising code formatter."
81 | category = "dev"
82 | optional = false
83 | python-versions = ">=3.6"
84 |
85 | [package.dependencies]
86 | appdirs = "*"
87 | click = ">=7.1.2"
88 | mypy-extensions = ">=0.4.3"
89 | pathspec = ">=0.6,<1"
90 | regex = ">=2020.1.8"
91 | toml = ">=0.10.1"
92 | typed-ast = ">=1.4.0"
93 | typing-extensions = ">=3.7.4"
94 |
95 | [package.extras]
96 | colorama = ["colorama (>=0.4.3)"]
97 | d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
98 |
99 | [[package]]
100 | name = "cffi"
101 | version = "1.14.5"
102 | description = "Foreign Function Interface for Python calling C code."
103 | category = "dev"
104 | optional = false
105 | python-versions = "*"
106 |
107 | [package.dependencies]
108 | pycparser = "*"
109 |
110 | [[package]]
111 | name = "click"
112 | version = "7.1.2"
113 | description = "Composable command line interface toolkit"
114 | category = "dev"
115 | optional = false
116 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
117 |
118 | [[package]]
119 | name = "colorama"
120 | version = "0.4.4"
121 | description = "Cross-platform colored terminal text."
122 | category = "main"
123 | optional = false
124 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
125 |
126 | [[package]]
127 | name = "curio"
128 | version = "1.5"
129 | description = "Curio"
130 | category = "dev"
131 | optional = false
132 | python-versions = ">= 3.7"
133 |
134 | [package.extras]
135 | test = ["pytest", "sphinx"]
136 |
137 | [[package]]
138 | name = "docutils"
139 | version = "0.16"
140 | description = "Docutils -- Python Documentation Utilities"
141 | category = "main"
142 | optional = true
143 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
144 |
145 | [[package]]
146 | name = "idna"
147 | version = "3.1"
148 | description = "Internationalized Domain Names in Applications (IDNA)"
149 | category = "main"
150 | optional = false
151 | python-versions = ">=3.4"
152 |
153 | [[package]]
154 | name = "imagesize"
155 | version = "1.2.0"
156 | description = "Getting image size from png/jpeg/jpeg2000/gif file"
157 | category = "main"
158 | optional = true
159 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
160 |
161 | [[package]]
162 | name = "importlib-metadata"
163 | version = "3.7.2"
164 | description = "Read metadata from Python packages"
165 | category = "dev"
166 | optional = false
167 | python-versions = ">=3.6"
168 |
169 | [package.dependencies]
170 | typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
171 | zipp = ">=0.5"
172 |
173 | [package.extras]
174 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
175 | testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
176 |
177 | [[package]]
178 | name = "iniconfig"
179 | version = "1.1.1"
180 | description = "iniconfig: brain-dead simple config-ini parsing"
181 | category = "dev"
182 | optional = false
183 | python-versions = "*"
184 |
185 | [[package]]
186 | name = "jinja2"
187 | version = "2.11.3"
188 | description = "A very fast and expressive template engine."
189 | category = "main"
190 | optional = true
191 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
192 |
193 | [package.dependencies]
194 | MarkupSafe = ">=0.23"
195 |
196 | [package.extras]
197 | i18n = ["Babel (>=0.8)"]
198 |
199 | [[package]]
200 | name = "markupsafe"
201 | version = "1.1.1"
202 | description = "Safely add untrusted strings to HTML/XML markup."
203 | category = "main"
204 | optional = true
205 | python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
206 |
207 | [[package]]
208 | name = "mypy-extensions"
209 | version = "0.4.3"
210 | description = "Experimental type system extensions for programs checked with the mypy typechecker."
211 | category = "dev"
212 | optional = false
213 | python-versions = "*"
214 |
215 | [[package]]
216 | name = "outcome"
217 | version = "1.1.0"
218 | description = "Capture the outcome of Python function calls."
219 | category = "dev"
220 | optional = false
221 | python-versions = ">=3.6"
222 |
223 | [package.dependencies]
224 | attrs = ">=19.2.0"
225 |
226 | [[package]]
227 | name = "packaging"
228 | version = "20.9"
229 | description = "Core utilities for Python packages"
230 | category = "main"
231 | optional = false
232 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
233 |
234 | [package.dependencies]
235 | pyparsing = ">=2.0.2"
236 |
237 | [[package]]
238 | name = "pathspec"
239 | version = "0.8.1"
240 | description = "Utility library for gitignore style pattern matching of file paths."
241 | category = "dev"
242 | optional = false
243 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
244 |
245 | [[package]]
246 | name = "pluggy"
247 | version = "0.13.1"
248 | description = "plugin and hook calling mechanisms for python"
249 | category = "dev"
250 | optional = false
251 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
252 |
253 | [package.dependencies]
254 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
255 |
256 | [package.extras]
257 | dev = ["pre-commit", "tox"]
258 |
259 | [[package]]
260 | name = "py"
261 | version = "1.10.0"
262 | description = "library with cross-python path, ini-parsing, io, code, log facilities"
263 | category = "dev"
264 | optional = false
265 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
266 |
267 | [[package]]
268 | name = "pycparser"
269 | version = "2.20"
270 | description = "C parser in Python"
271 | category = "dev"
272 | optional = false
273 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
274 |
275 | [[package]]
276 | name = "pygments"
277 | version = "2.8.1"
278 | description = "Pygments is a syntax highlighting package written in Python."
279 | category = "main"
280 | optional = true
281 | python-versions = ">=3.5"
282 |
283 | [[package]]
284 | name = "pyparsing"
285 | version = "2.4.7"
286 | description = "Python parsing module"
287 | category = "main"
288 | optional = false
289 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
290 |
291 | [[package]]
292 | name = "pytest"
293 | version = "6.2.2"
294 | description = "pytest: simple powerful testing with Python"
295 | category = "dev"
296 | optional = false
297 | python-versions = ">=3.6"
298 |
299 | [package.dependencies]
300 | atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
301 | attrs = ">=19.2.0"
302 | colorama = {version = "*", markers = "sys_platform == \"win32\""}
303 | importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
304 | iniconfig = "*"
305 | packaging = "*"
306 | pluggy = ">=0.12,<1.0.0a1"
307 | py = ">=1.8.2"
308 | toml = "*"
309 |
310 | [package.extras]
311 | testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
312 |
313 | [[package]]
314 | name = "pytest-randomly"
315 | version = "3.5.0"
316 | description = "Pytest plugin to randomly order tests and control random.seed."
317 | category = "dev"
318 | optional = false
319 | python-versions = ">=3.5"
320 |
321 | [package.dependencies]
322 | importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
323 | pytest = "*"
324 |
325 | [[package]]
326 | name = "pytest-subtests"
327 | version = "0.3.2"
328 | description = "unittest subTest() support and subtests fixture"
329 | category = "dev"
330 | optional = false
331 | python-versions = ">=3.5"
332 |
333 | [package.dependencies]
334 | pytest = ">=4.4.0"
335 |
336 | [[package]]
337 | name = "pytz"
338 | version = "2021.1"
339 | description = "World timezone definitions, modern and historical"
340 | category = "main"
341 | optional = true
342 | python-versions = "*"
343 |
344 | [[package]]
345 | name = "regex"
346 | version = "2020.11.13"
347 | description = "Alternative regular expression module, to replace re."
348 | category = "dev"
349 | optional = false
350 | python-versions = "*"
351 |
352 | [[package]]
353 | name = "requests"
354 | version = "2.15.1"
355 | description = "Python HTTP for Humans."
356 | category = "main"
357 | optional = true
358 | python-versions = "*"
359 |
360 | [package.extras]
361 | security = ["cryptography (>=1.3.4)", "idna (>=2.0.0)", "pyOpenSSL (>=0.14)"]
362 | socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
363 |
364 | [[package]]
365 | name = "six"
366 | version = "1.15.0"
367 | description = "Python 2 and 3 compatibility utilities"
368 | category = "main"
369 | optional = false
370 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
371 |
372 | [[package]]
373 | name = "sniffio"
374 | version = "1.2.0"
375 | description = "Sniff out which async library your code is running under"
376 | category = "main"
377 | optional = false
378 | python-versions = ">=3.5"
379 |
380 | [[package]]
381 | name = "snowballstemmer"
382 | version = "2.1.0"
383 | description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
384 | category = "main"
385 | optional = true
386 | python-versions = "*"
387 |
388 | [[package]]
389 | name = "sortedcontainers"
390 | version = "2.3.0"
391 | description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set"
392 | category = "dev"
393 | optional = false
394 | python-versions = "*"
395 |
396 | [[package]]
397 | name = "sphinx"
398 | version = "3.5.2"
399 | description = "Python documentation generator"
400 | category = "main"
401 | optional = true
402 | python-versions = ">=3.5"
403 |
404 | [package.dependencies]
405 | alabaster = ">=0.7,<0.8"
406 | babel = ">=1.3"
407 | colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""}
408 | docutils = ">=0.12"
409 | imagesize = "*"
410 | Jinja2 = ">=2.3"
411 | packaging = "*"
412 | Pygments = ">=2.0"
413 | requests = ">=2.5.0"
414 | snowballstemmer = ">=1.1"
415 | sphinxcontrib-applehelp = "*"
416 | sphinxcontrib-devhelp = "*"
417 | sphinxcontrib-htmlhelp = "*"
418 | sphinxcontrib-jsmath = "*"
419 | sphinxcontrib-qthelp = "*"
420 | sphinxcontrib-serializinghtml = "*"
421 |
422 | [package.extras]
423 | docs = ["sphinxcontrib-websupport"]
424 | lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"]
425 | test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"]
426 |
427 | [[package]]
428 | name = "sphinx-celery"
429 | version = "2.0.0"
430 | description = "Sphinx Celery Theme."
431 | category = "main"
432 | optional = true
433 | python-versions = "*"
434 |
435 | [package.dependencies]
436 | Sphinx = ">=2.0.0"
437 |
438 | [[package]]
439 | name = "sphinxcontrib-applehelp"
440 | version = "1.0.2"
441 | description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
442 | category = "main"
443 | optional = true
444 | python-versions = ">=3.5"
445 |
446 | [package.extras]
447 | lint = ["flake8", "mypy", "docutils-stubs"]
448 | test = ["pytest"]
449 |
450 | [[package]]
451 | name = "sphinxcontrib-devhelp"
452 | version = "1.0.2"
453 | description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
454 | category = "main"
455 | optional = true
456 | python-versions = ">=3.5"
457 |
458 | [package.extras]
459 | lint = ["flake8", "mypy", "docutils-stubs"]
460 | test = ["pytest"]
461 |
462 | [[package]]
463 | name = "sphinxcontrib-htmlhelp"
464 | version = "1.0.3"
465 | description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
466 | category = "main"
467 | optional = true
468 | python-versions = ">=3.5"
469 |
470 | [package.extras]
471 | lint = ["flake8", "mypy", "docutils-stubs"]
472 | test = ["pytest", "html5lib"]
473 |
474 | [[package]]
475 | name = "sphinxcontrib-jsmath"
476 | version = "1.0.1"
477 | description = "A sphinx extension which renders display math in HTML via JavaScript"
478 | category = "main"
479 | optional = true
480 | python-versions = ">=3.5"
481 |
482 | [package.extras]
483 | test = ["pytest", "flake8", "mypy"]
484 |
485 | [[package]]
486 | name = "sphinxcontrib-qthelp"
487 | version = "1.0.3"
488 | description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
489 | category = "main"
490 | optional = true
491 | python-versions = ">=3.5"
492 |
493 | [package.extras]
494 | lint = ["flake8", "mypy", "docutils-stubs"]
495 | test = ["pytest"]
496 |
497 | [[package]]
498 | name = "sphinxcontrib-serializinghtml"
499 | version = "1.1.4"
500 | description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
501 | category = "main"
502 | optional = true
503 | python-versions = ">=3.5"
504 |
505 | [package.extras]
506 | lint = ["flake8", "mypy", "docutils-stubs"]
507 | test = ["pytest"]
508 |
509 | [[package]]
510 | name = "toml"
511 | version = "0.10.2"
512 | description = "Python Library for Tom's Obvious, Minimal Language"
513 | category = "dev"
514 | optional = false
515 | python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
516 |
517 | [[package]]
518 | name = "transitions"
519 | version = "0.8.7"
520 | description = "A lightweight, object-oriented Python state machine implementation with many extensions."
521 | category = "main"
522 | optional = false
523 | python-versions = "*"
524 |
525 | [package.dependencies]
526 | six = "*"
527 |
528 | [package.extras]
529 | diagrams = ["pygraphviz"]
530 | test = ["pytest"]
531 |
532 | [[package]]
533 | name = "transitions-anyio"
534 | version = "0.1.0"
535 | description = "An extension for the transitions state machine library which runs asynchronous state machines using anyio."
536 | category = "main"
537 | optional = false
538 | python-versions = ">=3.6.2,<4.0.0"
539 |
540 | [package.dependencies]
541 | anyio = ">=2.0.2,<3.0.0"
542 | transitions = ">=0.8.6,<0.9.0"
543 |
544 | [[package]]
545 | name = "trio"
546 | version = "0.17.0"
547 | description = "A friendly Python library for async concurrency and I/O"
548 | category = "dev"
549 | optional = false
550 | python-versions = ">=3.6"
551 |
552 | [package.dependencies]
553 | async-generator = ">=1.9"
554 | attrs = ">=19.2.0"
555 | cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""}
556 | idna = "*"
557 | outcome = "*"
558 | sniffio = "*"
559 | sortedcontainers = "*"
560 |
561 | [[package]]
562 | name = "typed-ast"
563 | version = "1.4.2"
564 | description = "a fork of Python 2 and 3 ast modules with type comment support"
565 | category = "dev"
566 | optional = false
567 | python-versions = "*"
568 |
569 | [[package]]
570 | name = "typing-extensions"
571 | version = "3.7.4.3"
572 | description = "Backported and Experimental Type Hints for Python 3.5+"
573 | category = "main"
574 | optional = false
575 | python-versions = "*"
576 |
577 | [[package]]
578 | name = "zipp"
579 | version = "3.4.1"
580 | description = "Backport of pathlib-compatible object wrapper for zip files"
581 | category = "dev"
582 | optional = false
583 | python-versions = ">=3.6"
584 |
585 | [package.extras]
586 | docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
587 | testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
588 |
589 | [extras]
590 | readthedocs = ["sphinx-celery"]
591 |
592 | [metadata]
593 | lock-version = "1.1"
594 | python-versions = "^3.7.0"
595 | content-hash = "172cf2517b52191fc4180b411829a6f5964662b0f29f7b426fbed22cff750435"
596 |
597 | [metadata.files]
598 | alabaster = [
599 | {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"},
600 | {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
601 | ]
602 | anyio = [
603 | {file = "anyio-2.2.0-py3-none-any.whl", hash = "sha256:aa3da546ed17f097ca876c78024dea380a3b7fa80759abfdda59f12176a3dac8"},
604 | {file = "anyio-2.2.0.tar.gz", hash = "sha256:4a41c5b3a65ed92e469d51b6fba3779301850ea2e352afcf9e36c46f21ee14a9"},
605 | ]
606 | appdirs = [
607 | {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
608 | {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
609 | ]
610 | async-generator = [
611 | {file = "async_generator-1.10-py3-none-any.whl", hash = "sha256:01c7bf666359b4967d2cda0000cc2e4af16a0ae098cbffcb8472fb9e8ad6585b"},
612 | {file = "async_generator-1.10.tar.gz", hash = "sha256:6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144"},
613 | ]
614 | atomicwrites = [
615 | {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
616 | {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
617 | ]
618 | attrs = [
619 | {file = "attrs-20.3.0-py2.py3-none-any.whl", hash = "sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6"},
620 | {file = "attrs-20.3.0.tar.gz", hash = "sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"},
621 | ]
622 | babel = [
623 | {file = "Babel-2.9.0-py2.py3-none-any.whl", hash = "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5"},
624 | {file = "Babel-2.9.0.tar.gz", hash = "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05"},
625 | ]
626 | black = [
627 | {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"},
628 | ]
629 | cffi = [
630 | {file = "cffi-1.14.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:bb89f306e5da99f4d922728ddcd6f7fcebb3241fc40edebcb7284d7514741991"},
631 | {file = "cffi-1.14.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:34eff4b97f3d982fb93e2831e6750127d1355a923ebaeeb565407b3d2f8d41a1"},
632 | {file = "cffi-1.14.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99cd03ae7988a93dd00bcd9d0b75e1f6c426063d6f03d2f90b89e29b25b82dfa"},
633 | {file = "cffi-1.14.5-cp27-cp27m-win32.whl", hash = "sha256:65fa59693c62cf06e45ddbb822165394a288edce9e276647f0046e1ec26920f3"},
634 | {file = "cffi-1.14.5-cp27-cp27m-win_amd64.whl", hash = "sha256:51182f8927c5af975fece87b1b369f722c570fe169f9880764b1ee3bca8347b5"},
635 | {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:43e0b9d9e2c9e5d152946b9c5fe062c151614b262fda2e7b201204de0b99e482"},
636 | {file = "cffi-1.14.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:cbde590d4faaa07c72bf979734738f328d239913ba3e043b1e98fe9a39f8b2b6"},
637 | {file = "cffi-1.14.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:5de7970188bb46b7bf9858eb6890aad302577a5f6f75091fd7cdd3ef13ef3045"},
638 | {file = "cffi-1.14.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:a465da611f6fa124963b91bf432d960a555563efe4ed1cc403ba5077b15370aa"},
639 | {file = "cffi-1.14.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:d42b11d692e11b6634f7613ad8df5d6d5f8875f5d48939520d351007b3c13406"},
640 | {file = "cffi-1.14.5-cp35-cp35m-win32.whl", hash = "sha256:72d8d3ef52c208ee1c7b2e341f7d71c6fd3157138abf1a95166e6165dd5d4369"},
641 | {file = "cffi-1.14.5-cp35-cp35m-win_amd64.whl", hash = "sha256:29314480e958fd8aab22e4a58b355b629c59bf5f2ac2492b61e3dc06d8c7a315"},
642 | {file = "cffi-1.14.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:3d3dd4c9e559eb172ecf00a2a7517e97d1e96de2a5e610bd9b68cea3925b4892"},
643 | {file = "cffi-1.14.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:48e1c69bbacfc3d932221851b39d49e81567a4d4aac3b21258d9c24578280058"},
644 | {file = "cffi-1.14.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:69e395c24fc60aad6bb4fa7e583698ea6cc684648e1ffb7fe85e3c1ca131a7d5"},
645 | {file = "cffi-1.14.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:9e93e79c2551ff263400e1e4be085a1210e12073a31c2011dbbda14bda0c6132"},
646 | {file = "cffi-1.14.5-cp36-cp36m-win32.whl", hash = "sha256:58e3f59d583d413809d60779492342801d6e82fefb89c86a38e040c16883be53"},
647 | {file = "cffi-1.14.5-cp36-cp36m-win_amd64.whl", hash = "sha256:005a36f41773e148deac64b08f233873a4d0c18b053d37da83f6af4d9087b813"},
648 | {file = "cffi-1.14.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2894f2df484ff56d717bead0a5c2abb6b9d2bf26d6960c4604d5c48bbc30ee73"},
649 | {file = "cffi-1.14.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0857f0ae312d855239a55c81ef453ee8fd24136eaba8e87a2eceba644c0d4c06"},
650 | {file = "cffi-1.14.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:cd2868886d547469123fadc46eac7ea5253ea7fcb139f12e1dfc2bbd406427d1"},
651 | {file = "cffi-1.14.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:35f27e6eb43380fa080dccf676dece30bef72e4a67617ffda586641cd4508d49"},
652 | {file = "cffi-1.14.5-cp37-cp37m-win32.whl", hash = "sha256:9ff227395193126d82e60319a673a037d5de84633f11279e336f9c0f189ecc62"},
653 | {file = "cffi-1.14.5-cp37-cp37m-win_amd64.whl", hash = "sha256:9cf8022fb8d07a97c178b02327b284521c7708d7c71a9c9c355c178ac4bbd3d4"},
654 | {file = "cffi-1.14.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8b198cec6c72df5289c05b05b8b0969819783f9418e0409865dac47288d2a053"},
655 | {file = "cffi-1.14.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:ad17025d226ee5beec591b52800c11680fca3df50b8b29fe51d882576e039ee0"},
656 | {file = "cffi-1.14.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c97d7350133666fbb5cf4abdc1178c812cb205dc6f41d174a7b0f18fb93337e"},
657 | {file = "cffi-1.14.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8ae6299f6c68de06f136f1f9e69458eae58f1dacf10af5c17353eae03aa0d827"},
658 | {file = "cffi-1.14.5-cp38-cp38-win32.whl", hash = "sha256:b85eb46a81787c50650f2392b9b4ef23e1f126313b9e0e9013b35c15e4288e2e"},
659 | {file = "cffi-1.14.5-cp38-cp38-win_amd64.whl", hash = "sha256:1f436816fc868b098b0d63b8920de7d208c90a67212546d02f84fe78a9c26396"},
660 | {file = "cffi-1.14.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1071534bbbf8cbb31b498d5d9db0f274f2f7a865adca4ae429e147ba40f73dea"},
661 | {file = "cffi-1.14.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:9de2e279153a443c656f2defd67769e6d1e4163952b3c622dcea5b08a6405322"},
662 | {file = "cffi-1.14.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6e4714cc64f474e4d6e37cfff31a814b509a35cb17de4fb1999907575684479c"},
663 | {file = "cffi-1.14.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:158d0d15119b4b7ff6b926536763dc0714313aa59e320ddf787502c70c4d4bee"},
664 | {file = "cffi-1.14.5-cp39-cp39-win32.whl", hash = "sha256:afb29c1ba2e5a3736f1c301d9d0abe3ec8b86957d04ddfa9d7a6a42b9367e396"},
665 | {file = "cffi-1.14.5-cp39-cp39-win_amd64.whl", hash = "sha256:f2d45f97ab6bb54753eab54fffe75aaf3de4ff2341c9daee1987ee1837636f1d"},
666 | {file = "cffi-1.14.5.tar.gz", hash = "sha256:fd78e5fee591709f32ef6edb9a015b4aa1a5022598e36227500c8f4e02328d9c"},
667 | ]
668 | click = [
669 | {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"},
670 | {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"},
671 | ]
672 | colorama = [
673 | {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
674 | ]
675 | curio = [
676 | {file = "curio-1.5.tar.gz", hash = "sha256:af08212e590bb7da8e4cc39c42012711494dc20d622f162155ba296cc2e3bc10"},
677 | ]
678 | docutils = [
679 | {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"},
680 | {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"},
681 | ]
682 | idna = [
683 | {file = "idna-3.1-py3-none-any.whl", hash = "sha256:5205d03e7bcbb919cc9c19885f9920d622ca52448306f2377daede5cf3faac16"},
684 | {file = "idna-3.1.tar.gz", hash = "sha256:c5b02147e01ea9920e6b0a3f1f7bb833612d507592c837a6c49552768f4054e1"},
685 | ]
686 | imagesize = [
687 | {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"},
688 | {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
689 | ]
690 | importlib-metadata = [
691 | {file = "importlib_metadata-3.7.2-py3-none-any.whl", hash = "sha256:407d13f55dc6f2a844e62325d18ad7019a436c4bfcaee34cda35f2be6e7c3e34"},
692 | {file = "importlib_metadata-3.7.2.tar.gz", hash = "sha256:18d5ff601069f98d5d605b6a4b50c18a34811d655c55548adc833e687289acde"},
693 | ]
694 | iniconfig = [
695 | {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
696 | {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
697 | ]
698 | jinja2 = [
699 | {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
700 | {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
701 | ]
702 | markupsafe = [
703 | {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"},
704 | {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"},
705 | {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"},
706 | {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"},
707 | {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"},
708 | {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"},
709 | {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"},
710 | {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"},
711 | {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"},
712 | {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"},
713 | {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"},
714 | {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"},
715 | {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"},
716 | {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"},
717 | {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"},
718 | {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"},
719 | {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"},
720 | {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"},
721 | {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"},
722 | {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"},
723 | {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"},
724 | {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"},
725 | {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"},
726 | {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"},
727 | {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"},
728 | {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"},
729 | {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"},
730 | {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"},
731 | {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"},
732 | {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"},
733 | {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"},
734 | {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"},
735 | {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"},
736 | ]
737 | mypy-extensions = [
738 | {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
739 | {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
740 | ]
741 | outcome = [
742 | {file = "outcome-1.1.0-py2.py3-none-any.whl", hash = "sha256:c7dd9375cfd3c12db9801d080a3b63d4b0a261aa996c4c13152380587288d958"},
743 | {file = "outcome-1.1.0.tar.gz", hash = "sha256:e862f01d4e626e63e8f92c38d1f8d5546d3f9cce989263c521b2e7990d186967"},
744 | ]
745 | packaging = [
746 | {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"},
747 | {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"},
748 | ]
749 | pathspec = [
750 | {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"},
751 | {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"},
752 | ]
753 | pluggy = [
754 | {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
755 | {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
756 | ]
757 | py = [
758 | {file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"},
759 | {file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
760 | ]
761 | pycparser = [
762 | {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
763 | {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
764 | ]
765 | pygments = [
766 | {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"},
767 | {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"},
768 | ]
769 | pyparsing = [
770 | {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
771 | {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
772 | ]
773 | pytest = [
774 | {file = "pytest-6.2.2-py3-none-any.whl", hash = "sha256:b574b57423e818210672e07ca1fa90aaf194a4f63f3ab909a2c67ebb22913839"},
775 | {file = "pytest-6.2.2.tar.gz", hash = "sha256:9d1edf9e7d0b84d72ea3dbcdfd22b35fb543a5e8f2a60092dd578936bf63d7f9"},
776 | ]
777 | pytest-randomly = [
778 | {file = "pytest-randomly-3.5.0.tar.gz", hash = "sha256:440cec143fd9b0adeb072006c71e0294402a2bc2ccd08079c2341087ba4cf2d1"},
779 | {file = "pytest_randomly-3.5.0-py3-none-any.whl", hash = "sha256:9db10d160237f3f8ee60cef72e4cb9ea88d2893c9dd5c8aa334b060cdeb67c3a"},
780 | ]
781 | pytest-subtests = [
782 | {file = "pytest-subtests-0.3.2.tar.gz", hash = "sha256:677281a196092c06d3da8e6408f0c1362b3f7b180e3c0e9113c7209b6b48afd7"},
783 | {file = "pytest_subtests-0.3.2-py3-none-any.whl", hash = "sha256:ec2634b303339dc4582912fb7bd669627f2cc20b23fc277f1076b3cc69a9eb9e"},
784 | ]
785 | pytz = [
786 | {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"},
787 | {file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"},
788 | ]
789 | regex = [
790 | {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"},
791 | {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"},
792 | {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"},
793 | {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"},
794 | {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"},
795 | {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"},
796 | {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"},
797 | {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"},
798 | {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"},
799 | {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"},
800 | {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"},
801 | {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"},
802 | {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"},
803 | {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"},
804 | {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"},
805 | {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"},
806 | {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"},
807 | {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"},
808 | {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"},
809 | {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"},
810 | {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"},
811 | {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"},
812 | {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"},
813 | {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"},
814 | {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"},
815 | {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"},
816 | {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"},
817 | {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"},
818 | {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"},
819 | {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"},
820 | {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"},
821 | {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"},
822 | {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"},
823 | {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"},
824 | {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"},
825 | {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"},
826 | {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"},
827 | {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"},
828 | {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"},
829 | {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"},
830 | {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"},
831 | ]
832 | requests = [
833 | {file = "requests-2.15.1-py2.py3-none-any.whl", hash = "sha256:ff753b2196cd18b1bbeddc9dcd5c864056599f7a7d9a4fb5677e723efa2b7fb9"},
834 | {file = "requests-2.15.1.tar.gz", hash = "sha256:e5659b9315a0610505e050bb7190bf6fa2ccee1ac295f2b760ef9d8a03ebbb2e"},
835 | ]
836 | six = [
837 | {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
838 | {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
839 | ]
840 | sniffio = [
841 | {file = "sniffio-1.2.0-py3-none-any.whl", hash = "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663"},
842 | {file = "sniffio-1.2.0.tar.gz", hash = "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de"},
843 | ]
844 | snowballstemmer = [
845 | {file = "snowballstemmer-2.1.0-py2.py3-none-any.whl", hash = "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2"},
846 | {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"},
847 | ]
848 | sortedcontainers = [
849 | {file = "sortedcontainers-2.3.0-py2.py3-none-any.whl", hash = "sha256:37257a32add0a3ee490bb170b599e93095eed89a55da91fa9f48753ea12fd73f"},
850 | {file = "sortedcontainers-2.3.0.tar.gz", hash = "sha256:59cc937650cf60d677c16775597c89a960658a09cf7c1a668f86e1e4464b10a1"},
851 | ]
852 | sphinx = [
853 | {file = "Sphinx-3.5.2-py3-none-any.whl", hash = "sha256:ef64a814576f46ec7de06adf11b433a0d6049be007fefe7fd0d183d28b581fac"},
854 | {file = "Sphinx-3.5.2.tar.gz", hash = "sha256:672cfcc24b6b69235c97c750cb190a44ecd72696b4452acaf75c2d9cc78ca5ff"},
855 | ]
856 | sphinx-celery = [
857 | {file = "sphinx_celery-2.0.0-py2.py3-none-any.whl", hash = "sha256:9326c150600e2c8299f356283e6397f15493370368c4b68697edd98beac9f868"},
858 | {file = "sphinx_celery-2.0.0.tar.gz", hash = "sha256:d8e440b5b0c3bb015a3404586bcec4f1a3e9aaee9fa0073511c32c8d4cd3d3dd"},
859 | ]
860 | sphinxcontrib-applehelp = [
861 | {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"},
862 | {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"},
863 | ]
864 | sphinxcontrib-devhelp = [
865 | {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"},
866 | {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"},
867 | ]
868 | sphinxcontrib-htmlhelp = [
869 | {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"},
870 | {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"},
871 | ]
872 | sphinxcontrib-jsmath = [
873 | {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"},
874 | {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"},
875 | ]
876 | sphinxcontrib-qthelp = [
877 | {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"},
878 | {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"},
879 | ]
880 | sphinxcontrib-serializinghtml = [
881 | {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"},
882 | {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"},
883 | ]
884 | toml = [
885 | {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
886 | {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
887 | ]
888 | transitions = [
889 | {file = "transitions-0.8.7-py2.py3-none-any.whl", hash = "sha256:626229df01ea91dc0b28491bf5af7cc0aba6c2aa7289658e55ea77288258fa49"},
890 | {file = "transitions-0.8.7.tar.gz", hash = "sha256:8c60ec0828cd037820726283cad5d4d77a5e31514e058b51250420e9873e9bc7"},
891 | ]
892 | transitions-anyio = [
893 | {file = "transitions-anyio-0.1.0.tar.gz", hash = "sha256:f2e569f9a0eab895ebfd65646f4078ec5e56e8a2ce18227550d8fdafeeb1f7ba"},
894 | {file = "transitions_anyio-0.1.0-py3-none-any.whl", hash = "sha256:f30cd608765964230723f9a5b5826d024d860a05bea6a6b81f952a0385f52e39"},
895 | ]
896 | trio = [
897 | {file = "trio-0.17.0-py3-none-any.whl", hash = "sha256:fc70c74e8736d1105b3c05cc2e49b30c58755733740f9c51ae6d88a4d6d0a291"},
898 | {file = "trio-0.17.0.tar.gz", hash = "sha256:e85cf9858e445465dfbb0e3fdf36efe92082d2df87bfe9d62585eedd6e8e9d7d"},
899 | ]
900 | typed-ast = [
901 | {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:7703620125e4fb79b64aa52427ec192822e9f45d37d4b6625ab37ef403e1df70"},
902 | {file = "typed_ast-1.4.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:c9aadc4924d4b5799112837b226160428524a9a45f830e0d0f184b19e4090487"},
903 | {file = "typed_ast-1.4.2-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:9ec45db0c766f196ae629e509f059ff05fc3148f9ffd28f3cfe75d4afb485412"},
904 | {file = "typed_ast-1.4.2-cp35-cp35m-win32.whl", hash = "sha256:85f95aa97a35bdb2f2f7d10ec5bbdac0aeb9dafdaf88e17492da0504de2e6400"},
905 | {file = "typed_ast-1.4.2-cp35-cp35m-win_amd64.whl", hash = "sha256:9044ef2df88d7f33692ae3f18d3be63dec69c4fb1b5a4a9ac950f9b4ba571606"},
906 | {file = "typed_ast-1.4.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c1c876fd795b36126f773db9cbb393f19808edd2637e00fd6caba0e25f2c7b64"},
907 | {file = "typed_ast-1.4.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5dcfc2e264bd8a1db8b11a892bd1647154ce03eeba94b461effe68790d8b8e07"},
908 | {file = "typed_ast-1.4.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8db0e856712f79c45956da0c9a40ca4246abc3485ae0d7ecc86a20f5e4c09abc"},
909 | {file = "typed_ast-1.4.2-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:d003156bb6a59cda9050e983441b7fa2487f7800d76bdc065566b7d728b4581a"},
910 | {file = "typed_ast-1.4.2-cp36-cp36m-win32.whl", hash = "sha256:4c790331247081ea7c632a76d5b2a265e6d325ecd3179d06e9cf8d46d90dd151"},
911 | {file = "typed_ast-1.4.2-cp36-cp36m-win_amd64.whl", hash = "sha256:d175297e9533d8d37437abc14e8a83cbc68af93cc9c1c59c2c292ec59a0697a3"},
912 | {file = "typed_ast-1.4.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf54cfa843f297991b7388c281cb3855d911137223c6b6d2dd82a47ae5125a41"},
913 | {file = "typed_ast-1.4.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:b4fcdcfa302538f70929eb7b392f536a237cbe2ed9cba88e3bf5027b39f5f77f"},
914 | {file = "typed_ast-1.4.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:987f15737aba2ab5f3928c617ccf1ce412e2e321c77ab16ca5a293e7bbffd581"},
915 | {file = "typed_ast-1.4.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:37f48d46d733d57cc70fd5f30572d11ab8ed92da6e6b28e024e4a3edfb456e37"},
916 | {file = "typed_ast-1.4.2-cp37-cp37m-win32.whl", hash = "sha256:36d829b31ab67d6fcb30e185ec996e1f72b892255a745d3a82138c97d21ed1cd"},
917 | {file = "typed_ast-1.4.2-cp37-cp37m-win_amd64.whl", hash = "sha256:8368f83e93c7156ccd40e49a783a6a6850ca25b556c0fa0240ed0f659d2fe496"},
918 | {file = "typed_ast-1.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:963c80b583b0661918718b095e02303d8078950b26cc00b5e5ea9ababe0de1fc"},
919 | {file = "typed_ast-1.4.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e683e409e5c45d5c9082dc1daf13f6374300806240719f95dc783d1fc942af10"},
920 | {file = "typed_ast-1.4.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:84aa6223d71012c68d577c83f4e7db50d11d6b1399a9c779046d75e24bed74ea"},
921 | {file = "typed_ast-1.4.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:a38878a223bdd37c9709d07cd357bb79f4c760b29210e14ad0fb395294583787"},
922 | {file = "typed_ast-1.4.2-cp38-cp38-win32.whl", hash = "sha256:a2c927c49f2029291fbabd673d51a2180038f8cd5a5b2f290f78c4516be48be2"},
923 | {file = "typed_ast-1.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:c0c74e5579af4b977c8b932f40a5464764b2f86681327410aa028a22d2f54937"},
924 | {file = "typed_ast-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:07d49388d5bf7e863f7fa2f124b1b1d89d8aa0e2f7812faff0a5658c01c59aa1"},
925 | {file = "typed_ast-1.4.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:240296b27397e4e37874abb1df2a608a92df85cf3e2a04d0d4d61055c8305ba6"},
926 | {file = "typed_ast-1.4.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d746a437cdbca200622385305aedd9aef68e8a645e385cc483bdc5e488f07166"},
927 | {file = "typed_ast-1.4.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:14bf1522cdee369e8f5581238edac09150c765ec1cb33615855889cf33dcb92d"},
928 | {file = "typed_ast-1.4.2-cp39-cp39-win32.whl", hash = "sha256:cc7b98bf58167b7f2db91a4327da24fb93368838eb84a44c472283778fc2446b"},
929 | {file = "typed_ast-1.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:7147e2a76c75f0f64c4319886e7639e490fee87c9d25cb1d4faef1d8cf83a440"},
930 | {file = "typed_ast-1.4.2.tar.gz", hash = "sha256:9fc0b3cb5d1720e7141d103cf4819aea239f7d136acf9ee4a69b047b7986175a"},
931 | ]
932 | typing-extensions = [
933 | {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"},
934 | {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"},
935 | {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"},
936 | ]
937 | zipp = [
938 | {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"},
939 | {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"},
940 | ]
941 |
--------------------------------------------------------------------------------