diff --git a/.flake8 b/.flake8 new file mode 100644 index 000000000..f005fbdcd --- /dev/null +++ b/.flake8 @@ -0,0 +1,4 @@ +[flake8] +max-line-length = 120 +per-file-ignores = + tests/data/service_github.py: E501 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..146b401a1 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +poetry.lock linguist-generated=true +poetry.lock -diff diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 000000000..e13b022cb --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,40 @@ +name: CI +on: [push, pull_request] +jobs: + tests: + name: "Test (python: ${{ matrix.python-version }}, sphinx: ${{ matrix.sphinx-version }})" + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: ["3.6", "3.7", "3.8", "3.9"] + sphinx-version: ["2.2", "2.3", "2.4", "3.0", "3.2"] + exclude: + - python-version: "3.6" + sphinx-version: "3.2" + steps: + - uses: actions/checkout@v2 + - name: Set Up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Nox Dependencies + run: | + python -m pip install poetry nox nox-poetry + - name: Run Tests + run: nox --non-interactive --session "tests-${{ matrix.python-version }}(sphinx='${{ matrix.sphinx-version }}')" -- --full-trace + + lint: + name: Lint + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: Set Up Python + uses: actions/setup-python@v2 + with: + python-version: "3.9" + - name: Install Nox Dependencies + run: | + python -m pip install poetry nox nox-poetry + - name: Run Lint + run: nox --non-interactive --session lint -- --full-trace diff --git a/.gitignore b/.gitignore index 5978cf757..c972b8c78 100644 --- a/.gitignore +++ b/.gitignore @@ -16,5 +16,5 @@ _build .doctrees docs/github_images/ .eggs/ - docs/_images/need_pie_*.png +poetry.lock diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index df12b1422..000000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -os: -- linux -language: python -python: -- '3.5' -- '3.7' -- '3.8' -before_install: -- sudo apt-get update -- sudo apt-get install -y texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra - latexmk texlive-luatex texlive-xetex -install: -- pip install tox-travis -- python setup.py install -script: -- tox -after_success: -- which python -- pip install sphinxcontrib-plantuml -- cd docs -- make latexpdf -env: - global: - - secure: M7mBLHk9cx+0cx7Wlo+TU+GrWdLeI1XBNSe/9oRg8FUuN6sSzkjq/0TcYYGTzcMlhUaxzKObTtE2ye2iHsPUBkjIcGdUXA5uU+EGCryz/ckdI3rPx+e2/32riJmTLgQOPpQAoVG+SDoL/28jSVetwv3SpOKue+XOI3QfZOfunZDWJOpRtFyCcm+nZ8HlxQ+glnlvZkACrNWFq/Q2WJlSSHP2/CG62jc6/j+tXXu9n5DlGbZd7QyaZHmj9xa5OFgqsk5XfilDfc/XSrw3cNDIlCTYkUwRebneblZPLEQ/qVp7bfW+lFQ9z2wHpu8ZG8HV6TDnByQ1YC/tscxkJBrFbqKC0cXouPPq+LamZOauiJOqasMKCRdmoRDKMvt7jowXXoeHvgzBr7Uo7xzE0Kx1CvsAYMG2LpX5ds9vXv6PkSZ7gw6B9krBnMEkrhwQO8M+1NtAjPVsZyNLl8jxcyL+8o41isDwqzoHo5G2/uRiMqxLsTaDylSrCg5EftbS8aDVxEkChRTP2bdJqZ5P2ji2klRfQkpNEnPxuJVx8BdgIsmhup0AA5zMcMNAsyjf0gDzkBnbesEx06VDznN5aeW0Gvf4jfp83Ee2D8aV2B7SB3nBoA1MHOkSN+WLLIGY87ZrKEBOUu2tdbbpJ1wuFZgwSepsO8DOd4sSpl0BGQpq+XY= - - secure: X2JTnSnEl3JknGl/0WJEh2183g+Ejsn43QMJ45sueZHbJcQxa4PgYZm0ad4MeJ1QoLjnnSPrU3JX2qWXskbr6bLlIEgoC3VPLZezvBb1lF/b4/EzLUdxcNbBK7QJUlTGHrZQh/V8RrTEcn1/HVtb+Fq766+GliKdEVaRaE6zbKq2g833lrj1zwAAGhyLnzsYnUJKtiUx6+tUg6fnmW27KpCEE+kRc5pTacpj2aFdDaFSqwrSaOrxYIdvJcF7KGvkMpidNkXe+9n5s3fa57yNhhTn79PfL3NpqANulrkD4l1iLLLzmNu/SJANhpKO2qgU7v0EpMpzgrAkXjkhwgZdzEKHhOlMR8Zz5mxEn1AauiJYoEZbseUcHqF0GxTUIX6r9A5beD1sYE92WGDQlW40MdvBLqZ18CW6pFogBA/Rd6/bKcHzMtXUs36y1Tti20hX05ZTcSYAX0PjdtTQ6Dw26zkWE1LKuUdD3JzNCxAtm7MBAsZ4k+ZJ1ugCvt9dzwUQxD0W51ltKzTlSUOSODmVRsHur/xJZFp5/Z92syc6aVGZKQBU4+r4YRVVs3iAT5msPmQu7gx1qGQAiZupyRkhlXnOxwpi5mGd1+hyDzY9kG1nYBLl4QX5au3MjOgh+cc9NTS1o9OcKekEH9PfKbjoqbyqjcVUUX00HViTlY/U6Po= diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..111d3b3b0 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +SRC_FILES = sphinxcontrib/ tests/ noxfile.py + +.PHONY: lint +lint: + poetry run flake8 ${SRC_FILES} + +.PHONY: test +test: + poetry run nosetests -w tests + +.PHONY: test-matrix +test-matrix: + nox + +.PHONY: docs-html +docs-html: + poetry run make --directory docs/ html + +.PHONY: docs-pdf +docs-pdf: + poetry run make --directory docs/ latexpdf diff --git a/doc-requirements.txt b/doc-requirements.txt deleted file mode 100644 index 27a90838f..000000000 --- a/doc-requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -sphinx>=1.6 -sphinxcontrib-plantuml -matplotlib -sphinx-copybutton diff --git a/docs/contributing.rst b/docs/contributing.rst new file mode 100644 index 000000000..3ce95f5cd --- /dev/null +++ b/docs/contributing.rst @@ -0,0 +1,77 @@ +Contributing +============ + +The following provides a guide for developers wishing to contribute +to Sphinx-Needs + +Installing Dependencies +----------------------- + +Sphinxcontrib-Needs requires only +`Poetry `__ to be installed as a system +dependency, the rest of the dependencies are ‘bootstrapped’ and +installed in an isolated environment by Poetry. + +1. `Install Poetry `__ + +2. Install project dependencies + + :: + + poetry install + +Running Tests +------------- + +:: + + make test + +Linting +------- + +:: + + make lint + +Running Test Matrix +------------------- + +This project provides a test matrix for running the tests across a range +of python and sphinx versions. This is used primarily for continuous +integration. + +`Nox `__ is used as a test runner. + +Running the matrix tests requires additional system-wide dependencies + +1. `Install + Nox `__ +2. `Install Nox-Poetry `__ +3. You will also need multiple Python versions available. You can manage + these using `Pyenv `__ + +you can run the test matrix by using the ``nox`` command + +:: + + nox + +or using the provided Makefile + +:: + + make test-matrix + +for a full list of available options, refer to the Nox documentation, +and the local `noxfile <.../noxfile.py>`__ + +Running Commands +---------------- + +See the Poetry documentation for a list of commands. + +See the local `Makefile <../Makefile>`__ for a full list of commands + +In order to run custom commands inside the isolated environment, they +should be prefixed with “poetry run” (ie. ``poetry run ``). diff --git a/docs/index.rst b/docs/index.rst index e7e174b2d..2b30e46e6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -307,6 +307,7 @@ Content snippets support changelog + contributing license contributors diff --git a/noxfile.py b/noxfile.py new file mode 100644 index 000000000..94ea9ac4d --- /dev/null +++ b/noxfile.py @@ -0,0 +1,44 @@ +import nox +from nox_poetry import session + + +PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9"] +SPHINX_VERSIONS = ["2.2", "2.3", "2.4", "3.0", "3.2"] +TEST_DEPENDENCIES = [ + "nose", + "sphinx_testing", + "sphinxcontrib.plantuml", + "matplotlib", + "responses", + "sphinx_copybutton", +] +LINT_DEPENDENCIES = [ + "flake8", + "pep8-naming", +] + + +def is_supported(python: str, sphinx: str) -> bool: + return not (python == "3.6" and float(sphinx) > 3.0) + + +def run_tests(session, sphinx): + session.install(".") + session.install(*TEST_DEPENDENCIES) + session.run("pip", "install", f"sphinx=={sphinx}", silent=True) + session.run("make", "test", external=True) + + +@session(python=PYTHON_VERSIONS) +@nox.parametrize("sphinx", SPHINX_VERSIONS) +def tests(session, sphinx): + if is_supported(session.python, sphinx): + run_tests(session, sphinx) + else: + session.skip("unsupported combination") + + +@session(python="3.9") +def lint(session): + session.install(*LINT_DEPENDENCIES) + session.run("make", "lint", external=True) diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 000000000..be61d0102 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,961 @@ +[[package]] +name = "alabaster" +version = "0.7.12" +description = "A configurable sidebar-enabled Sphinx theme" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "babel" +version = "2.9.0" +description = "Internationalization utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pytz = ">=2015.7" + +[[package]] +name = "certifi" +version = "2020.12.5" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "chardet" +version = "4.0.0" +description = "Universal encoding detector for Python 2 and 3" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "cycler" +version = "0.10.0" +description = "Composable style cycles" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" + +[[package]] +name = "docutils" +version = "0.16" +description = "Docutils -- Python Documentation Utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "docutils" +version = "0.17.1" +description = "Docutils -- Python Documentation Utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "flake8" +version = "3.9.1" +description = "the modular source code checker: pep8 pyflakes and co" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +mccabe = ">=0.6.0,<0.7.0" +pycodestyle = ">=2.7.0,<2.8.0" +pyflakes = ">=2.3.0,<2.4.0" + +[[package]] +name = "flake8-polyfill" +version = "1.0.2" +description = "Polyfill package for Flake8 plugins" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +flake8 = "*" + +[[package]] +name = "idna" +version = "2.10" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "imagesize" +version = "1.2.0" +description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "importlib-metadata" +version = "4.0.0" +description = "Read metadata from Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] + +[[package]] +name = "jinja2" +version = "2.11.3" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +MarkupSafe = ">=0.23" + +[package.extras] +i18n = ["Babel (>=0.8)"] + +[[package]] +name = "kiwisolver" +version = "1.3.1" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "markupsafe" +version = "1.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*" + +[[package]] +name = "matplotlib" +version = "3.3.4" +description = "Python plotting package" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cycler = ">=0.10" +kiwisolver = ">=1.0.1" +numpy = ">=1.15" +pillow = ">=6.2.0" +pyparsing = ">=2.0.3,<2.0.4 || >2.0.4,<2.1.2 || >2.1.2,<2.1.6 || >2.1.6" +python-dateutil = ">=2.1" + +[[package]] +name = "mccabe" +version = "0.6.1" +description = "McCabe checker, plugin for flake8" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "mypy" +version = "0.812" +description = "Optional static typing for Python" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +mypy-extensions = ">=0.4.3,<0.5.0" +typed-ast = ">=1.4.0,<1.5.0" +typing-extensions = ">=3.7.4" + +[package.extras] +dmypy = ["psutil (>=4.0)"] + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "nose" +version = "1.3.7" +description = "nose extends unittest to make testing easier" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "numpy" +version = "1.19.5" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "packaging" +version = "20.9" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +pyparsing = ">=2.0.2" + +[[package]] +name = "pep8-naming" +version = "0.11.1" +description = "Check PEP-8 naming conventions, plugin for flake8" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +flake8-polyfill = ">=1.0.2,<2" + +[[package]] +name = "pillow" +version = "8.2.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pycodestyle" +version = "2.7.0" +description = "Python style guide checker" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pyflakes" +version = "2.3.1" +description = "passive checker of Python programs" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "pygments" +version = "2.8.1" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "pyparsing" +version = "2.4.7" +description = "Python parsing module" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "python-dateutil" +version = "2.8.1" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2021.1" +description = "World timezone definitions, modern and historical" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "requests" +version = "2.25.1" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<5" +idna = ">=2.5,<3" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] + +[[package]] +name = "responses" +version = "0.12.1" +description = "A utility library for mocking out the `requests` Python library." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +requests = ">=2.0" +six = "*" +urllib3 = ">=1.25.10" + +[package.extras] +tests = ["coverage (>=3.7.1,<6.0.0)", "pytest-cov", "pytest-localserver", "flake8", "pytest (>=4.6,<5.0)", "pytest (>=4.6)"] + +[[package]] +name = "six" +version = "1.15.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "snowballstemmer" +version = "2.1.0" +description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "sphinx" +version = "3.0.0" +description = "Python documentation generator" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12" +imagesize = "*" +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.770)", "docutils-stubs"] +test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"] + +[[package]] +name = "sphinx" +version = "3.5.4" +description = "Python documentation generator" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=1.3" +colorama = {version = ">=0.3.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.12,<0.17" +imagesize = "*" +Jinja2 = ">=2.3" +packaging = "*" +Pygments = ">=2.0" +requests = ">=2.5.0" +snowballstemmer = ">=1.1" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = "*" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = "*" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["flake8 (>=3.5.0)", "isort", "mypy (>=0.800)", "docutils-stubs"] +test = ["pytest", "pytest-cov", "html5lib", "cython", "typed-ast"] + +[[package]] +name = "sphinx-copybutton" +version = "0.3.1" +description = "Add a copy button to each of your code cells." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +sphinx = ">=1.8" + +[package.extras] +code_style = ["flake8 (>=3.7.0,<3.8.0)", "black", "pre-commit (==1.17.0)"] + +[[package]] +name = "sphinx-testing" +version = "1.0.1" +description = "testing utility classes and functions for Sphinx extensions" +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" +Sphinx = "*" + +[[package]] +name = "sphinxcontrib-applehelp" +version = "1.0.2" +description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "1.0.2" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "1.0.3" +description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +test = ["pytest", "flake8", "mypy"] + +[[package]] +name = "sphinxcontrib-plantuml" +version = "0.20.1" +description = "Sphinx \"plantuml\" extension" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +Sphinx = ">=1.6" + +[[package]] +name = "sphinxcontrib-qthelp" +version = "1.0.3" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "1.1.4" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +category = "main" +optional = false +python-versions = ">=3.5" + +[package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest"] + +[[package]] +name = "typed-ast" +version = "1.4.3" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "typing-extensions" +version = "3.7.4.3" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "urllib3" +version = "1.26.4" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotlipy (>=0.6.0)"] + +[[package]] +name = "zipp" +version = "3.4.1" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +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"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.6" +content-hash = "07d2d381e31a24d151d2702c7365c4ce943cc3f9de683ec581db97953ce32af0" + +[metadata.files] +alabaster = [ + {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"}, + {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"}, +] +babel = [ + {file = "Babel-2.9.0-py2.py3-none-any.whl", hash = "sha256:9d35c22fcc79893c3ecc85ac4a56cde1ecf3f19c540bba0922308a6c06ca6fa5"}, + {file = "Babel-2.9.0.tar.gz", hash = "sha256:da031ab54472314f210b0adcff1588ee5d1d1d0ba4dbd07b94dba82bde791e05"}, +] +certifi = [ + {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, + {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, +] +chardet = [ + {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, + {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +cycler = [ + {file = "cycler-0.10.0-py2.py3-none-any.whl", hash = "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d"}, + {file = "cycler-0.10.0.tar.gz", hash = "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8"}, +] +docutils = [ + {file = "docutils-0.16-py2.py3-none-any.whl", hash = "sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af"}, + {file = "docutils-0.16.tar.gz", hash = "sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc"}, + {file = "docutils-0.17.1-py2.py3-none-any.whl", hash = "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61"}, + {file = "docutils-0.17.1.tar.gz", hash = "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125"}, +] +flake8 = [ + {file = "flake8-3.9.1-py2.py3-none-any.whl", hash = "sha256:3b9f848952dddccf635be78098ca75010f073bfe14d2c6bda867154bea728d2a"}, + {file = "flake8-3.9.1.tar.gz", hash = "sha256:1aa8990be1e689d96c745c5682b687ea49f2e05a443aff1f8251092b0014e378"}, +] +flake8-polyfill = [ + {file = "flake8-polyfill-1.0.2.tar.gz", hash = "sha256:e44b087597f6da52ec6393a709e7108b2905317d0c0b744cdca6208e670d8eda"}, + {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"}, +] +idna = [ + {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, + {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, +] +imagesize = [ + {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"}, + {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.0.0-py3-none-any.whl", hash = "sha256:19192b88d959336bfa6bdaaaef99aeafec179eca19c47c804e555703ee5f07ef"}, + {file = "importlib_metadata-4.0.0.tar.gz", hash = "sha256:2e881981c9748d7282b374b68e759c87745c25427b67ecf0cc67fb6637a1bff9"}, +] +jinja2 = [ + {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, + {file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"}, +] +kiwisolver = [ + {file = "kiwisolver-1.3.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5a7a7dbff17e66fac9142ae2ecafb719393aaee6a3768c9de2fd425c63b53e21"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:f8d6f8db88049a699817fd9178782867bf22283e3813064302ac59f61d95be05"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-manylinux2014_ppc64le.whl", hash = "sha256:5f6ccd3dd0b9739edcf407514016108e2280769c73a85b9e59aa390046dbf08b"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-win32.whl", hash = "sha256:225e2e18f271e0ed8157d7f4518ffbf99b9450fca398d561eb5c4a87d0986dd9"}, + {file = "kiwisolver-1.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:cf8b574c7b9aa060c62116d4181f3a1a4e821b2ec5cbfe3775809474113748d4"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:232c9e11fd7ac3a470d65cd67e4359eee155ec57e822e5220322d7b2ac84fbf0"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:b38694dcdac990a743aa654037ff1188c7a9801ac3ccc548d3341014bc5ca278"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ca3820eb7f7faf7f0aa88de0e54681bddcb46e485beb844fcecbcd1c8bd01689"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c8fd0f1ae9d92b42854b2979024d7597685ce4ada367172ed7c09edf2cef9cb8"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:1e1bc12fb773a7b2ffdeb8380609f4f8064777877b2225dec3da711b421fda31"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-win32.whl", hash = "sha256:72c99e39d005b793fb7d3d4e660aed6b6281b502e8c1eaf8ee8346023c8e03bc"}, + {file = "kiwisolver-1.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:8be8d84b7d4f2ba4ffff3665bcd0211318aa632395a1a41553250484a871d454"}, + {file = "kiwisolver-1.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:31dfd2ac56edc0ff9ac295193eeaea1c0c923c0355bf948fbd99ed6018010b72"}, + {file = "kiwisolver-1.3.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:563c649cfdef27d081c84e72a03b48ea9408c16657500c312575ae9d9f7bc1c3"}, + {file = "kiwisolver-1.3.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:78751b33595f7f9511952e7e60ce858c6d64db2e062afb325985ddbd34b5c131"}, + {file = "kiwisolver-1.3.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:a357fd4f15ee49b4a98b44ec23a34a95f1e00292a139d6015c11f55774ef10de"}, + {file = "kiwisolver-1.3.1-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:5989db3b3b34b76c09253deeaf7fbc2707616f130e166996606c284395da3f18"}, + {file = "kiwisolver-1.3.1-cp38-cp38-win32.whl", hash = "sha256:c08e95114951dc2090c4a630c2385bef681cacf12636fb0241accdc6b303fd81"}, + {file = "kiwisolver-1.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:44a62e24d9b01ba94ae7a4a6c3fb215dc4af1dde817e7498d901e229aaf50e4e"}, + {file = "kiwisolver-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:50af681a36b2a1dee1d3c169ade9fdc59207d3c31e522519181e12f1b3ba7000"}, + {file = "kiwisolver-1.3.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:a53d27d0c2a0ebd07e395e56a1fbdf75ffedc4a05943daf472af163413ce9598"}, + {file = "kiwisolver-1.3.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:834ee27348c4aefc20b479335fd422a2c69db55f7d9ab61721ac8cd83eb78882"}, + {file = "kiwisolver-1.3.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5c3e6455341008a054cccee8c5d24481bcfe1acdbc9add30aa95798e95c65621"}, + {file = "kiwisolver-1.3.1-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:acef3d59d47dd85ecf909c359d0fd2c81ed33bdff70216d3956b463e12c38a54"}, + {file = "kiwisolver-1.3.1-cp39-cp39-win32.whl", hash = "sha256:c5518d51a0735b1e6cee1fdce66359f8d2b59c3ca85dc2b0813a8aa86818a030"}, + {file = "kiwisolver-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:b9edd0110a77fc321ab090aaa1cfcaba1d8499850a12848b81be2222eab648f6"}, + {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0cd53f403202159b44528498de18f9285b04482bab2a6fc3f5dd8dbb9352e30d"}, + {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:33449715e0101e4d34f64990352bce4095c8bf13bed1b390773fc0a7295967b3"}, + {file = "kiwisolver-1.3.1-pp36-pypy36_pp73-win32.whl", hash = "sha256:401a2e9afa8588589775fe34fc22d918ae839aaaf0c0e96441c0fdbce6d8ebe6"}, + {file = "kiwisolver-1.3.1.tar.gz", hash = "sha256:950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248"}, +] +markupsafe = [ + {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win32.whl", hash = "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b"}, + {file = "MarkupSafe-1.1.1-cp27-cp27m-win_amd64.whl", hash = "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f"}, + {file = "MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-macosx_10_6_intel.whl", hash = "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win32.whl", hash = "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21"}, + {file = "MarkupSafe-1.1.1-cp34-cp34m-win_amd64.whl", hash = "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-macosx_10_6_intel.whl", hash = "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win32.whl", hash = "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1"}, + {file = "MarkupSafe-1.1.1-cp35-cp35m-win_amd64.whl", hash = "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win32.whl", hash = "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66"}, + {file = "MarkupSafe-1.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win32.whl", hash = "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2"}, + {file = "MarkupSafe-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win32.whl", hash = "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b"}, + {file = "MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"}, + {file = "MarkupSafe-1.1.1.tar.gz", hash = "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"}, +] +matplotlib = [ + {file = "matplotlib-3.3.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:672960dd114e342b7c610bf32fb99d14227f29919894388b41553217457ba7ef"}, + {file = "matplotlib-3.3.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:7c155437ae4fd366e2700e2716564d1787700687443de46bcb895fe0f84b761d"}, + {file = "matplotlib-3.3.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:a17f0a10604fac7627ec82820439e7db611722e80c408a726cd00d8c974c2fb3"}, + {file = "matplotlib-3.3.4-cp36-cp36m-win32.whl", hash = "sha256:215e2a30a2090221a9481db58b770ce56b8ef46f13224ae33afe221b14b24dc1"}, + {file = "matplotlib-3.3.4-cp36-cp36m-win_amd64.whl", hash = "sha256:348e6032f666ffd151b323342f9278b16b95d4a75dfacae84a11d2829a7816ae"}, + {file = "matplotlib-3.3.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:94bdd1d55c20e764d8aea9d471d2ae7a7b2c84445e0fa463f02e20f9730783e1"}, + {file = "matplotlib-3.3.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a1acb72f095f1d58ecc2538ed1b8bca0b57df313b13db36ed34b8cdf1868e674"}, + {file = "matplotlib-3.3.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:46b1a60a04e6d884f0250d5cc8dc7bd21a9a96c584a7acdaab44698a44710bab"}, + {file = "matplotlib-3.3.4-cp37-cp37m-win32.whl", hash = "sha256:ed4a9e6dcacba56b17a0a9ac22ae2c72a35b7f0ef0693aa68574f0b2df607a89"}, + {file = "matplotlib-3.3.4-cp37-cp37m-win_amd64.whl", hash = "sha256:c24c05f645aef776e8b8931cb81e0f1632d229b42b6d216e30836e2e145a2b40"}, + {file = "matplotlib-3.3.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7310e353a4a35477c7f032409966920197d7df3e757c7624fd842f3eeb307d3d"}, + {file = "matplotlib-3.3.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:451cc89cb33d6652c509fc6b588dc51c41d7246afdcc29b8624e256b7663ed1f"}, + {file = "matplotlib-3.3.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:3d2eb9c1cc254d0ffa90bc96fde4b6005d09c2228f99dfd493a4219c1af99644"}, + {file = "matplotlib-3.3.4-cp38-cp38-win32.whl", hash = "sha256:e15fa23d844d54e7b3b7243afd53b7567ee71c721f592deb0727ee85e668f96a"}, + {file = "matplotlib-3.3.4-cp38-cp38-win_amd64.whl", hash = "sha256:1de0bb6cbfe460725f0e97b88daa8643bcf9571c18ba90bb8e41432aaeca91d6"}, + {file = "matplotlib-3.3.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f44149a0ef5b4991aaef12a93b8e8d66d6412e762745fea1faa61d98524e0ba9"}, + {file = "matplotlib-3.3.4-cp39-cp39-manylinux1_i686.whl", hash = "sha256:746a1df55749629e26af7f977ea426817ca9370ad1569436608dc48d1069b87c"}, + {file = "matplotlib-3.3.4-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:5f571b92a536206f7958f7cb2d367ff6c9a1fa8229dc35020006e4cdd1ca0acd"}, + {file = "matplotlib-3.3.4-cp39-cp39-win32.whl", hash = "sha256:9265ae0fb35e29f9b8cc86c2ab0a2e3dcddc4dd9de4b85bf26c0f63fe5c1c2ca"}, + {file = "matplotlib-3.3.4-cp39-cp39-win_amd64.whl", hash = "sha256:9a79e5dd7bb797aa611048f5b70588b23c5be05b63eefd8a0d152ac77c4243db"}, + {file = "matplotlib-3.3.4-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1e850163579a8936eede29fad41e202b25923a0a8d5ffd08ce50fc0a97dcdc93"}, + {file = "matplotlib-3.3.4-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:d738acfdfb65da34c91acbdb56abed46803db39af259b7f194dc96920360dbe4"}, + {file = "matplotlib-3.3.4-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:aa49571d8030ad0b9ac39708ee77bd2a22f87815e12bdee52ecaffece9313ed8"}, + {file = "matplotlib-3.3.4-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:cf3a7e54eff792f0815dbbe9b85df2f13d739289c93d346925554f71d484be78"}, + {file = "matplotlib-3.3.4.tar.gz", hash = "sha256:3e477db76c22929e4c6876c44f88d790aacdf3c3f8f3a90cb1975c0bf37825b0"}, +] +mccabe = [ + {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, + {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, +] +mypy = [ + {file = "mypy-0.812-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:a26f8ec704e5a7423c8824d425086705e381b4f1dfdef6e3a1edab7ba174ec49"}, + {file = "mypy-0.812-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:28fb5479c494b1bab244620685e2eb3c3f988d71fd5d64cc753195e8ed53df7c"}, + {file = "mypy-0.812-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:9743c91088d396c1a5a3c9978354b61b0382b4e3c440ce83cf77994a43e8c521"}, + {file = "mypy-0.812-cp35-cp35m-win_amd64.whl", hash = "sha256:d7da2e1d5f558c37d6e8c1246f1aec1e7349e4913d8fb3cb289a35de573fe2eb"}, + {file = "mypy-0.812-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4eec37370483331d13514c3f55f446fc5248d6373e7029a29ecb7b7494851e7a"}, + {file = "mypy-0.812-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d65cc1df038ef55a99e617431f0553cd77763869eebdf9042403e16089fe746c"}, + {file = "mypy-0.812-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:61a3d5b97955422964be6b3baf05ff2ce7f26f52c85dd88db11d5e03e146a3a6"}, + {file = "mypy-0.812-cp36-cp36m-win_amd64.whl", hash = "sha256:25adde9b862f8f9aac9d2d11971f226bd4c8fbaa89fb76bdadb267ef22d10064"}, + {file = "mypy-0.812-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:552a815579aa1e995f39fd05dde6cd378e191b063f031f2acfe73ce9fb7f9e56"}, + {file = "mypy-0.812-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:499c798053cdebcaa916eef8cd733e5584b5909f789de856b482cd7d069bdad8"}, + {file = "mypy-0.812-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:5873888fff1c7cf5b71efbe80e0e73153fe9212fafdf8e44adfe4c20ec9f82d7"}, + {file = "mypy-0.812-cp37-cp37m-win_amd64.whl", hash = "sha256:9f94aac67a2045ec719ffe6111df543bac7874cee01f41928f6969756e030564"}, + {file = "mypy-0.812-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d23e0ea196702d918b60c8288561e722bf437d82cb7ef2edcd98cfa38905d506"}, + {file = "mypy-0.812-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:674e822aa665b9fd75130c6c5f5ed9564a38c6cea6a6432ce47eafb68ee578c5"}, + {file = "mypy-0.812-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:abf7e0c3cf117c44d9285cc6128856106183938c68fd4944763003decdcfeb66"}, + {file = "mypy-0.812-cp38-cp38-win_amd64.whl", hash = "sha256:0d0a87c0e7e3a9becdfbe936c981d32e5ee0ccda3e0f07e1ef2c3d1a817cf73e"}, + {file = "mypy-0.812-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7ce3175801d0ae5fdfa79b4f0cfed08807af4d075b402b7e294e6aa72af9aa2a"}, + {file = "mypy-0.812-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:b09669bcda124e83708f34a94606e01b614fa71931d356c1f1a5297ba11f110a"}, + {file = "mypy-0.812-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:33f159443db0829d16f0a8d83d94df3109bb6dd801975fe86bacb9bf71628e97"}, + {file = "mypy-0.812-cp39-cp39-win_amd64.whl", hash = "sha256:3f2aca7f68580dc2508289c729bd49ee929a436208d2b2b6aab15745a70a57df"}, + {file = "mypy-0.812-py3-none-any.whl", hash = "sha256:2f9b3407c58347a452fc0736861593e105139b905cca7d097e413453a1d650b4"}, + {file = "mypy-0.812.tar.gz", hash = "sha256:cd07039aa5df222037005b08fbbfd69b3ab0b0bd7a07d7906de75ae52c4e3119"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +nose = [ + {file = "nose-1.3.7-py2-none-any.whl", hash = "sha256:dadcddc0aefbf99eea214e0f1232b94f2fa9bd98fa8353711dacb112bfcbbb2a"}, + {file = "nose-1.3.7-py3-none-any.whl", hash = "sha256:9ff7c6cc443f8c51994b34a667bbcf45afd6d945be7477b52e97516fd17c53ac"}, + {file = "nose-1.3.7.tar.gz", hash = "sha256:f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98"}, +] +numpy = [ + {file = "numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff"}, + {file = "numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea"}, + {file = "numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8b5e972b43c8fc27d56550b4120fe6257fdc15f9301914380b27f74856299fea"}, + {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:43d4c81d5ffdff6bae58d66a3cd7f54a7acd9a0e7b18d97abb255defc09e3140"}, + {file = "numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:a4646724fba402aa7504cd48b4b50e783296b5e10a524c7a6da62e4a8ac9698d"}, + {file = "numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:2e55195bc1c6b705bfd8ad6f288b38b11b1af32f3c8289d6c50d47f950c12e76"}, + {file = "numpy-1.19.5-cp36-cp36m-win32.whl", hash = "sha256:39b70c19ec771805081578cc936bbe95336798b7edf4732ed102e7a43ec5c07a"}, + {file = "numpy-1.19.5-cp36-cp36m-win_amd64.whl", hash = "sha256:dbd18bcf4889b720ba13a27ec2f2aac1981bd41203b3a3b27ba7a33f88ae4827"}, + {file = "numpy-1.19.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:603aa0706be710eea8884af807b1b3bc9fb2e49b9f4da439e76000f3b3c6ff0f"}, + {file = "numpy-1.19.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:cae865b1cae1ec2663d8ea56ef6ff185bad091a5e33ebbadd98de2cfa3fa668f"}, + {file = "numpy-1.19.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36674959eed6957e61f11c912f71e78857a8d0604171dfd9ce9ad5cbf41c511c"}, + {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:06fab248a088e439402141ea04f0fffb203723148f6ee791e9c75b3e9e82f080"}, + {file = "numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6149a185cece5ee78d1d196938b2a8f9d09f5a5ebfbba66969302a778d5ddd1d"}, + {file = "numpy-1.19.5-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:50a4a0ad0111cc1b71fa32dedd05fa239f7fb5a43a40663269bb5dc7877cfd28"}, + {file = "numpy-1.19.5-cp37-cp37m-win32.whl", hash = "sha256:d051ec1c64b85ecc69531e1137bb9751c6830772ee5c1c426dbcfe98ef5788d7"}, + {file = "numpy-1.19.5-cp37-cp37m-win_amd64.whl", hash = "sha256:a12ff4c8ddfee61f90a1633a4c4afd3f7bcb32b11c52026c92a12e1325922d0d"}, + {file = "numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf2402002d3d9f91c8b01e66fbb436a4ed01c6498fffed0e4c7566da1d40ee1e"}, + {file = "numpy-1.19.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1ded4fce9cfaaf24e7a0ab51b7a87be9038ea1ace7f34b841fe3b6894c721d1c"}, + {file = "numpy-1.19.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:012426a41bc9ab63bb158635aecccc7610e3eff5d31d1eb43bc099debc979d94"}, + {file = "numpy-1.19.5-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:759e4095edc3c1b3ac031f34d9459fa781777a93ccc633a472a5468587a190ff"}, + {file = "numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:a9d17f2be3b427fbb2bce61e596cf555d6f8a56c222bd2ca148baeeb5e5c783c"}, + {file = "numpy-1.19.5-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:99abf4f353c3d1a0c7a5f27699482c987cf663b1eac20db59b8c7b061eabd7fc"}, + {file = "numpy-1.19.5-cp38-cp38-win32.whl", hash = "sha256:384ec0463d1c2671170901994aeb6dce126de0a95ccc3976c43b0038a37329c2"}, + {file = "numpy-1.19.5-cp38-cp38-win_amd64.whl", hash = "sha256:811daee36a58dc79cf3d8bdd4a490e4277d0e4b7d103a001a4e73ddb48e7e6aa"}, + {file = "numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c843b3f50d1ab7361ca4f0b3639bf691569493a56808a0b0c54a051d260b7dbd"}, + {file = "numpy-1.19.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d6631f2e867676b13026e2846180e2c13c1e11289d67da08d71cacb2cd93d4aa"}, + {file = "numpy-1.19.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7fb43004bce0ca31d8f13a6eb5e943fa73371381e53f7074ed21a4cb786c32f8"}, + {file = "numpy-1.19.5-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2ea52bd92ab9f768cc64a4c3ef8f4b2580a17af0a5436f6126b08efbd1838371"}, + {file = "numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:400580cbd3cff6ffa6293df2278c75aef2d58d8d93d3c5614cd67981dae68ceb"}, + {file = "numpy-1.19.5-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:df609c82f18c5b9f6cb97271f03315ff0dbe481a2a02e56aeb1b1a985ce38e60"}, + {file = "numpy-1.19.5-cp39-cp39-win32.whl", hash = "sha256:ab83f24d5c52d60dbc8cd0528759532736b56db58adaa7b5f1f76ad551416a1e"}, + {file = "numpy-1.19.5-cp39-cp39-win_amd64.whl", hash = "sha256:0eef32ca3132a48e43f6a0f5a82cb508f22ce5a3d6f67a8329c81c8e226d3f6e"}, + {file = "numpy-1.19.5-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:a0d53e51a6cb6f0d9082decb7a4cb6dfb33055308c4c44f53103c073f649af73"}, + {file = "numpy-1.19.5.zip", hash = "sha256:a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4"}, +] +packaging = [ + {file = "packaging-20.9-py2.py3-none-any.whl", hash = "sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"}, + {file = "packaging-20.9.tar.gz", hash = "sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5"}, +] +pep8-naming = [ + {file = "pep8-naming-0.11.1.tar.gz", hash = "sha256:a1dd47dd243adfe8a83616e27cf03164960b507530f155db94e10b36a6cd6724"}, + {file = "pep8_naming-0.11.1-py2.py3-none-any.whl", hash = "sha256:f43bfe3eea7e0d73e8b5d07d6407ab47f2476ccaeff6937c84275cd30b016738"}, +] +pillow = [ + {file = "Pillow-8.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:dc38f57d8f20f06dd7c3161c59ca2c86893632623f33a42d592f097b00f720a9"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a013cbe25d20c2e0c4e85a9daf438f85121a4d0344ddc76e33fd7e3965d9af4b"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8bb1e155a74e1bfbacd84555ea62fa21c58e0b4e7e6b20e4447b8d07990ac78b"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c5236606e8570542ed424849f7852a0ff0bce2c4c8d0ba05cc202a5a9c97dee9"}, + {file = "Pillow-8.2.0-cp36-cp36m-win32.whl", hash = "sha256:12e5e7471f9b637762453da74e390e56cc43e486a88289995c1f4c1dc0bfe727"}, + {file = "Pillow-8.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5afe6b237a0b81bd54b53f835a153770802f164c5570bab5e005aad693dab87f"}, + {file = "Pillow-8.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:cb7a09e173903541fa888ba010c345893cd9fc1b5891aaf060f6ca77b6a3722d"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0d19d70ee7c2ba97631bae1e7d4725cdb2ecf238178096e8c82ee481e189168a"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:083781abd261bdabf090ad07bb69f8f5599943ddb539d64497ed021b2a67e5a9"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c6b39294464b03457f9064e98c124e09008b35a62e3189d3513e5148611c9388"}, + {file = "Pillow-8.2.0-cp37-cp37m-win32.whl", hash = "sha256:01425106e4e8cee195a411f729cff2a7d61813b0b11737c12bd5991f5f14bcd5"}, + {file = "Pillow-8.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3b570f84a6161cf8865c4e08adf629441f56e32f180f7aa4ccbd2e0a5a02cba2"}, + {file = "Pillow-8.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:031a6c88c77d08aab84fecc05c3cde8414cd6f8406f4d2b16fed1e97634cc8a4"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:66cc56579fd91f517290ab02c51e3a80f581aba45fd924fcdee01fa06e635812"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c32cc3145928c4305d142ebec682419a6c0a8ce9e33db900027ddca1ec39178"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:624b977355cde8b065f6d51b98497d6cd5fbdd4f36405f7a8790e3376125e2bb"}, + {file = "Pillow-8.2.0-cp38-cp38-win32.whl", hash = "sha256:5cbf3e3b1014dddc45496e8cf38b9f099c95a326275885199f427825c6522232"}, + {file = "Pillow-8.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:463822e2f0d81459e113372a168f2ff59723e78528f91f0bd25680ac185cf797"}, + {file = "Pillow-8.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:95d5ef984eff897850f3a83883363da64aae1000e79cb3c321915468e8c6add5"}, + {file = "Pillow-8.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b91c36492a4bbb1ee855b7d16fe51379e5f96b85692dc8210831fbb24c43e484"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d68cb92c408261f806b15923834203f024110a2e2872ecb0bd2a110f89d3c602"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f217c3954ce5fd88303fc0c317af55d5e0204106d86dea17eb8205700d47dec2"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5b70110acb39f3aff6b74cf09bb4169b167e2660dabc304c1e25b6555fa781ef"}, + {file = "Pillow-8.2.0-cp39-cp39-win32.whl", hash = "sha256:a7d5e9fad90eff8f6f6106d3b98b553a88b6f976e51fce287192a5d2d5363713"}, + {file = "Pillow-8.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:238c197fc275b475e87c1453b05b467d2d02c2915fdfdd4af126145ff2e4610c"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0e04d61f0064b545b989126197930807c86bcbd4534d39168f4aa5fda39bb8f9"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:63728564c1410d99e6d1ae8e3b810fe012bc440952168af0a2877e8ff5ab96b9"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:c03c07ed32c5324939b19e36ae5f75c660c81461e312a41aea30acdd46f93a7c"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:4d98abdd6b1e3bf1a1cbb14c3895226816e666749ac040c4e2554231068c639b"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:aac00e4bc94d1b7813fe882c28990c1bc2f9d0e1aa765a5f2b516e8a6a16a9e4"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:22fd0f42ad15dfdde6c581347eaa4adb9a6fc4b865f90b23378aa7914895e120"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-win32.whl", hash = "sha256:e98eca29a05913e82177b3ba3d198b1728e164869c613d76d0de4bde6768a50e"}, + {file = "Pillow-8.2.0.tar.gz", hash = "sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1"}, +] +pycodestyle = [ + {file = "pycodestyle-2.7.0-py2.py3-none-any.whl", hash = "sha256:514f76d918fcc0b55c6680472f0a37970994e07bbb80725808c17089be302068"}, + {file = "pycodestyle-2.7.0.tar.gz", hash = "sha256:c389c1d06bf7904078ca03399a4816f974a1d590090fecea0c63ec26ebaf1cef"}, +] +pyflakes = [ + {file = "pyflakes-2.3.1-py2.py3-none-any.whl", hash = "sha256:7893783d01b8a89811dd72d7dfd4d84ff098e5eed95cfa8905b22bbffe52efc3"}, + {file = "pyflakes-2.3.1.tar.gz", hash = "sha256:f5bc8ecabc05bb9d291eb5203d6810b49040f6ff446a756326104746cc00c1db"}, +] +pygments = [ + {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"}, + {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"}, +] +pyparsing = [ + {file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"}, + {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"}, + {file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"}, +] +pytz = [ + {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"}, + {file = "pytz-2021.1.tar.gz", hash = "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da"}, +] +requests = [ + {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, + {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, +] +responses = [ + {file = "responses-0.12.1-py2.py3-none-any.whl", hash = "sha256:ef265bd3200bdef5ec17912fc64a23570ba23597fd54ca75c18650fa1699213d"}, + {file = "responses-0.12.1.tar.gz", hash = "sha256:2e5764325c6b624e42b428688f2111fea166af46623cb0127c05f6afb14d3457"}, +] +six = [ + {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, + {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, +] +snowballstemmer = [ + {file = "snowballstemmer-2.1.0-py2.py3-none-any.whl", hash = "sha256:b51b447bea85f9968c13b650126a888aabd4cb4463fca868ec596826325dedc2"}, + {file = "snowballstemmer-2.1.0.tar.gz", hash = "sha256:e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914"}, +] +sphinx = [ + {file = "Sphinx-3.0.0-py3-none-any.whl", hash = "sha256:b63a0c879c4ff9a4dffcb05217fa55672ce07abdeb81e33c73303a563f8d8901"}, + {file = "Sphinx-3.0.0.tar.gz", hash = "sha256:6a099e6faffdc3ceba99ca8c2d09982d43022245e409249375edf111caf79ed3"}, + {file = "Sphinx-3.5.4-py3-none-any.whl", hash = "sha256:2320d4e994a191f4b4be27da514e46b3d6b420f2ff895d064f52415d342461e8"}, + {file = "Sphinx-3.5.4.tar.gz", hash = "sha256:19010b7b9fa0dc7756a6e105b2aacd3a80f798af3c25c273be64d7beeb482cb1"}, +] +sphinx-copybutton = [ + {file = "sphinx-copybutton-0.3.1.tar.gz", hash = "sha256:0e0461df394515284e3907e3f418a0c60ef6ab6c9a27a800c8552772d0a402a2"}, + {file = "sphinx_copybutton-0.3.1-py3-none-any.whl", hash = "sha256:5125c718e763596e6e52d92e15ee0d6f4800ad3817939be6dee51218870b3e3d"}, +] +sphinx-testing = [ + {file = "sphinx-testing-1.0.1.tar.gz", hash = "sha256:ef661775b5722d7b00f67fc229104317d35637a4fb4434bf2c005afdf1da4d09"}, + {file = "sphinx_testing-1.0.1-py2.py3-none-any.whl", hash = "sha256:9f2cb1eaae0c5172800e20dd78ee3ef42d020738135511f982f9815898586bc9"}, +] +sphinxcontrib-applehelp = [ + {file = "sphinxcontrib-applehelp-1.0.2.tar.gz", hash = "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"}, + {file = "sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a"}, +] +sphinxcontrib-devhelp = [ + {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, + {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, +] +sphinxcontrib-htmlhelp = [ + {file = "sphinxcontrib-htmlhelp-1.0.3.tar.gz", hash = "sha256:e8f5bb7e31b2dbb25b9cc435c8ab7a79787ebf7f906155729338f3156d93659b"}, + {file = "sphinxcontrib_htmlhelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:3c0bc24a2c41e340ac37c85ced6dafc879ab485c095b1d65d2461ac2f7cca86f"}, +] +sphinxcontrib-jsmath = [ + {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, + {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, +] +sphinxcontrib-plantuml = [ + {file = "sphinxcontrib-plantuml-0.20.1.tar.gz", hash = "sha256:4bf607da1048a66cbe6969ffd2bcb331ae4bcefacc3875278c4d2271b95a0a74"}, +] +sphinxcontrib-qthelp = [ + {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, + {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, +] +sphinxcontrib-serializinghtml = [ + {file = "sphinxcontrib-serializinghtml-1.1.4.tar.gz", hash = "sha256:eaa0eccc86e982a9b939b2b82d12cc5d013385ba5eadcc7e4fed23f4405f77bc"}, + {file = "sphinxcontrib_serializinghtml-1.1.4-py2.py3-none-any.whl", hash = "sha256:f242a81d423f59617a8e5cf16f5d4d74e28ee9a66f9e5b637a18082991db5a9a"}, +] +typed-ast = [ + {file = "typed_ast-1.4.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6"}, + {file = "typed_ast-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075"}, + {file = "typed_ast-1.4.3-cp35-cp35m-manylinux2014_aarch64.whl", hash = "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528"}, + {file = "typed_ast-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428"}, + {file = "typed_ast-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3"}, + {file = "typed_ast-1.4.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f"}, + {file = "typed_ast-1.4.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341"}, + {file = "typed_ast-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace"}, + {file = "typed_ast-1.4.3-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f"}, + {file = "typed_ast-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363"}, + {file = "typed_ast-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7"}, + {file = "typed_ast-1.4.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266"}, + {file = "typed_ast-1.4.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e"}, + {file = "typed_ast-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04"}, + {file = "typed_ast-1.4.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899"}, + {file = "typed_ast-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c"}, + {file = "typed_ast-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805"}, + {file = "typed_ast-1.4.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a"}, + {file = "typed_ast-1.4.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff"}, + {file = "typed_ast-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41"}, + {file = "typed_ast-1.4.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39"}, + {file = "typed_ast-1.4.3-cp38-cp38-win32.whl", hash = "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927"}, + {file = "typed_ast-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40"}, + {file = "typed_ast-1.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3"}, + {file = "typed_ast-1.4.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4"}, + {file = "typed_ast-1.4.3-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0"}, + {file = "typed_ast-1.4.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3"}, + {file = "typed_ast-1.4.3-cp39-cp39-win32.whl", hash = "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808"}, + {file = "typed_ast-1.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c"}, + {file = "typed_ast-1.4.3.tar.gz", hash = "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65"}, +] +typing-extensions = [ + {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, + {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, + {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, +] +urllib3 = [ + {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"}, + {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"}, +] +zipp = [ + {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"}, + {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"}, +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..147382529 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,51 @@ +[tool.poetry] +name = "sphinxcontrib-needs" +version = "0.7.0" +description = "Sphinx needs extension for managing needs/requirements and specifications" +authors = ["team useblocks "] +license = "MIT" +readme = "README.rst" +repository = "http://github.com/useblocks/sphinxcontrib-needs" +documentation = "https://sphinxcontrib-needs.readthedocs.io/en/latest/" +classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: MIT License', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Topic :: Documentation', + 'Topic :: Utilities', + ] + +packages = [ + {include = "sphinxcontrib", from = "."} +] + +[tool.poetry.dependencies] +python = "^3.6" +sphinxcontrib-plantuml = "*" +matplotlib = [ + { version = "^3.1.0", python = "^3.6" }, +] +sphinx-copybutton = "^0.3.0" +sphinx = [ + { version = ">2.2, <=3.0", python = "~3.6" }, + { version = ">2.2", python = "^3.7" }, +] + +[tool.poetry.dev-dependencies] +mypy = "^0.812" +responses = "^0.12.1" +nose = "^1.3.7" +sphinx-testing = ">=1.0" +sphinx-copybutton = "^0.3.1" +flake8 = "^3.9.0" +pep8-naming = "^0.11.1" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 698993089..000000000 --- a/setup.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import os -from setuptools import setup, find_packages - -requires = ['Sphinx<2;python_version<"3.5"', - 'Sphinx<3;python_version<"3.6"', # Needed as matplotlib can not deal with py35 and sphinx3 - 'Sphinx;python_version>="3.6"', - 'six', - 'matplotlib<=3.0.3.;python_version<"3.6"', # last version with py3.5 support - 'matplotlib;python_version>="3.6"', - 'MarkupSafe<1.3.0.;python_version<"3.6"', - 'Jinja2<=2.11.3.;python_version<"3.6"', - 'm2r'] - -setup( - name='sphinxcontrib-needs', - # If you raise, think about versions in conf.py and needs.py!!! - version='0.6.0', - url='http://github.com/useblocks/sphinxcontrib-needs', - download_url='http://pypi.python.org/pypi/sphinxcontrib-needs', - license='MIT', - author='team useblocks', - author_email='info@useblocks.com', - description='Sphinx needs extension for managing needs/requirements and specifications', - long_description=open(os.path.join(os.path.dirname(__file__), "README.rst")).read(), - zip_safe=False, - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: MIT License', - 'Operating System :: OS Independent', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Topic :: Documentation', - 'Topic :: Utilities', - ], - platforms='any', - packages=find_packages(), - include_package_data=True, - install_requires=requires, - setup_requires=['wheel'], - namespace_packages=['sphinxcontrib'], -) diff --git a/sphinxcontrib/needs/api/configuration.py b/sphinxcontrib/needs/api/configuration.py index f499b2c0d..587ba7305 100644 --- a/sphinxcontrib/needs/api/configuration.py +++ b/sphinxcontrib/needs/api/configuration.py @@ -5,7 +5,7 @@ """ from docutils.parsers.rst import directives -from sphinxcontrib.needs.api.exceptions import NeedsNotLoadedException, NeedsApiConfigException, NeedsApiConfigWarning +from sphinxcontrib.needs.api.exceptions import NeedsApiConfigException, NeedsApiConfigWarning from sphinxcontrib.needs.functions import register_func import sphinxcontrib.needs.directives.need from sphinx.application import Sphinx diff --git a/sphinxcontrib/needs/directives/needfilter.py b/sphinxcontrib/needs/directives/needfilter.py index 5c269bdac..5cc32819c 100644 --- a/sphinxcontrib/needs/directives/needfilter.py +++ b/sphinxcontrib/needs/directives/needfilter.py @@ -26,6 +26,7 @@ class NeedfilterDirective(FilterBase): .. deprecated:: 0.2.0 Use needlist, needtable or needdiagram instead """ + @staticmethod def layout(argument): return directives.choice(argument, ("list", "table", "diagram")) diff --git a/sphinxcontrib/needs/directives/needflow.py b/sphinxcontrib/needs/directives/needflow.py index a2647a06a..3a706fb7c 100644 --- a/sphinxcontrib/needs/directives/needflow.py +++ b/sphinxcontrib/needs/directives/needflow.py @@ -108,7 +108,7 @@ def split_link_types(link_types: str) -> Iterable[str]: def is_valid(link_type) -> bool: if len(link_type) == 0 or link_type.isspace(): logger.warning('Scruffy link_type definition found in needflow {}. ' - 'Defined link_type contains spaces only.'.format(id)) + 'Defined link_type contains spaces only.'.format(id)) return False return True diff --git a/sphinxcontrib/needs/directives/needimport.py b/sphinxcontrib/needs/directives/needimport.py index 6cc912481..5b8f60313 100644 --- a/sphinxcontrib/needs/directives/needimport.py +++ b/sphinxcontrib/needs/directives/needimport.py @@ -6,7 +6,6 @@ from docutils import nodes from docutils.parsers.rst import directives from docutils.parsers.rst import Directive -from jinja2 import Template from sphinxcontrib.needs.api import add_need from sphinxcontrib.needs.filter_common import filter_single_need @@ -42,7 +41,6 @@ def run(self): version = self.options.get("version", None) filter_string = self.options.get("filter", None) id_prefix = self.options.get("id_prefix", "") - hide = True if "hide" in self.options.keys() else False tags = self.options.get("tags", []) if len(tags) > 0: diff --git a/sphinxcontrib/needs/directives/needsequence.py b/sphinxcontrib/needs/directives/needsequence.py index cfc18542a..33d22c094 100644 --- a/sphinxcontrib/needs/directives/needsequence.py +++ b/sphinxcontrib/needs/directives/needsequence.py @@ -145,9 +145,9 @@ def process_needsequence(app, doctree, fromdocname): # Add children of participants _msg_receiver_needs, p_string_new, c_string_new = get_message_needs(need, - current_needsequence['link_types'], - all_needs_dict, - filter=current_needsequence['filter']) + current_needsequence['link_types'], + all_needs_dict, + filter=current_needsequence['filter']) p_string += p_string_new c_string += c_string_new diff --git a/sphinxcontrib/needs/layout.py b/sphinxcontrib/needs/layout.py index c1649cf6e..738ec3f17 100644 --- a/sphinxcontrib/needs/layout.py +++ b/sphinxcontrib/needs/layout.py @@ -538,7 +538,7 @@ def meta_all(self, prefix='', postfix='', exclude=None, no_links=False, defaults Usage:: - <> + <> .. note:: @@ -799,7 +799,7 @@ def link(self, url, text=None, image_url=None, image_height=None, image_width=No label_node += prefix_node data_container.append(label_node) - text = text = '' # May be needed if only image shall be shown + text = text = '' # May be needed if only image shall be shown if is_dynamic: try: diff --git a/sphinxcontrib/needs/services/manager.py b/sphinxcontrib/needs/services/manager.py index 4a630e1ab..a2e0de382 100644 --- a/sphinxcontrib/needs/services/manager.py +++ b/sphinxcontrib/needs/services/manager.py @@ -17,7 +17,7 @@ def register(self, name, clazz, **kwargs): config = self.app.config.needs_services[name] except KeyError: self.log.debug('No service config found for {}. ' - 'Add it in your conf.py to needs_services dictionary.'.format(name)) + 'Add it in your conf.py to needs_services dictionary.'.format(name)) config = {} # Register options from service class diff --git a/sphinxcontrib/needs/utils.py b/sphinxcontrib/needs/utils.py index 0bac2c1c9..8ca9714d5 100644 --- a/sphinxcontrib/needs/utils.py +++ b/sphinxcontrib/needs/utils.py @@ -25,7 +25,16 @@ 'September', 'October', 'November', 'December'] -def row_col_maker(app: Sphinx, fromdocname, all_needs, need_info, need_key, make_ref=False, ref_lookup=False, prefix=''): +def row_col_maker( + app: Sphinx, + fromdocname, + all_needs, + need_info, + need_key, + make_ref=False, + ref_lookup=False, + prefix='' +): """ Creates and returns a column. diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 4a1c948f2..000000000 --- a/test-requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -pytest -pytest-flake8 -coverage -python-coveralls -tox -nose -sphinx_testing>=1.0 -sphinxcontrib-plantuml -sphinx-copybutton -responses diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/data/service_github.py b/tests/data/service_github.py index 6ab5b7ca8..70072221d 100644 --- a/tests/data/service_github.py +++ b/tests/data/service_github.py @@ -3,459 +3,651 @@ # Needed to avoid external service calls during tests # Response for a search api call -GITHUB_ISSUE_SEARCH_ANSWER = {'total_count': 2, 'incomplete_results': False, 'items': - [{'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141', - 'repository_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/labels{/name}', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/comments', - 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/events', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/issues/141', 'id': 586783574, - 'node_id': 'MDU6SXNzdWU1ODY3ODM1NzQ=', 'number': 100, - 'title': 'A node can only be in one page, else it will be cut when generate latexpdf ', - 'user': {'login': 'sophiali2008', 'id': 62423175, 'node_id': 'MDQ6VXNlcjYyNDIzMTc1', - 'avatar_url': 'https://avatars.githubusercontent.com/u/62423175?v=4', 'gravatar_id': '', - 'url': 'https://api.github.com/users/sophiali2008', 'html_url': 'https://github.com/sophiali2008', - 'followers_url': 'https://api.github.com/users/sophiali2008/followers', - 'following_url': 'https://api.github.com/users/sophiali2008/following{/other_user}', - 'gists_url': 'https://api.github.com/users/sophiali2008/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/sophiali2008/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/sophiali2008/subscriptions', - 'organizations_url': 'https://api.github.com/users/sophiali2008/orgs', - 'repos_url': 'https://api.github.com/users/sophiali2008/repos', - 'events_url': 'https://api.github.com/users/sophiali2008/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/sophiali2008/received_events', 'type': 'User', - 'site_admin': False}, 'labels': [{'id': 491973814, 'node_id': 'MDU6TGFiZWw0OTE5NzM4MTQ=', - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels/bug', - 'name': 'bug', 'color': 'ee0701', 'default': True, - 'description': None}], 'state': 'open', 'locked': False, - 'assignee': None, 'assignees': [], - 'milestone': {'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/milestone/6', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6/labels', - 'id': 5182610, 'node_id': 'MDk6TWlsZXN0b25lNTE4MjYxMA==', 'number': 6, 'title': '0.5.5', - 'description': None, 'creator': {'login': 'danwos', 'id': 998700, 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, 'open_issues': 2, - 'closed_issues': 0, 'state': 'open', 'created_at': '2020-03-09T13:53:46Z', - 'updated_at': '2020-03-24T08:50:03Z', 'due_on': None, 'closed_at': None}, 'comments': 3, - 'created_at': '2020-03-24T08:30:43Z', 'updated_at': '2021-02-12T11:57:06Z', 'closed_at': None, - 'author_association': 'NONE', 'active_lock_reason': None, - 'body': 'Hello,\r\nI used the extension needs 0.5.3 in my project, it is perfectly fit in html. \r\nBut when I ' - 'generate latexpdf, the content is cut if it is more than one page. Is it possible to generate it like ' - 'a longtable which adjust the content in different continues pages ?', - 'performed_via_github_app': None, 'score': 1.0}]} +GITHUB_ISSUE_SEARCH_ANSWER = { + 'total_count': 2, + 'incomplete_results': False, + 'items': [ + { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141', + 'repository_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/labels{/name}', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/comments', + 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/events', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/issues/141', + 'id': 586783574, + 'node_id': 'MDU6SXNzdWU1ODY3ODM1NzQ=', + 'number': 100, + 'title': 'A node can only be in one page, else it will be cut when generate latexpdf ', + 'user': { + 'login': 'sophiali2008', + 'id': 62423175, + 'node_id': 'MDQ6VXNlcjYyNDIzMTc1', + 'avatar_url': 'https://avatars.githubusercontent.com/u/62423175?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/sophiali2008', + 'html_url': 'https://github.com/sophiali2008', + 'followers_url': 'https://api.github.com/users/sophiali2008/followers', + 'following_url': 'https://api.github.com/users/sophiali2008/following{/other_user}', + 'gists_url': 'https://api.github.com/users/sophiali2008/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/sophiali2008/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/sophiali2008/subscriptions', + 'organizations_url': 'https://api.github.com/users/sophiali2008/orgs', + 'repos_url': 'https://api.github.com/users/sophiali2008/repos', + 'events_url': 'https://api.github.com/users/sophiali2008/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/sophiali2008/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'labels': [ + { + 'id': 491973814, + 'node_id': 'MDU6TGFiZWw0OTE5NzM4MTQ=', + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels/bug', + 'name': 'bug', + 'color': 'ee0701', + 'default': True, + 'description': None, + } + ], + 'state': 'open', + 'locked': False, + 'assignee': None, + 'assignees': [], + 'milestone': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/milestone/6', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6/labels', + 'id': 5182610, + 'node_id': 'MDk6TWlsZXN0b25lNTE4MjYxMA==', + 'number': 6, + 'title': '0.5.5', + 'description': None, + 'creator': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'open_issues': 2, + 'closed_issues': 0, + 'state': 'open', + 'created_at': '2020-03-09T13:53:46Z', + 'updated_at': '2020-03-24T08:50:03Z', + 'due_on': None, + 'closed_at': None, + }, + 'comments': 3, + 'created_at': '2020-03-24T08:30:43Z', + 'updated_at': '2021-02-12T11:57:06Z', + 'closed_at': None, + 'author_association': 'NONE', + 'active_lock_reason': None, + 'body': 'Hello,\r\nI used the extension needs 0.5.3 in my project, it is perfectly fit in html. \r\nBut when I ' + 'generate latexpdf, the content is cut if it is more than one page. Is it possible to generate it like ' + 'a longtable which adjust the content in different continues pages ?', + 'performed_via_github_app': None, + 'score': 1.0, + } + ], +} # Response of a specific element from github api GITHUB_SPECIFIC_ISSUE_ANSWER = { 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141', 'repository_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/' - '141/labels{/name}', + '141/labels{/name}', 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/comments', 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/141/events', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/issues/141', 'id': 586783574, - 'node_id': 'MDU6SXNzdWU1ODY3ODM1NzQ=', 'number': 340, + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/issues/141', + 'id': 586783574, + 'node_id': 'MDU6SXNzdWU1ODY3ODM1NzQ=', + 'number': 340, 'title': 'A node can only be in one page, else it will be cut when generate latexpdf ', - 'user': {'login': 'sophiali2008', 'id': 62423175, 'node_id': 'MDQ6VXNlcjYyNDIzMTc1', - 'avatar_url': 'https://avatars.githubusercontent.com/u/62423175?v=4', 'gravatar_id': '', - 'url': 'https://api.github.com/users/sophiali2008', 'html_url': 'https://github.com/sophiali2008', - 'followers_url': 'https://api.github.com/users/sophiali2008/followers', - 'following_url': 'https://api.github.com/users/sophiali2008/following{/other_user}', - 'gists_url': 'https://api.github.com/users/sophiali2008/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/sophiali2008/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/sophiali2008/subscriptions', - 'organizations_url': 'https://api.github.com/users/sophiali2008/orgs', - 'repos_url': 'https://api.github.com/users/sophiali2008/repos', - 'events_url': 'https://api.github.com/users/sophiali2008/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/sophiali2008/received_events', 'type': 'User', - 'site_admin': False}, 'labels': [{'id': 491973814, 'node_id': 'MDU6TGFiZWw0OTE5NzM4MTQ=', - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' - '/labels/bug', - 'name': 'bug', 'color': 'ee0701', 'default': True, 'description': None}], - 'state': 'open', 'locked': False, 'assignee': None, 'assignees': [], - 'milestone': {'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/milestone/6', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6/labels', - 'id': 5182610, 'node_id': 'MDk6TWlsZXN0b25lNTE4MjYxMA==', 'number': 6, 'title': '0.5.5', - 'description': None, 'creator': {'login': 'danwos', 'id': 998700, 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, 'open_issues': 2, - 'closed_issues': 0, 'state': 'open', 'created_at': '2020-03-09T13:53:46Z', - 'updated_at': '2020-03-24T08:50:03Z', 'due_on': None, 'closed_at': None}, 'comments': 3, - 'created_at': '2020-03-24T08:30:43Z', 'updated_at': '2021-02-12T11:57:06Z', 'closed_at': None, - 'author_association': 'NONE', 'active_lock_reason': None, + 'user': { + 'login': 'sophiali2008', + 'id': 62423175, + 'node_id': 'MDQ6VXNlcjYyNDIzMTc1', + 'avatar_url': 'https://avatars.githubusercontent.com/u/62423175?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/sophiali2008', + 'html_url': 'https://github.com/sophiali2008', + 'followers_url': 'https://api.github.com/users/sophiali2008/followers', + 'following_url': 'https://api.github.com/users/sophiali2008/following{/other_user}', + 'gists_url': 'https://api.github.com/users/sophiali2008/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/sophiali2008/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/sophiali2008/subscriptions', + 'organizations_url': 'https://api.github.com/users/sophiali2008/orgs', + 'repos_url': 'https://api.github.com/users/sophiali2008/repos', + 'events_url': 'https://api.github.com/users/sophiali2008/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/sophiali2008/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'labels': [ + { + 'id': 491973814, + 'node_id': 'MDU6TGFiZWw0OTE5NzM4MTQ=', + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' + '/labels/bug', + 'name': 'bug', + 'color': 'ee0701', + 'default': True, + 'description': None, + } + ], + 'state': 'open', + 'locked': False, + 'assignee': None, + 'assignees': [], + 'milestone': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/milestone/6', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones/6/labels', + 'id': 5182610, + 'node_id': 'MDk6TWlsZXN0b25lNTE4MjYxMA==', + 'number': 6, + 'title': '0.5.5', + 'description': None, + 'creator': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'open_issues': 2, + 'closed_issues': 0, + 'state': 'open', + 'created_at': '2020-03-09T13:53:46Z', + 'updated_at': '2020-03-24T08:50:03Z', + 'due_on': None, + 'closed_at': None, + }, + 'comments': 3, + 'created_at': '2020-03-24T08:30:43Z', + 'updated_at': '2021-02-12T11:57:06Z', + 'closed_at': None, + 'author_association': 'NONE', + 'active_lock_reason': None, 'body': 'Hello,\r\nI used the extension needs 0.5.3 in my project, it is perfectly fit in html. \r\nBut when I ' - 'generate latexpdf, the content is cut if it is more than one page. Is it possible to generate it like a ' - 'longtable which adjust the content in different continues pages ?', - 'performed_via_github_app': None, 'score': 1.0} + 'generate latexpdf, the content is cut if it is more than one page. Is it possible to generate it like a ' + 'longtable which adjust the content in different continues pages ?', + 'performed_via_github_app': None, + 'score': 1.0, +} GITHUB_SPECIFIC_COMMIT_ANSWER = { 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits' - '/dc14807f0b247e758bbcbef289 ' - '53444f18b503e3', 'sha': 'dc14807f0b247e758bbcbef28953444f18b503e3', + '/dc14807f0b247e758bbcbef289 ' + '53444f18b503e3', + 'sha': 'dc14807f0b247e758bbcbef28953444f18b503e3', 'node_id': 'MDY6Q29tbWl0NzUyMjU5NDk6ZGMxNDgwN2YwYjI0N2U3NThiYmNiZWYyODk1MzQ0NGYxOGI1MDNlMw==', 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/dc14807f0b247e758bbcbef28953444f18b503e3', 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits' - '/dc14807f0b247e758bbcbef28953444f18b503e3/comments', + '/dc14807f0b247e758bbcbef28953444f18b503e3/comments', 'commit': { 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits' - '/dc14807f0b247e758bbcbef28953444f18b503e3', - 'author': {'date': '2021-01-06T06:33:48.000+01:00', 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, - 'committer': {'date': '2021-01-06T06:47:45.000+01:00', 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, 'message': 'string format fix to support python 3.5', + '/dc14807f0b247e758bbcbef28953444f18b503e3', + 'author': { + 'date': '2021-01-06T06:33:48.000+01:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'committer': { + 'date': '2021-01-06T06:47:45.000+01:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'message': 'string format fix to support python 3.5', 'tree': { 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees' - '/5bf05fc659dd7f2481e5e90ffca5015ee25e047a', - 'sha': '5bf05fc659dd7f2481e5e90ffca5015ee25e047a'}, 'comment_count': 0}, - 'author': {'login': 'danwos', 'id': 998700, 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', 'type': 'User', - 'site_admin': False}, - 'committer': {'login': 'danwos', 'id': 998700, 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', 'type': 'User', - 'site_admin': False}, 'parents': [{ - 'url': 'https://api.github.com/repos/useblocks' - '/sphinxcontrib-needs/commits' - '/beec7bec42035e3cad09c8400397fa7c828cdd91', - 'html_url': 'https://github.com/useblocks/sphinxcontrib' - '-needs/commit' - '/beec7bec42035e3cad09c8400397fa7c828cdd91', - 'sha': 'beec7bec42035e3cad09c8400397fa7c828cdd91'}], - 'repository': {'id': 75225949, 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', 'name': 'sphinxcontrib-needs', - 'full_name': 'useblocks/sphinxcontrib-needs', 'private': False, - 'owner': {'login': 'useblocks', 'id': 998587, 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', 'gravatar_id': '', - 'url': 'https://api.github.com/users/useblocks', - 'html_url': 'https://github.com/useblocks', - 'followers_url': 'https://api.github.com/users/useblocks/followers', - 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', - 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', - 'organizations_url': 'https://api.github.com/users/useblocks/orgs', - 'repos_url': 'https://api.github.com/users/useblocks/repos', - 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/useblocks/received_events', - 'type': 'Organization', 'site_admin': False}, - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', - 'description': 'Adds needs/requirements to sphinx', 'fork': False, - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', - 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', - 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', - 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' - '/collaborators{/collaborator}', - 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', - 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', - 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{' - '/number}', - 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', - 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', - 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', - 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', - 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', - 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', - 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', - 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', - 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', - 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', - 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', - 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', - 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', - 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', - 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', - 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git' - '/commits{/sha}', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', - 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues' - '/comments{/number}', - 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', - 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{' - 'head}', - 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', - 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{' - '/ref}', - 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', - 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', - 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', - 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{' - '/number}', - 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' - '/notifications{?since,all,participating}', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', - 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', - 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments'}, - 'score': 1.0} + '/5bf05fc659dd7f2481e5e90ffca5015ee25e047a', + 'sha': '5bf05fc659dd7f2481e5e90ffca5015ee25e047a', + }, + 'comment_count': 0, + }, + 'author': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'committer': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'parents': [ + { + 'url': 'https://api.github.com/repos/useblocks' + '/sphinxcontrib-needs/commits' + '/beec7bec42035e3cad09c8400397fa7c828cdd91', + 'html_url': 'https://github.com/useblocks/sphinxcontrib' + '-needs/commit' + '/beec7bec42035e3cad09c8400397fa7c828cdd91', + 'sha': 'beec7bec42035e3cad09c8400397fa7c828cdd91', + } + ], + 'repository': { + 'id': 75225949, + 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', + 'name': 'sphinxcontrib-needs', + 'full_name': 'useblocks/sphinxcontrib-needs', + 'private': False, + 'owner': { + 'login': 'useblocks', + 'id': 998587, + 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/useblocks', + 'html_url': 'https://github.com/useblocks', + 'followers_url': 'https://api.github.com/users/useblocks/followers', + 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', + 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', + 'organizations_url': 'https://api.github.com/users/useblocks/orgs', + 'repos_url': 'https://api.github.com/users/useblocks/repos', + 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/useblocks/received_events', + 'type': 'Organization', + 'site_admin': False, + }, + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', + 'description': 'Adds needs/requirements to sphinx', + 'fork': False, + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', + 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', + 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', + 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' + '/collaborators{/collaborator}', + 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', + 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', + 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{' + '/number}', + 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', + 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', + 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', + 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', + 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', + 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', + 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', + 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', + 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', + 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', + 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', + 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', + 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', + 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', + 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', + 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git' + '/commits{/sha}', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', + 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues' + '/comments{/number}', + 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', + 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{' + 'head}', + 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', + 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{' + '/ref}', + 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', + 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', + 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', + 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{' + '/number}', + 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs' + '/notifications{?since,all,participating}', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', + 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', + 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments', + }, + 'score': 1.0, +} GITHUB_SEARCH_COMMIT_ANSWER = { 'total_count': 11, 'incomplete_results': False, - 'items': [{ - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/dc14807f0b247e758bbcbef28953444f18b503e3', - 'sha': 'dc14807f0b247e758bbcbef28953444f18b503e3', - 'node_id': 'MDY6Q29tbWl0NzUyMjU5NDk6ZGMxNDgwN2YwYjI0N2U3NThiYmNiZWYyODk1MzQ0NGYxOGI1MDNlMw==', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/dc14807f0b247e758bbcbef28953444f18b503e3', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/dc14807f0b247e758bbcbef28953444f18b503e3/comments', - 'commit': { - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits/dc14807f0b247e758bbcbef28953444f18b503e3', - 'author': {'date': '2021-01-06T06:33:48.000+01:00', - 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, - 'committer': {'date': '2021-01-06T06:47:45.000+01:00', - 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, - 'message': 'string format fix to support python 3.5', 'tree': { - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees/5bf05fc659dd7f2481e5e90ffca5015ee25e047a', - 'sha': '5bf05fc659dd7f2481e5e90ffca5015ee25e047a'}, - 'comment_count': 0}, 'author': {'login': 'danwos', 'id': 998700, - 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, - 'committer': {'login': 'danwos', 'id': 998700, - 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, 'parents': [{ - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/beec7bec42035e3cad09c8400397fa7c828cdd91', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/beec7bec42035e3cad09c8400397fa7c828cdd91', - 'sha': 'beec7bec42035e3cad09c8400397fa7c828cdd91'}], - 'repository': {'id': 75225949, - 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', - 'name': 'sphinxcontrib-needs', - 'full_name': 'useblocks/sphinxcontrib-needs', - 'private': False, - 'owner': {'login': 'useblocks', 'id': 998587, - 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/useblocks', - 'html_url': 'https://github.com/useblocks', - 'followers_url': 'https://api.github.com/users/useblocks/followers', - 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', - 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', - 'organizations_url': 'https://api.github.com/users/useblocks/orgs', - 'repos_url': 'https://api.github.com/users/useblocks/repos', - 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/useblocks/received_events', - 'type': 'Organization', 'site_admin': False}, - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', - 'description': 'Adds needs/requirements to sphinx', - 'fork': False, - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', - 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', - 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', - 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/collaborators{/collaborator}', - 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', - 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', - 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{/number}', - 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', - 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', - 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', - 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', - 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', - 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', - 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', - 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', - 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', - 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', - 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', - 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', - 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', - 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', - 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', - 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits{/sha}', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', - 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/comments{/number}', - 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', - 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{head}', - 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', - 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{/ref}', - 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', - 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', - 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', - 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{/number}', - 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/notifications{?since,all,participating}', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', - 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', - 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments'}, - 'score': 1.0}, { - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/e9e2da4fece4a053d1a033027f08356657d61d63', - 'sha': 'e9e2da4fece4a053d1a033027f08356657d61d63', - 'node_id': 'MDY6Q29tbWl0NzUyMjU5NDk6ZTllMmRhNGZlY2U0YTA1M2QxYTAzMzAyN2YwODM1NjY1N2Q2MWQ2Mw==', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/e9e2da4fece4a053d1a033027f08356657d61d63', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/e9e2da4fece4a053d1a033027f08356657d61d63/comments', - 'commit': { - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits/e9e2da4fece4a053d1a033027f08356657d61d63', - 'author': {'date': '2020-04-24T08:34:27.000+02:00', - 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, - 'committer': {'date': '2020-04-24T08:36:31.000+02:00', - 'name': 'Daniel Woste', - 'email': 'daniel.woste@useblocks.com'}, - 'message': 'Pin MarkupSafe installation to version <2 for Python<3.6', - 'tree': { - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees/cb297c837987a8facf4c5208a24d66162d249dee', - 'sha': 'cb297c837987a8facf4c5208a24d66162d249dee'}, - 'comment_count': 0}, 'author': {'login': 'danwos', 'id': 998700, - 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, - 'committer': {'login': 'danwos', 'id': 998700, - 'node_id': 'MDQ6VXNlcjk5ODcwMA==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/danwos', - 'html_url': 'https://github.com/danwos', - 'followers_url': 'https://api.github.com/users/danwos/followers', - 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', - 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', - 'organizations_url': 'https://api.github.com/users/danwos/orgs', - 'repos_url': 'https://api.github.com/users/danwos/repos', - 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/danwos/received_events', - 'type': 'User', 'site_admin': False}, 'parents': [{ - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/add7f346e42921f779d2181b95ae2c7aea3d6546', - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/add7f346e42921f779d2181b95ae2c7aea3d6546', - 'sha': 'add7f346e42921f779d2181b95ae2c7aea3d6546'}], - 'repository': {'id': 75225949, - 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', - 'name': 'sphinxcontrib-needs', - 'full_name': 'useblocks/sphinxcontrib-needs', - 'private': False, - 'owner': {'login': 'useblocks', 'id': 998587, - 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', - 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', - 'gravatar_id': '', - 'url': 'https://api.github.com/users/useblocks', - 'html_url': 'https://github.com/useblocks', - 'followers_url': 'https://api.github.com/users/useblocks/followers', - 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', - 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', - 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', - 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', - 'organizations_url': 'https://api.github.com/users/useblocks/orgs', - 'repos_url': 'https://api.github.com/users/useblocks/repos', - 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', - 'received_events_url': 'https://api.github.com/users/useblocks/received_events', - 'type': 'Organization', 'site_admin': False}, - 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', - 'description': 'Adds needs/requirements to sphinx', - 'fork': False, - 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', - 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', - 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', - 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/collaborators{/collaborator}', - 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', - 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', - 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{/number}', - 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', - 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', - 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', - 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', - 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', - 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', - 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', - 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', - 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', - 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', - 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', - 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', - 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', - 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', - 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', - 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits{/sha}', - 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', - 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/comments{/number}', - 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', - 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{head}', - 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', - 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{/ref}', - 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', - 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', - 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', - 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{/number}', - 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/notifications{?since,all,participating}', - 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', - 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', - 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments'}, - 'score': 1.0}]} + 'items': [ + { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/dc14807f0b247e758bbcbef28953444f18b503e3', + 'sha': 'dc14807f0b247e758bbcbef28953444f18b503e3', + 'node_id': 'MDY6Q29tbWl0NzUyMjU5NDk6ZGMxNDgwN2YwYjI0N2U3NThiYmNiZWYyODk1MzQ0NGYxOGI1MDNlMw==', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/dc14807f0b247e758bbcbef28953444f18b503e3', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/dc14807f0b247e758bbcbef28953444f18b503e3/comments', + 'commit': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits/dc14807f0b247e758bbcbef28953444f18b503e3', + 'author': { + 'date': '2021-01-06T06:33:48.000+01:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'committer': { + 'date': '2021-01-06T06:47:45.000+01:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'message': 'string format fix to support python 3.5', + 'tree': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees/5bf05fc659dd7f2481e5e90ffca5015ee25e047a', + 'sha': '5bf05fc659dd7f2481e5e90ffca5015ee25e047a', + }, + 'comment_count': 0, + }, + 'author': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'committer': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'parents': [ + { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/beec7bec42035e3cad09c8400397fa7c828cdd91', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/beec7bec42035e3cad09c8400397fa7c828cdd91', + 'sha': 'beec7bec42035e3cad09c8400397fa7c828cdd91', + } + ], + 'repository': { + 'id': 75225949, + 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', + 'name': 'sphinxcontrib-needs', + 'full_name': 'useblocks/sphinxcontrib-needs', + 'private': False, + 'owner': { + 'login': 'useblocks', + 'id': 998587, + 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/useblocks', + 'html_url': 'https://github.com/useblocks', + 'followers_url': 'https://api.github.com/users/useblocks/followers', + 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', + 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', + 'organizations_url': 'https://api.github.com/users/useblocks/orgs', + 'repos_url': 'https://api.github.com/users/useblocks/repos', + 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/useblocks/received_events', + 'type': 'Organization', + 'site_admin': False, + }, + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', + 'description': 'Adds needs/requirements to sphinx', + 'fork': False, + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', + 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', + 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', + 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/collaborators{/collaborator}', + 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', + 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', + 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{/number}', + 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', + 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', + 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', + 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', + 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', + 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', + 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', + 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', + 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', + 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', + 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', + 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', + 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', + 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', + 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', + 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits{/sha}', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', + 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/comments{/number}', + 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', + 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{head}', + 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', + 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{/ref}', + 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', + 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', + 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', + 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{/number}', + 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/notifications{?since,all,participating}', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', + 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', + 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments', + }, + 'score': 1.0, + }, + { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/e9e2da4fece4a053d1a033027f08356657d61d63', + 'sha': 'e9e2da4fece4a053d1a033027f08356657d61d63', + 'node_id': 'MDY6Q29tbWl0NzUyMjU5NDk6ZTllMmRhNGZlY2U0YTA1M2QxYTAzMzAyN2YwODM1NjY1N2Q2MWQ2Mw==', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/e9e2da4fece4a053d1a033027f08356657d61d63', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/e9e2da4fece4a053d1a033027f08356657d61d63/comments', + 'commit': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits/e9e2da4fece4a053d1a033027f08356657d61d63', + 'author': { + 'date': '2020-04-24T08:34:27.000+02:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'committer': { + 'date': '2020-04-24T08:36:31.000+02:00', + 'name': 'Daniel Woste', + 'email': 'daniel.woste@useblocks.com', + }, + 'message': 'Pin MarkupSafe installation to version <2 for Python<3.6', + 'tree': { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees/cb297c837987a8facf4c5208a24d66162d249dee', + 'sha': 'cb297c837987a8facf4c5208a24d66162d249dee', + }, + 'comment_count': 0, + }, + 'author': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'committer': { + 'login': 'danwos', + 'id': 998700, + 'node_id': 'MDQ6VXNlcjk5ODcwMA==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998700?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/danwos', + 'html_url': 'https://github.com/danwos', + 'followers_url': 'https://api.github.com/users/danwos/followers', + 'following_url': 'https://api.github.com/users/danwos/following{/other_user}', + 'gists_url': 'https://api.github.com/users/danwos/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/danwos/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/danwos/subscriptions', + 'organizations_url': 'https://api.github.com/users/danwos/orgs', + 'repos_url': 'https://api.github.com/users/danwos/repos', + 'events_url': 'https://api.github.com/users/danwos/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/danwos/received_events', + 'type': 'User', + 'site_admin': False, + }, + 'parents': [ + { + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits/add7f346e42921f779d2181b95ae2c7aea3d6546', + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs/commit/add7f346e42921f779d2181b95ae2c7aea3d6546', + 'sha': 'add7f346e42921f779d2181b95ae2c7aea3d6546', + } + ], + 'repository': { + 'id': 75225949, + 'node_id': 'MDEwOlJlcG9zaXRvcnk3NTIyNTk0OQ==', + 'name': 'sphinxcontrib-needs', + 'full_name': 'useblocks/sphinxcontrib-needs', + 'private': False, + 'owner': { + 'login': 'useblocks', + 'id': 998587, + 'node_id': 'MDEyOk9yZ2FuaXphdGlvbjk5ODU4Nw==', + 'avatar_url': 'https://avatars.githubusercontent.com/u/998587?v=4', + 'gravatar_id': '', + 'url': 'https://api.github.com/users/useblocks', + 'html_url': 'https://github.com/useblocks', + 'followers_url': 'https://api.github.com/users/useblocks/followers', + 'following_url': 'https://api.github.com/users/useblocks/following{/other_user}', + 'gists_url': 'https://api.github.com/users/useblocks/gists{/gist_id}', + 'starred_url': 'https://api.github.com/users/useblocks/starred{/owner}{/repo}', + 'subscriptions_url': 'https://api.github.com/users/useblocks/subscriptions', + 'organizations_url': 'https://api.github.com/users/useblocks/orgs', + 'repos_url': 'https://api.github.com/users/useblocks/repos', + 'events_url': 'https://api.github.com/users/useblocks/events{/privacy}', + 'received_events_url': 'https://api.github.com/users/useblocks/received_events', + 'type': 'Organization', + 'site_admin': False, + }, + 'html_url': 'https://github.com/useblocks/sphinxcontrib-needs', + 'description': 'Adds needs/requirements to sphinx', + 'fork': False, + 'url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs', + 'forks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/forks', + 'keys_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/keys{/key_id}', + 'collaborators_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/collaborators{/collaborator}', + 'teams_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/teams', + 'hooks_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/hooks', + 'issue_events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/events{/number}', + 'events_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/events', + 'assignees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/assignees{/user}', + 'branches_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/branches{/branch}', + 'tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/tags', + 'blobs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/blobs{/sha}', + 'git_tags_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/tags{/sha}', + 'git_refs_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/refs{/sha}', + 'trees_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/trees{/sha}', + 'statuses_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/statuses/{sha}', + 'languages_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/languages', + 'stargazers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/stargazers', + 'contributors_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contributors', + 'subscribers_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscribers', + 'subscription_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/subscription', + 'commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/commits{/sha}', + 'git_commits_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/git/commits{/sha}', + 'comments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/comments{/number}', + 'issue_comment_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues/comments{/number}', + 'contents_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/contents/{+path}', + 'compare_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/compare/{base}...{head}', + 'merges_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/merges', + 'archive_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/{archive_format}{/ref}', + 'downloads_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/downloads', + 'issues_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/issues{/number}', + 'pulls_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/pulls{/number}', + 'milestones_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/milestones{/number}', + 'notifications_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/notifications{?since,all,participating}', + 'labels_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/labels{/name}', + 'releases_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/releases{/id}', + 'deployments_url': 'https://api.github.com/repos/useblocks/sphinxcontrib-needs/deployments', + }, + 'score': 1.0, + }, + ], +} diff --git a/tests/test_broken_links.py b/tests/test_broken_links.py index 844661b35..3a0a66a32 100644 --- a/tests/test_broken_links.py +++ b/tests/test_broken_links.py @@ -13,7 +13,6 @@ def test_doc_build_html(app, status, warning): app.build() sys.stderr.flush() - out = sys.stderr.getvalue() try: # Need to put is inside a try except statement, as the tests throws following error using tox: # AttributeError: 'Tee' object has no attribute 'close' diff --git a/tox.ini b/tox.ini deleted file mode 100644 index c54f5c619..000000000 --- a/tox.ini +++ /dev/null @@ -1,33 +0,0 @@ -[tox] -envlist = py{35,37,38}-sphinx{22,23,24,30} - -[testenv] -passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH GITHUB_USERNAME GITHUB_TOKEN -deps= - -rtest-requirements.txt - sphinx22: Sphinx>=2.2,<2.3d - sphinx23: Sphinx>=2.3,<2.4 - sphinx24: Sphinx>=2.4,<2.5 - sphinx30: Sphinx>=3.0,<3.1 - - -commands= - nosetests -v --with-xunit --xunit-file={envlogdir}/nose-{envname}.xml -w tests {posargs} - -usedevelop=True - - -[testenv:flake8] -commands= - py.test --ignore=tests --flake8 --junitxml {envlogdir}/pytest-{envname}.xml - -usedevelop=True - - -[pytest] -flake8-max-line-length=120 -flake8-ignore= - *.py W605 W503 W504 - defaults.py - _build/* ALL - functions.py F401