From e02880c274f37a98fb019eed93cae43bb2d0ffd9 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sat, 13 Nov 2021 13:12:02 -0700 Subject: [PATCH 1/7] feat(ci): switch to pre-commit.ci for code quality code-quality.yaml / the `pre-commit` workflow are made a no-op to smooth the transition. --- .github/workflows/code-quality.yaml | 4 +--- .pre-commit-config.yaml | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/code-quality.yaml b/.github/workflows/code-quality.yaml index 86f4939283a..d4effbdf45c 100644 --- a/.github/workflows/code-quality.yaml +++ b/.github/workflows/code-quality.yaml @@ -16,6 +16,4 @@ jobs: name: Linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - - uses: pre-commit/action@v2.0.0 + - run: exit 0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c5fb1ffe8ec..5872c2b1d19 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,3 +39,6 @@ repos: - id: end-of-file-fixer exclude: ^tests/.*/fixtures/.* - id: debug-statements + +ci: + autofix_prs: false From 7e41f5397afb3687666b32d6b6e0094963d3da94 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sat, 13 Nov 2021 16:51:04 -0700 Subject: [PATCH 2/7] feat(ci): modernize pre-commit and mypy config --- .pre-commit-config.yaml | 66 ++++++++++++++++++++++------------------- mypy.ini | 49 ------------------------------ pyproject.toml | 64 +++++++++++++++++++++++++-------------- 3 files changed, 77 insertions(+), 102 deletions(-) delete mode 100644 mypy.ini diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5872c2b1d19..a8d779f1422 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,44 +1,50 @@ +ci: + autofix_prs: false + repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.0.1 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-merge-conflict + - id: check-case-conflict + - id: check-toml + - id: check-json + - id: pretty-format-json + args: [--autofix, --no-ensure-ascii, --no-sort-keys] + - id: check-ast + - id: debug-statements + + - repo: https://github.com/pre-commit/pygrep-hooks + rev: v1.9.0 + hooks: + - id: python-check-blanket-type-ignore + - id: python-check-mock-methods + + - repo: https://github.com/pycqa/isort + rev: 5.10.1 + hooks: + - id: isort + types: [python] # FIXME: pyi support that doesn't conflict with black + - repo: https://github.com/psf/black - rev: 20.8b1 + rev: 21.10b0 hooks: - id: black - - repo: https://gitlab.com/pycqa/flake8 - rev: 3.8.4 + - repo: https://github.com/pycqa/flake8 + rev: 4.0.1 hooks: - id: flake8 - additional_dependencies: [flake8-bugbear] + additional_dependencies: + - flake8-bugbear - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.910 + rev: v0.910-1 hooks: - id: mypy pass_filenames: false additional_dependencies: + - types-dataclasses - types-requests - args: - - poetry - - - repo: https://github.com/timothycrosley/isort - rev: 5.7.0 - hooks: - - id: isort - additional_dependencies: [toml] - exclude: ^.*/?setup\.py$ - - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.4.0 - hooks: - - id: trailing-whitespace - exclude: | - (?x)( - ^tests/.*/fixtures/.* - | ^tests/console/commands/debug/test_resolve.py - ) - - id: end-of-file-fixer - exclude: ^tests/.*/fixtures/.* - - id: debug-statements - -ci: - autofix_prs: false diff --git a/mypy.ini b/mypy.ini deleted file mode 100644 index 3a0a1634419..00000000000 --- a/mypy.ini +++ /dev/null @@ -1,49 +0,0 @@ -[mypy] -check_untyped_defs = True -ignore_errors = False -ignore_missing_imports = True -strict_optional = True -warn_unused_ignores = True -warn_redundant_casts = True -warn_unused_configs = True - -# The following whitelist is used to allow for incremental adoption -# of Mypy. Modules should be removed from this whitelist as and when -# their respective type errors have been addressed. No new modules -# should be added to this whitelist. -# see https://github.com/python-poetry/poetry/pull/4510. - -[mypy-poetry.config.file_config_source] -ignore_errors = True - -[mypy-poetry.console.*] -ignore_errors = True - -[mypy-poetry.factory.*] -ignore_errors = True - -[mypy-poetry.inspection.*] -ignore_errors = True - -[mypy-poetry.installation.*] -ignore_errors = True - -[mypy-poetry.layouts.*] -ignore_errors = True - -[mypy-poetry.mixology.*] -ignore_errors = True - -[mypy-poetry.packages.locker] -ignore_errors = True - -[mypy-poetry.puzzle.*] -ignore_errors = True - -[mypy-poetry.repositories.installed_repository] -ignore_errors = True - -[mypy-poetry.utils.*] -ignore_errors = True - -# end of whitelist diff --git a/pyproject.toml b/pyproject.toml index de842a2fc4d..48973ec32f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,38 +72,56 @@ build-backend = "poetry.core.masonry.api" [tool.isort] +py_version = 36 profile = "black" force_single_line = true -atomic = true -include_trailing_comma = true -lines_after_imports = 2 +combine_as_imports = true lines_between_types = 1 -use_parentheses = true +lines_after_imports = 2 src_paths = ["poetry", "tests"] -skip_glob = ["*/setup.py"] -filter_files = true -known_first_party = "poetry" +extend_skip = ["setup.py"] [tool.black] -line-length = 88 -include = '\.pyi?$' -exclude = ''' -/( - \.eggs - | \.git - | \.hg - | \.mypy_cache - | \.tox - | \.venv - | _build - | buck-out - | build - | dist - | tests/.*/setup.py -)/ +target-version = ['py36'] +force-exclude = ''' +.*/setup\.py$ ''' + +[tool.mypy] +python_version = "3.6" +check_untyped_defs = true +ignore_missing_imports = true +warn_redundant_casts = true +warn_unused_configs = true +warn_unused_ignores = true +files = "poetry" + +# The following whitelist is used to allow for incremental adoption +# of Mypy. Modules should be removed from this whitelist as and when +# their respective type errors have been addressed. No new modules +# should be added to this whitelist. +# see https://github.com/python-poetry/poetry/pull/4510. + +[[tool.mypy.overrides]] +module = [ + 'poetry.poetry', + 'poetry.config.file_config_source', + 'poetry.console.*', + 'poetry.factory.*', + 'poetry.inspection.*', + 'poetry.installation.*', + 'poetry.layouts.*', + 'poetry.mixology.*', + 'poetry.packages.locker', + 'poetry.puzzle.*', + 'poetry.repositories.installed_repository', + 'poetry.utils.*' +] +ignore_errors = true + + [tool.coverage.report] exclude_lines = [ "pragma: no cover", From bb064409b7938016ee9dccb5bbe98fccd36549b0 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sat, 13 Nov 2021 16:51:37 -0700 Subject: [PATCH 3/7] fix: use pyi coding style for pyi files --- .../builders/fixtures/pep_561_stub_only/pkg-stubs/module.pyi | 1 - .../fixtures/pep_561_stub_only_partial/pkg-stubs/module.pyi | 1 - .../fixtures/pep_561_stub_only_src/src/pkg-stubs/module.pyi | 1 - 3 files changed, 3 deletions(-) diff --git a/tests/masonry/builders/fixtures/pep_561_stub_only/pkg-stubs/module.pyi b/tests/masonry/builders/fixtures/pep_561_stub_only/pkg-stubs/module.pyi index f85a07d465a..d79e6e39ee0 100644 --- a/tests/masonry/builders/fixtures/pep_561_stub_only/pkg-stubs/module.pyi +++ b/tests/masonry/builders/fixtures/pep_561_stub_only/pkg-stubs/module.pyi @@ -1,5 +1,4 @@ """Example module""" from typing import Tuple - version_info = Tuple[int, int, int] diff --git a/tests/masonry/builders/fixtures/pep_561_stub_only_partial/pkg-stubs/module.pyi b/tests/masonry/builders/fixtures/pep_561_stub_only_partial/pkg-stubs/module.pyi index f85a07d465a..d79e6e39ee0 100644 --- a/tests/masonry/builders/fixtures/pep_561_stub_only_partial/pkg-stubs/module.pyi +++ b/tests/masonry/builders/fixtures/pep_561_stub_only_partial/pkg-stubs/module.pyi @@ -1,5 +1,4 @@ """Example module""" from typing import Tuple - version_info = Tuple[int, int, int] diff --git a/tests/masonry/builders/fixtures/pep_561_stub_only_src/src/pkg-stubs/module.pyi b/tests/masonry/builders/fixtures/pep_561_stub_only_src/src/pkg-stubs/module.pyi index f85a07d465a..d79e6e39ee0 100644 --- a/tests/masonry/builders/fixtures/pep_561_stub_only_src/src/pkg-stubs/module.pyi +++ b/tests/masonry/builders/fixtures/pep_561_stub_only_src/src/pkg-stubs/module.pyi @@ -1,5 +1,4 @@ """Example module""" from typing import Tuple - version_info = Tuple[int, int, int] From 837a4970e2b5b6c119607516bc13a61ca10f59f2 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sat, 13 Nov 2021 16:52:04 -0700 Subject: [PATCH 4/7] fix: resolve minor import inconsistency with modern isort --- poetry/config/source.py | 4 ++-- tests/console/commands/source/test_add.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/poetry/config/source.py b/poetry/config/source.py index 3735b193dfa..06bbfcd234f 100644 --- a/poetry/config/source.py +++ b/poetry/config/source.py @@ -1,8 +1,8 @@ -import dataclasses - from typing import Dict from typing import Union +import dataclasses + @dataclasses.dataclass(order=True, eq=True) class Source: diff --git a/tests/console/commands/source/test_add.py b/tests/console/commands/source/test_add.py index 97a407918dd..3794a7ac35c 100644 --- a/tests/console/commands/source/test_add.py +++ b/tests/console/commands/source/test_add.py @@ -1,5 +1,4 @@ import dataclasses - import pytest From 716e3d0d698c8363678c533405f46b6f7f91f0d2 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sun, 14 Nov 2021 12:31:46 -0700 Subject: [PATCH 5/7] fix: format json files in repo --- poetry/json/schemas/poetry-schema.json | 1011 +++++++++-------- .../fixtures/pypi.org/json/attrs.json | 258 ++--- .../fixtures/pypi.org/json/attrs/17.4.0.json | 258 ++--- .../fixtures/pypi.org/json/black.json | 2 +- .../fixtures/pypi.org/json/colorama.json | 226 ++-- .../pypi.org/json/colorama/0.3.9.json | 226 ++-- .../fixtures/pypi.org/json/funcsigs.json | 224 ++-- .../pypi.org/json/funcsigs/1.0.2.json | 224 ++-- .../fixtures/pypi.org/json/isort.json | 306 ++--- .../fixtures/pypi.org/json/jupyter.json | 298 ++--- .../pypi.org/json/more-itertools.json | 284 ++--- .../pypi.org/json/more-itertools/4.1.0.json | 284 ++--- .../fixtures/pypi.org/json/pluggy.json | 166 +-- .../fixtures/pypi.org/json/pluggy/0.6.0.json | 166 +-- .../fixtures/pypi.org/json/py.json | 230 ++-- .../fixtures/pypi.org/json/py/1.5.3.json | 230 ++-- .../pypi.org/json/pygame-music-grid.json | 150 ++- .../fixtures/pypi.org/json/pytest.json | 244 ++-- .../fixtures/pypi.org/json/pytest/3.5.0.json | 244 ++-- .../fixtures/pypi.org/json/setuptools.json | 172 +-- .../fixtures/pypi.org/json/six.json | 206 ++-- .../fixtures/pypi.org/json/six/1.11.0.json | 206 ++-- 22 files changed, 2810 insertions(+), 2805 deletions(-) diff --git a/poetry/json/schemas/poetry-schema.json b/poetry/json/schemas/poetry-schema.json index 41966e9e1c2..fe916f1e04e 100644 --- a/poetry/json/schemas/poetry-schema.json +++ b/poetry/json/schemas/poetry-schema.json @@ -1,530 +1,537 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - "name": "Package", - "type": "object", - "additionalProperties": false, - "required": [ - "name", - "version", - "description" - ], - "properties": { - "name": { - "type": "string", - "description": "Package name." - }, - "version": { + "$schema": "http://json-schema.org/draft-04/schema#", + "name": "Package", + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "version", + "description" + ], + "properties": { + "name": { + "type": "string", + "description": "Package name." + }, + "version": { + "type": "string", + "description": "Package version." + }, + "description": { + "type": "string", + "description": "Short package description." + }, + "keywords": { + "type": "array", + "items": { + "type": "string", + "description": "A tag/keyword that this package relates to." + } + }, + "homepage": { + "type": "string", + "description": "Homepage URL for the project.", + "format": "uri" + }, + "repository": { + "type": "string", + "description": "Repository URL for the project.", + "format": "uri" + }, + "documentation": { + "type": "string", + "description": "Documentation URL for the project.", + "format": "uri" + }, + "license": { + "type": "string", + "description": "License name." + }, + "authors": { + "$ref": "#/definitions/authors" + }, + "maintainers": { + "$ref": "#/definitions/maintainers" + }, + "readme": { + "type": "string", + "description": "The path to the README file" + }, + "classifiers": { + "type": "array", + "description": "A list of trove classifiers." + }, + "packages": { + "type": "array", + "description": "A list of packages to include in the final distribution.", + "items": { + "type": "object", + "description": "Information about where the package resides.", + "additionalProperties": false, + "required": [ + "include" + ], + "properties": { + "include": { "type": "string", - "description": "Package version." - }, - "description": { + "description": "What to include in the package." + }, + "from": { "type": "string", - "description": "Short package description." - }, - "keywords": { - "type": "array", - "items": { - "type": "string", - "description": "A tag/keyword that this package relates to." + "description": "Where the source directory of the package resides." + }, + "format": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ], + "description": "The format(s) for which the package must be included." + } + } + } + }, + "include": { + "type": "array", + "description": "A list of files and folders to include." + }, + "exclude": { + "type": "array", + "description": "A list of files and folders to exclude." + }, + "dependencies": { + "type": "object", + "description": "This is a hash of package name (keys) and version constraints (values) that are required to run this package.", + "required": [ + "python" + ], + "properties": { + "python": { + "type": "string", + "description": "The Python versions the package is compatible with." + } + }, + "$ref": "#/definitions/dependencies", + "additionalProperties": false + }, + "dev-dependencies": { + "type": "object", + "description": "This is a hash of package name (keys) and version constraints (values) that this package requires for developing it (testing tools and such).", + "$ref": "#/definitions/dependencies", + "additionalProperties": false + }, + "extras": { + "type": "object", + "patternProperties": { + "^[a-zA-Z-_.0-9]+$": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "build": { + "type": "string", + "description": "The file used to build extensions." + }, + "source": { + "type": "array", + "description": "A set of additional repositories where packages can be found.", + "additionalProperties": { + "$ref": "#/definitions/repository" + }, + "items": { + "$ref": "#/definitions/repository" + } + }, + "scripts": { + "type": "object", + "description": "A hash of scripts to be installed.", + "items": { + "type": "string" + } + }, + "plugins": { + "type": "object", + "description": "A hash of hashes representing plugins", + "patternProperties": { + "^[a-zA-Z-_.0-9]+$": { + "type": "object", + "patternProperties": { + "^[a-zA-Z-_.0-9]+$": { + "type": "string" } + } + } + } + }, + "urls": { + "type": "object", + "patternProperties": { + "^.+$": { + "type": "string", + "description": "The full url of the custom url." + } + } + } + }, + "definitions": { + "authors": { + "type": "array", + "description": "List of authors that contributed to the package. This is typically the main maintainers, not the full list.", + "items": { + "type": "string" + } + }, + "maintainers": { + "type": "array", + "description": "List of maintainers, other than the original author(s), that upkeep the package.", + "items": { + "type": "string" + } + }, + "dependencies": { + "type": "object", + "patternProperties": { + "^[a-zA-Z-_.0-9]+$": { + "oneOf": [ + { + "$ref": "#/definitions/dependency" + }, + { + "$ref": "#/definitions/long-dependency" + }, + { + "$ref": "#/definitions/git-dependency" + }, + { + "$ref": "#/definitions/file-dependency" + }, + { + "$ref": "#/definitions/path-dependency" + }, + { + "$ref": "#/definitions/url-dependency" + }, + { + "$ref": "#/definitions/multiple-constraints-dependency" + } + ] + } + } + }, + "dependency": { + "type": "string", + "description": "The constraint of the dependency." + }, + "long-dependency": { + "type": "object", + "required": [ + "version" + ], + "additionalProperties": false, + "properties": { + "version": { + "type": "string", + "description": "The constraint of the dependency." }, - "homepage": { - "type": "string", - "description": "Homepage URL for the project.", - "format": "uri" - }, - "repository": { - "type": "string", - "description": "Repository URL for the project.", - "format": "uri" - }, - "documentation": { - "type": "string", - "description": "Documentation URL for the project.", - "format": "uri" - }, - "license": { - "type": "string", - "description": "License name." - }, - "authors": { - "$ref": "#/definitions/authors" - }, - "maintainers": { - "$ref": "#/definitions/maintainers" + "python": { + "type": "string", + "description": "The python versions for which the dependency should be installed." }, - "readme": { - "type": "string", - "description": "The path to the README file" - }, - "classifiers": { - "type": "array", - "description": "A list of trove classifiers." - }, - "packages": { - "type": "array", - "description": "A list of packages to include in the final distribution.", - "items": { - "type": "object", - "description": "Information about where the package resides.", - "additionalProperties": false, - "required": [ - "include" - ], - "properties": { - "include": { - "type": "string", - "description": "What to include in the package." - }, - "from": { - "type": "string", - "description": "Where the source directory of the package resides." - }, - "format": { - "oneOf": [ - {"type": "string"}, - {"type": "array", "items": {"type": "string"}} - ], - "description": "The format(s) for which the package must be included." - } - } - } + "platform": { + "type": "string", + "description": "The platform(s) for which the dependency should be installed." }, - "include": { - "type": "array", - "description": "A list of files and folders to include." + "markers": { + "type": "string", + "description": "The PEP 508 compliant environment markers for which the dependency should be installed." }, - "exclude": { - "type": "array", - "description": "A list of files and folders to exclude." + "allow-prereleases": { + "type": "boolean", + "description": "Whether the dependency allows prereleases or not." }, - "dependencies": { - "type": "object", - "description": "This is a hash of package name (keys) and version constraints (values) that are required to run this package.", - "required": [ - "python" - ], - "properties": { - "python": { - "type": "string", - "description": "The Python versions the package is compatible with." - } - }, - "$ref": "#/definitions/dependencies", - "additionalProperties": false + "allows-prereleases": { + "type": "boolean", + "description": "Whether the dependency allows prereleases or not." }, - "dev-dependencies": { - "type": "object", - "description": "This is a hash of package name (keys) and version constraints (values) that this package requires for developing it (testing tools and such).", - "$ref": "#/definitions/dependencies", - "additionalProperties": false + "optional": { + "type": "boolean", + "description": "Whether the dependency is optional or not." }, "extras": { - "type": "object", - "patternProperties": { - "^[a-zA-Z-_.0-9]+$": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "build": { - "type": "string", - "description": "The file used to build extensions." + "type": "array", + "description": "The required extras for this dependency.", + "items": { + "type": "string" + } }, "source": { - "type": "array", - "description": "A set of additional repositories where packages can be found.", - "additionalProperties": { - "$ref": "#/definitions/repository" - }, - "items": { - "$ref": "#/definitions/repository" - } - }, - "scripts": { - "type": "object", - "description": "A hash of scripts to be installed.", - "items": { - "type": "string" - } - }, - "plugins": { - "type": "object", - "description": "A hash of hashes representing plugins", - "patternProperties": { - "^[a-zA-Z-_.0-9]+$": { - "type": "object", - "patternProperties": { - "^[a-zA-Z-_.0-9]+$": { - "type": "string" - } - } - } - } - }, - "urls": { - "type": "object", - "patternProperties": { - "^.+$": { - "type": "string", - "description": "The full url of the custom url." - } - } + "type": "string", + "description": "The exclusive source used to search for this dependency." } + } }, - "definitions": { - "authors": { - "type": "array", - "description": "List of authors that contributed to the package. This is typically the main maintainers, not the full list.", - "items": { - "type": "string" - } - }, - "maintainers": { - "type": "array", - "description": "List of maintainers, other than the original author(s), that upkeep the package.", - "items": { - "type": "string" - } + "git-dependency": { + "type": "object", + "required": [ + "git" + ], + "additionalProperties": false, + "properties": { + "git": { + "type": "string", + "description": "The url of the git repository.", + "format": "uri" + }, + "branch": { + "type": "string", + "description": "The branch to checkout." + }, + "tag": { + "type": "string", + "description": "The tag to checkout." + }, + "rev": { + "type": "string", + "description": "The revision to checkout." + }, + "python": { + "type": "string", + "description": "The python versions for which the dependency should be installed." + }, + "platform": { + "type": "string", + "description": "The platform(s) for which the dependency should be installed." + }, + "markers": { + "type": "string", + "description": "The PEP 508 compliant environment markers for which the dependency should be installed." + }, + "allow-prereleases": { + "type": "boolean", + "description": "Whether the dependency allows prereleases or not." + }, + "allows-prereleases": { + "type": "boolean", + "description": "Whether the dependency allows prereleases or not." + }, + "optional": { + "type": "boolean", + "description": "Whether the dependency is optional or not." }, - "dependencies": { - "type": "object", - "patternProperties": { - "^[a-zA-Z-_.0-9]+$": { - "oneOf": [ - { - "$ref": "#/definitions/dependency" - }, - { - "$ref": "#/definitions/long-dependency" - }, - { - "$ref": "#/definitions/git-dependency" - }, - { - "$ref": "#/definitions/file-dependency" - }, - { - "$ref": "#/definitions/path-dependency" - }, - { - "$ref": "#/definitions/url-dependency" - }, - { - "$ref": "#/definitions/multiple-constraints-dependency" - } - ] - } - } - }, - "dependency": { - "type": "string", - "description": "The constraint of the dependency." - }, - "long-dependency": { - "type": "object", - "required": [ - "version" - ], - "additionalProperties": false, - "properties": { - "version": { - "type": "string", - "description": "The constraint of the dependency." - }, - "python": { - "type": "string", - "description": "The python versions for which the dependency should be installed." - }, - "platform": { - "type": "string", - "description": "The platform(s) for which the dependency should be installed." - }, - "markers": { - "type": "string", - "description": "The PEP 508 compliant environment markers for which the dependency should be installed." - }, - "allow-prereleases": { - "type": "boolean", - "description": "Whether the dependency allows prereleases or not." - }, - "allows-prereleases": { - "type": "boolean", - "description": "Whether the dependency allows prereleases or not." - }, - "optional": { - "type": "boolean", - "description": "Whether the dependency is optional or not." - }, - "extras": { - "type": "array", - "description": "The required extras for this dependency.", - "items": { - "type": "string" - } - }, - "source": { - "type": "string", - "description": "The exclusive source used to search for this dependency." - } - } - }, - "git-dependency": { - "type": "object", - "required": [ - "git" - ], - "additionalProperties": false, - "properties": { - "git": { - "type": "string", - "description": "The url of the git repository.", - "format": "uri" - }, - "branch": { - "type": "string", - "description": "The branch to checkout." - }, - "tag": { - "type": "string", - "description": "The tag to checkout." - }, - "rev": { - "type": "string", - "description": "The revision to checkout." - }, - "python": { - "type": "string", - "description": "The python versions for which the dependency should be installed." - }, - "platform": { - "type": "string", - "description": "The platform(s) for which the dependency should be installed." - }, - "markers": { - "type": "string", - "description": "The PEP 508 compliant environment markers for which the dependency should be installed." - }, - "allow-prereleases": { - "type": "boolean", - "description": "Whether the dependency allows prereleases or not." - }, - "allows-prereleases": { - "type": "boolean", - "description": "Whether the dependency allows prereleases or not." - }, - "optional": { - "type": "boolean", - "description": "Whether the dependency is optional or not." - }, - "extras": { - "type": "array", - "description": "The required extras for this dependency.", - "items": { - "type": "string" - } - } - } + "extras": { + "type": "array", + "description": "The required extras for this dependency.", + "items": { + "type": "string" + } + } + } + }, + "file-dependency": { + "type": "object", + "required": [ + "file" + ], + "additionalProperties": false, + "properties": { + "file": { + "type": "string", + "description": "The path to the file." + }, + "python": { + "type": "string", + "description": "The python versions for which the dependency should be installed." + }, + "platform": { + "type": "string", + "description": "The platform(s) for which the dependency should be installed." + }, + "markers": { + "type": "string", + "description": "The PEP 508 compliant environment markers for which the dependency should be installed." + }, + "optional": { + "type": "boolean", + "description": "Whether the dependency is optional or not." }, - "file-dependency": { - "type": "object", - "required": [ - "file" - ], - "additionalProperties": false, - "properties": { - "file": { - "type": "string", - "description": "The path to the file." - }, - "python": { - "type": "string", - "description": "The python versions for which the dependency should be installed." - }, - "platform": { - "type": "string", - "description": "The platform(s) for which the dependency should be installed." - }, - "markers": { - "type": "string", - "description": "The PEP 508 compliant environment markers for which the dependency should be installed." - }, - "optional": { - "type": "boolean", - "description": "Whether the dependency is optional or not." - }, - "extras": { - "type": "array", - "description": "The required extras for this dependency.", - "items": { - "type": "string" - } - } - } + "extras": { + "type": "array", + "description": "The required extras for this dependency.", + "items": { + "type": "string" + } + } + } + }, + "path-dependency": { + "type": "object", + "required": [ + "path" + ], + "additionalProperties": false, + "properties": { + "path": { + "type": "string", + "description": "The path to the dependency." + }, + "python": { + "type": "string", + "description": "The python versions for which the dependency should be installed." + }, + "platform": { + "type": "string", + "description": "The platform(s) for which the dependency should be installed." + }, + "markers": { + "type": "string", + "description": "The PEP 508 compliant environment markers for which the dependency should be installed." + }, + "optional": { + "type": "boolean", + "description": "Whether the dependency is optional or not." }, - "path-dependency": { - "type": "object", - "required": [ - "path" - ], - "additionalProperties": false, - "properties": { - "path": { - "type": "string", - "description": "The path to the dependency." - }, - "python": { - "type": "string", - "description": "The python versions for which the dependency should be installed." - }, - "platform": { - "type": "string", - "description": "The platform(s) for which the dependency should be installed." - }, - "markers": { - "type": "string", - "description": "The PEP 508 compliant environment markers for which the dependency should be installed." - }, - "optional": { - "type": "boolean", - "description": "Whether the dependency is optional or not." - }, - "extras": { - "type": "array", - "description": "The required extras for this dependency.", - "items": { - "type": "string" - } - }, - "develop": { - "type": "boolean", - "description": "Whether to install the dependency in development mode." - } - } + "extras": { + "type": "array", + "description": "The required extras for this dependency.", + "items": { + "type": "string" + } + }, + "develop": { + "type": "boolean", + "description": "Whether to install the dependency in development mode." + } + } + }, + "url-dependency": { + "type": "object", + "required": [ + "url" + ], + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "description": "The url to the file." + }, + "python": { + "type": "string", + "description": "The python versions for which the dependency should be installed." + }, + "platform": { + "type": "string", + "description": "The platform(s) for which the dependency should be installed." + }, + "markers": { + "type": "string", + "description": "The PEP 508 compliant environment markers for which the dependency should be installed." + }, + "optional": { + "type": "boolean", + "description": "Whether the dependency is optional or not." }, - "url-dependency": { - "type": "object", - "required": [ - "url" - ], - "additionalProperties": false, - "properties": { - "url": { - "type": "string", - "description": "The url to the file." - }, - "python": { - "type": "string", - "description": "The python versions for which the dependency should be installed." - }, - "platform": { - "type": "string", - "description": "The platform(s) for which the dependency should be installed." - }, - "markers": { - "type": "string", - "description": "The PEP 508 compliant environment markers for which the dependency should be installed." - }, - "optional": { - "type": "boolean", - "description": "Whether the dependency is optional or not." - }, - "extras": { - "type": "array", - "description": "The required extras for this dependency.", - "items": { - "type": "string" - } - } + "extras": { + "type": "array", + "description": "The required extras for this dependency.", + "items": { + "type": "string" + } + } + } + }, + "multiple-constraints-dependency": { + "type": "array", + "minItems": 1, + "items": { + "oneOf": [ + { + "$ref": "#/definitions/dependency" + }, + { + "$ref": "#/definitions/long-dependency" + }, + { + "$ref": "#/definitions/git-dependency" + }, + { + "$ref": "#/definitions/file-dependency" + }, + { + "$ref": "#/definitions/path-dependency" + }, + { + "$ref": "#/definitions/url-dependency" + } + ] + } + }, + "scripts": { + "type": "object", + "patternProperties": { + "^[a-zA-Z-_.0-9]+$": { + "oneOf": [ + { + "$ref": "#/definitions/script" + }, + { + "$ref": "#/definitions/extra-script" } + ] + } + } + }, + "script": { + "type": "string", + "description": "A simple script pointing to a callable object." + }, + "extra-script": { + "type": "object", + "description": "A script that should be installed only if extras are activated.", + "additionalProperties": false, + "properties": { + "callable": { + "$ref": "#/definitions/script" }, - "multiple-constraints-dependency": { - "type": "array", - "minItems": 1, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/dependency" - }, - { - "$ref": "#/definitions/long-dependency" - }, - { - "$ref": "#/definitions/git-dependency" - }, - { - "$ref": "#/definitions/file-dependency" - }, - { - "$ref": "#/definitions/path-dependency" - }, - { - "$ref": "#/definitions/url-dependency" - } - ] - } + "extras": { + "type": "array", + "description": "The required extras for this script.", + "items": { + "type": "string" + } + } + } + }, + "repository": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string", + "description": "The name of the repository" }, - "scripts": { - "type": "object", - "patternProperties": { - "^[a-zA-Z-_.0-9]+$": { - "oneOf": [ - { - "$ref": "#/definitions/script" - }, - { - "$ref": "#/definitions/extra-script" - } - ] - } - } + "url": { + "type": "string", + "description": "The url of the repository", + "format": "uri" }, - "script": { - "type": "string", - "description": "A simple script pointing to a callable object." - }, - "extra-script": { - "type": "object", - "description": "A script that should be installed only if extras are activated.", - "additionalProperties": false, - "properties": { - "callable": { - "$ref": "#/definitions/script" - }, - "extras": { - "type": "array", - "description": "The required extras for this script.", - "items": { - "type": "string" - } - } - } + "default": { + "type": "boolean", + "description": "Make this repository the default (disable PyPI)" }, - "repository": { - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "type": "string", - "description": "The name of the repository" - }, - "url": { - "type": "string", - "description": "The url of the repository", - "format": "uri" - }, - "default": { - "type": "boolean", - "description": "Make this repository the default (disable PyPI)" - }, - "secondary": { - "type": "boolean", - "description": "Declare this repository as secondary, i.e. it will only be looked up last for packages." - } - } + "secondary": { + "type": "boolean", + "description": "Declare this repository as secondary, i.e. it will only be looked up last for packages." } + } } + } } diff --git a/tests/repositories/fixtures/pypi.org/json/attrs.json b/tests/repositories/fixtures/pypi.org/json/attrs.json index 739fdc3228d..1242aa45a70 100644 --- a/tests/repositories/fixtures/pypi.org/json/attrs.json +++ b/tests/repositories/fixtures/pypi.org/json/attrs.json @@ -1,134 +1,134 @@ { - "info": { - "author": "Hynek Schlawack", - "author_email": "hs@ox.cx", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries :: Python Modules" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://www.attrs.org/", - "keywords": "class,attribute,boilerplate", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "attrs", - "package_url": "https://pypi.org/project/attrs/", - "platform": "", - "project_url": "https://pypi.org/project/attrs/", - "release_url": "https://pypi.org/project/attrs/17.4.0/", - "requires_dist": [ - "coverage; extra == 'dev'", - "hypothesis; extra == 'dev'", - "pympler; extra == 'dev'", - "pytest; extra == 'dev'", - "six; extra == 'dev'", - "zope.interface; extra == 'dev'", - "sphinx; extra == 'dev'", - "zope.interface; extra == 'dev'", - "sphinx; extra == 'docs'", - "zope.interface; extra == 'docs'", - "coverage; extra == 'tests'", - "hypothesis; extra == 'tests'", - "pympler; extra == 'tests'", - "pytest; extra == 'tests'", - "six; extra == 'tests'", - "zope.interface; extra == 'tests'" - ], - "requires_python": "", - "summary": "Classes Without Boilerplate", - "version": "17.4.0" - }, - "last_serial": 3451237, - "releases": { - "17.4.0": [ - { - "comment_text": "", - "digests": { - "md5": "5835a573b3f0316e1602dac3fd9c1daf", - "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" - }, - "downloads": -1, - "filename": "attrs-17.4.0-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 31658, - "upload_time": "2017-12-30T08:20:05", - "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "d7a89063b2e0fd36bd82389c4d82821d", - "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" - }, - "downloads": -1, - "filename": "attrs-17.4.0.tar.gz", - "has_sig": true, - "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", - "packagetype": "sdist", - "python_version": "source", - "size": 97071, - "upload_time": "2017-12-30T08:20:08", - "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" - } - ] + "info": { + "author": "Hynek Schlawack", + "author_email": "hs@ox.cx", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "5835a573b3f0316e1602dac3fd9c1daf", - "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" - }, - "downloads": -1, - "filename": "attrs-17.4.0-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 31658, - "upload_time": "2017-12-30T08:20:05", - "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + "home_page": "http://www.attrs.org/", + "keywords": "class,attribute,boilerplate", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "attrs", + "package_url": "https://pypi.org/project/attrs/", + "platform": "", + "project_url": "https://pypi.org/project/attrs/", + "release_url": "https://pypi.org/project/attrs/17.4.0/", + "requires_dist": [ + "coverage; extra == 'dev'", + "hypothesis; extra == 'dev'", + "pympler; extra == 'dev'", + "pytest; extra == 'dev'", + "six; extra == 'dev'", + "zope.interface; extra == 'dev'", + "sphinx; extra == 'dev'", + "zope.interface; extra == 'dev'", + "sphinx; extra == 'docs'", + "zope.interface; extra == 'docs'", + "coverage; extra == 'tests'", + "hypothesis; extra == 'tests'", + "pympler; extra == 'tests'", + "pytest; extra == 'tests'", + "six; extra == 'tests'", + "zope.interface; extra == 'tests'" + ], + "requires_python": "", + "summary": "Classes Without Boilerplate", + "version": "17.4.0" + }, + "last_serial": 3451237, + "releases": { + "17.4.0": [ + { + "comment_text": "", + "digests": { + "md5": "5835a573b3f0316e1602dac3fd9c1daf", + "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" }, - { - "comment_text": "", - "digests": { - "md5": "d7a89063b2e0fd36bd82389c4d82821d", - "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" - }, - "downloads": -1, - "filename": "attrs-17.4.0.tar.gz", - "has_sig": true, - "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", - "packagetype": "sdist", - "python_version": "source", - "size": 97071, - "upload_time": "2017-12-30T08:20:08", - "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" - } + "downloads": -1, + "filename": "attrs-17.4.0-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 31658, + "upload_time": "2017-12-30T08:20:05", + "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d7a89063b2e0fd36bd82389c4d82821d", + "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" + }, + "downloads": -1, + "filename": "attrs-17.4.0.tar.gz", + "has_sig": true, + "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", + "packagetype": "sdist", + "python_version": "source", + "size": 97071, + "upload_time": "2017-12-30T08:20:08", + "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "5835a573b3f0316e1602dac3fd9c1daf", + "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" + }, + "downloads": -1, + "filename": "attrs-17.4.0-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 31658, + "upload_time": "2017-12-30T08:20:05", + "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d7a89063b2e0fd36bd82389c4d82821d", + "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" + }, + "downloads": -1, + "filename": "attrs-17.4.0.tar.gz", + "has_sig": true, + "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", + "packagetype": "sdist", + "python_version": "source", + "size": 97071, + "upload_time": "2017-12-30T08:20:08", + "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json b/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json index 739fdc3228d..1242aa45a70 100644 --- a/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json +++ b/tests/repositories/fixtures/pypi.org/json/attrs/17.4.0.json @@ -1,134 +1,134 @@ { - "info": { - "author": "Hynek Schlawack", - "author_email": "hs@ox.cx", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries :: Python Modules" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://www.attrs.org/", - "keywords": "class,attribute,boilerplate", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "attrs", - "package_url": "https://pypi.org/project/attrs/", - "platform": "", - "project_url": "https://pypi.org/project/attrs/", - "release_url": "https://pypi.org/project/attrs/17.4.0/", - "requires_dist": [ - "coverage; extra == 'dev'", - "hypothesis; extra == 'dev'", - "pympler; extra == 'dev'", - "pytest; extra == 'dev'", - "six; extra == 'dev'", - "zope.interface; extra == 'dev'", - "sphinx; extra == 'dev'", - "zope.interface; extra == 'dev'", - "sphinx; extra == 'docs'", - "zope.interface; extra == 'docs'", - "coverage; extra == 'tests'", - "hypothesis; extra == 'tests'", - "pympler; extra == 'tests'", - "pytest; extra == 'tests'", - "six; extra == 'tests'", - "zope.interface; extra == 'tests'" - ], - "requires_python": "", - "summary": "Classes Without Boilerplate", - "version": "17.4.0" - }, - "last_serial": 3451237, - "releases": { - "17.4.0": [ - { - "comment_text": "", - "digests": { - "md5": "5835a573b3f0316e1602dac3fd9c1daf", - "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" - }, - "downloads": -1, - "filename": "attrs-17.4.0-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 31658, - "upload_time": "2017-12-30T08:20:05", - "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "d7a89063b2e0fd36bd82389c4d82821d", - "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" - }, - "downloads": -1, - "filename": "attrs-17.4.0.tar.gz", - "has_sig": true, - "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", - "packagetype": "sdist", - "python_version": "source", - "size": 97071, - "upload_time": "2017-12-30T08:20:08", - "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" - } - ] + "info": { + "author": "Hynek Schlawack", + "author_email": "hs@ox.cx", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "5835a573b3f0316e1602dac3fd9c1daf", - "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" - }, - "downloads": -1, - "filename": "attrs-17.4.0-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 31658, - "upload_time": "2017-12-30T08:20:05", - "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + "home_page": "http://www.attrs.org/", + "keywords": "class,attribute,boilerplate", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "attrs", + "package_url": "https://pypi.org/project/attrs/", + "platform": "", + "project_url": "https://pypi.org/project/attrs/", + "release_url": "https://pypi.org/project/attrs/17.4.0/", + "requires_dist": [ + "coverage; extra == 'dev'", + "hypothesis; extra == 'dev'", + "pympler; extra == 'dev'", + "pytest; extra == 'dev'", + "six; extra == 'dev'", + "zope.interface; extra == 'dev'", + "sphinx; extra == 'dev'", + "zope.interface; extra == 'dev'", + "sphinx; extra == 'docs'", + "zope.interface; extra == 'docs'", + "coverage; extra == 'tests'", + "hypothesis; extra == 'tests'", + "pympler; extra == 'tests'", + "pytest; extra == 'tests'", + "six; extra == 'tests'", + "zope.interface; extra == 'tests'" + ], + "requires_python": "", + "summary": "Classes Without Boilerplate", + "version": "17.4.0" + }, + "last_serial": 3451237, + "releases": { + "17.4.0": [ + { + "comment_text": "", + "digests": { + "md5": "5835a573b3f0316e1602dac3fd9c1daf", + "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" }, - { - "comment_text": "", - "digests": { - "md5": "d7a89063b2e0fd36bd82389c4d82821d", - "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" - }, - "downloads": -1, - "filename": "attrs-17.4.0.tar.gz", - "has_sig": true, - "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", - "packagetype": "sdist", - "python_version": "source", - "size": 97071, - "upload_time": "2017-12-30T08:20:08", - "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" - } + "downloads": -1, + "filename": "attrs-17.4.0-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 31658, + "upload_time": "2017-12-30T08:20:05", + "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d7a89063b2e0fd36bd82389c4d82821d", + "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" + }, + "downloads": -1, + "filename": "attrs-17.4.0.tar.gz", + "has_sig": true, + "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", + "packagetype": "sdist", + "python_version": "source", + "size": 97071, + "upload_time": "2017-12-30T08:20:08", + "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "5835a573b3f0316e1602dac3fd9c1daf", + "sha256": "a17a9573a6f475c99b551c0e0a812707ddda1ec9653bed04c13841404ed6f450" + }, + "downloads": -1, + "filename": "attrs-17.4.0-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "5835a573b3f0316e1602dac3fd9c1daf", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 31658, + "upload_time": "2017-12-30T08:20:05", + "url": "https://files.pythonhosted.org/packages/b5/60/4e178c1e790fd60f1229a9b3cb2f8bc2f4cc6ff2c8838054c142c70b5adc/attrs-17.4.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d7a89063b2e0fd36bd82389c4d82821d", + "sha256": "1c7960ccfd6a005cd9f7ba884e6316b5e430a3f1a6c37c5f87d8b43f83b54ec9" + }, + "downloads": -1, + "filename": "attrs-17.4.0.tar.gz", + "has_sig": true, + "md5_digest": "d7a89063b2e0fd36bd82389c4d82821d", + "packagetype": "sdist", + "python_version": "source", + "size": 97071, + "upload_time": "2017-12-30T08:20:08", + "url": "https://files.pythonhosted.org/packages/8b/0b/a06cfcb69d0cb004fde8bc6f0fd192d96d565d1b8aa2829f0f20adb796e5/attrs-17.4.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/black.json b/tests/repositories/fixtures/pypi.org/json/black.json index f4e244d1b22..17c61d29de4 100644 --- a/tests/repositories/fixtures/pypi.org/json/black.json +++ b/tests/repositories/fixtures/pypi.org/json/black.json @@ -1,6 +1,6 @@ { "info": { - "author": "\u0141ukasz Langa", + "author": "Łukasz Langa", "author_email": "lukasz@langa.pl", "bugtrack_url": null, "classifiers": [ diff --git a/tests/repositories/fixtures/pypi.org/json/colorama.json b/tests/repositories/fixtures/pypi.org/json/colorama.json index d26defdaa2a..5417b41abcc 100644 --- a/tests/repositories/fixtures/pypi.org/json/colorama.json +++ b/tests/repositories/fixtures/pypi.org/json/colorama.json @@ -1,118 +1,118 @@ { - "info": { - "author": "Arnon Yaari", - "author_email": "tartley@tartley.com", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Operating System :: OS Independent", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.5", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.1", - "Programming Language :: Python :: 3.2", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Topic :: Terminals" - ], - "description": "", - "docs_url": null, - "download_url": "UNKNOWN", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/tartley/colorama", - "keywords": "color colour terminal text ansi windows crossplatform xplatform", - "license": "BSD", - "maintainer": null, - "maintainer_email": null, - "name": "colorama", - "package_url": "https://pypi.org/project/colorama/", - "platform": "UNKNOWN", - "project_url": "https://pypi.org/project/colorama/", - "release_url": "https://pypi.org/project/colorama/0.3.9/", - "requires_dist": null, - "requires_python": null, - "summary": "Cross-platform colored terminal text.", - "version": "0.3.9" - }, - "last_serial": 2833818, - "releases": { - "0.3.9": [ - { - "comment_text": "", - "digests": { - "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", - "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" - }, - "downloads": -1, - "filename": "colorama-0.3.9-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 20181, - "upload_time": "2017-04-27T07:12:36", - "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "3a0e415259690f4dd7455c2683ee5850", - "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" - }, - "downloads": -1, - "filename": "colorama-0.3.9.tar.gz", - "has_sig": false, - "md5_digest": "3a0e415259690f4dd7455c2683ee5850", - "packagetype": "sdist", - "python_version": "source", - "size": 25053, - "upload_time": "2017-04-27T07:12:12", - "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" - } - ] + "info": { + "author": "Arnon Yaari", + "author_email": "tartley@tartley.com", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.5", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.1", + "Programming Language :: Python :: 3.2", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Topic :: Terminals" + ], + "description": "", + "docs_url": null, + "download_url": "UNKNOWN", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", - "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" - }, - "downloads": -1, - "filename": "colorama-0.3.9-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 20181, - "upload_time": "2017-04-27T07:12:36", - "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + "home_page": "https://github.com/tartley/colorama", + "keywords": "color colour terminal text ansi windows crossplatform xplatform", + "license": "BSD", + "maintainer": null, + "maintainer_email": null, + "name": "colorama", + "package_url": "https://pypi.org/project/colorama/", + "platform": "UNKNOWN", + "project_url": "https://pypi.org/project/colorama/", + "release_url": "https://pypi.org/project/colorama/0.3.9/", + "requires_dist": null, + "requires_python": null, + "summary": "Cross-platform colored terminal text.", + "version": "0.3.9" + }, + "last_serial": 2833818, + "releases": { + "0.3.9": [ + { + "comment_text": "", + "digests": { + "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", + "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" }, - { - "comment_text": "", - "digests": { - "md5": "3a0e415259690f4dd7455c2683ee5850", - "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" - }, - "downloads": -1, - "filename": "colorama-0.3.9.tar.gz", - "has_sig": false, - "md5_digest": "3a0e415259690f4dd7455c2683ee5850", - "packagetype": "sdist", - "python_version": "source", - "size": 25053, - "upload_time": "2017-04-27T07:12:12", - "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" - } + "downloads": -1, + "filename": "colorama-0.3.9-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 20181, + "upload_time": "2017-04-27T07:12:36", + "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3a0e415259690f4dd7455c2683ee5850", + "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" + }, + "downloads": -1, + "filename": "colorama-0.3.9.tar.gz", + "has_sig": false, + "md5_digest": "3a0e415259690f4dd7455c2683ee5850", + "packagetype": "sdist", + "python_version": "source", + "size": 25053, + "upload_time": "2017-04-27T07:12:12", + "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", + "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" + }, + "downloads": -1, + "filename": "colorama-0.3.9-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 20181, + "upload_time": "2017-04-27T07:12:36", + "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3a0e415259690f4dd7455c2683ee5850", + "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" + }, + "downloads": -1, + "filename": "colorama-0.3.9.tar.gz", + "has_sig": false, + "md5_digest": "3a0e415259690f4dd7455c2683ee5850", + "packagetype": "sdist", + "python_version": "source", + "size": 25053, + "upload_time": "2017-04-27T07:12:12", + "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json b/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json index d26defdaa2a..5417b41abcc 100644 --- a/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json +++ b/tests/repositories/fixtures/pypi.org/json/colorama/0.3.9.json @@ -1,118 +1,118 @@ { - "info": { - "author": "Arnon Yaari", - "author_email": "tartley@tartley.com", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Operating System :: OS Independent", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.5", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.1", - "Programming Language :: Python :: 3.2", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Topic :: Terminals" - ], - "description": "", - "docs_url": null, - "download_url": "UNKNOWN", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/tartley/colorama", - "keywords": "color colour terminal text ansi windows crossplatform xplatform", - "license": "BSD", - "maintainer": null, - "maintainer_email": null, - "name": "colorama", - "package_url": "https://pypi.org/project/colorama/", - "platform": "UNKNOWN", - "project_url": "https://pypi.org/project/colorama/", - "release_url": "https://pypi.org/project/colorama/0.3.9/", - "requires_dist": null, - "requires_python": null, - "summary": "Cross-platform colored terminal text.", - "version": "0.3.9" - }, - "last_serial": 2833818, - "releases": { - "0.3.9": [ - { - "comment_text": "", - "digests": { - "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", - "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" - }, - "downloads": -1, - "filename": "colorama-0.3.9-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 20181, - "upload_time": "2017-04-27T07:12:36", - "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "3a0e415259690f4dd7455c2683ee5850", - "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" - }, - "downloads": -1, - "filename": "colorama-0.3.9.tar.gz", - "has_sig": false, - "md5_digest": "3a0e415259690f4dd7455c2683ee5850", - "packagetype": "sdist", - "python_version": "source", - "size": 25053, - "upload_time": "2017-04-27T07:12:12", - "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" - } - ] + "info": { + "author": "Arnon Yaari", + "author_email": "tartley@tartley.com", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: BSD License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.5", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.1", + "Programming Language :: Python :: 3.2", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Topic :: Terminals" + ], + "description": "", + "docs_url": null, + "download_url": "UNKNOWN", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", - "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" - }, - "downloads": -1, - "filename": "colorama-0.3.9-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 20181, - "upload_time": "2017-04-27T07:12:36", - "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + "home_page": "https://github.com/tartley/colorama", + "keywords": "color colour terminal text ansi windows crossplatform xplatform", + "license": "BSD", + "maintainer": null, + "maintainer_email": null, + "name": "colorama", + "package_url": "https://pypi.org/project/colorama/", + "platform": "UNKNOWN", + "project_url": "https://pypi.org/project/colorama/", + "release_url": "https://pypi.org/project/colorama/0.3.9/", + "requires_dist": null, + "requires_python": null, + "summary": "Cross-platform colored terminal text.", + "version": "0.3.9" + }, + "last_serial": 2833818, + "releases": { + "0.3.9": [ + { + "comment_text": "", + "digests": { + "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", + "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" }, - { - "comment_text": "", - "digests": { - "md5": "3a0e415259690f4dd7455c2683ee5850", - "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" - }, - "downloads": -1, - "filename": "colorama-0.3.9.tar.gz", - "has_sig": false, - "md5_digest": "3a0e415259690f4dd7455c2683ee5850", - "packagetype": "sdist", - "python_version": "source", - "size": 25053, - "upload_time": "2017-04-27T07:12:12", - "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" - } + "downloads": -1, + "filename": "colorama-0.3.9-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 20181, + "upload_time": "2017-04-27T07:12:36", + "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3a0e415259690f4dd7455c2683ee5850", + "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" + }, + "downloads": -1, + "filename": "colorama-0.3.9.tar.gz", + "has_sig": false, + "md5_digest": "3a0e415259690f4dd7455c2683ee5850", + "packagetype": "sdist", + "python_version": "source", + "size": 25053, + "upload_time": "2017-04-27T07:12:12", + "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "cc0c01c7b3b34d0354d813e9ab26aca3", + "sha256": "463f8483208e921368c9f306094eb6f725c6ca42b0f97e313cb5d5512459feda" + }, + "downloads": -1, + "filename": "colorama-0.3.9-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "cc0c01c7b3b34d0354d813e9ab26aca3", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 20181, + "upload_time": "2017-04-27T07:12:36", + "url": "https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3a0e415259690f4dd7455c2683ee5850", + "sha256": "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1" + }, + "downloads": -1, + "filename": "colorama-0.3.9.tar.gz", + "has_sig": false, + "md5_digest": "3a0e415259690f4dd7455c2683ee5850", + "packagetype": "sdist", + "python_version": "source", + "size": 25053, + "upload_time": "2017-04-27T07:12:12", + "url": "https://files.pythonhosted.org/packages/e6/76/257b53926889e2835355d74fec73d82662100135293e17d382e2b74d1669/colorama-0.3.9.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/funcsigs.json b/tests/repositories/fixtures/pypi.org/json/funcsigs.json index 29ec854606d..9ee371c2a40 100644 --- a/tests/repositories/fixtures/pypi.org/json/funcsigs.json +++ b/tests/repositories/fixtures/pypi.org/json/funcsigs.json @@ -1,117 +1,117 @@ { - "info": { - "author": "Testing Cabal", - "author_email": "testing-in-python@lists.idyll.org", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries :: Python Modules" - ], - "description": "", - "docs_url": null, - "download_url": "UNKNOWN", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://funcsigs.readthedocs.org", - "keywords": null, - "license": "ASL", - "maintainer": null, - "maintainer_email": null, - "name": "funcsigs", - "package_url": "https://pypi.org/project/funcsigs/", - "platform": "UNKNOWN", - "project_url": "https://pypi.org/project/funcsigs/", - "release_url": "https://pypi.org/project/funcsigs/1.0.2/", - "requires_dist": null, - "requires_python": null, - "summary": "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+", - "version": "1.0.2" - }, - "last_serial": 2083703, - "releases": { - "1.0.2": [ - { - "comment_text": "", - "digests": { - "md5": "701d58358171f34b6d1197de2923a35a", - "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "701d58358171f34b6d1197de2923a35a", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 17697, - "upload_time": "2016-04-25T22:22:05", - "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "7e583285b1fb8a76305d6d68f4ccc14e", - "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2.tar.gz", - "has_sig": true, - "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", - "packagetype": "sdist", - "python_version": "source", - "size": 27947, - "upload_time": "2016-04-25T22:22:33", - "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" - } - ] + "info": { + "author": "Testing Cabal", + "author_email": "testing-in-python@lists.idyll.org", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "description": "", + "docs_url": null, + "download_url": "UNKNOWN", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "701d58358171f34b6d1197de2923a35a", - "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "701d58358171f34b6d1197de2923a35a", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 17697, - "upload_time": "2016-04-25T22:22:05", - "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + "home_page": "http://funcsigs.readthedocs.org", + "keywords": null, + "license": "ASL", + "maintainer": null, + "maintainer_email": null, + "name": "funcsigs", + "package_url": "https://pypi.org/project/funcsigs/", + "platform": "UNKNOWN", + "project_url": "https://pypi.org/project/funcsigs/", + "release_url": "https://pypi.org/project/funcsigs/1.0.2/", + "requires_dist": null, + "requires_python": null, + "summary": "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+", + "version": "1.0.2" + }, + "last_serial": 2083703, + "releases": { + "1.0.2": [ + { + "comment_text": "", + "digests": { + "md5": "701d58358171f34b6d1197de2923a35a", + "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" }, - { - "comment_text": "", - "digests": { - "md5": "7e583285b1fb8a76305d6d68f4ccc14e", - "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2.tar.gz", - "has_sig": true, - "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", - "packagetype": "sdist", - "python_version": "source", - "size": 27947, - "upload_time": "2016-04-25T22:22:33", - "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" - } + "downloads": -1, + "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "701d58358171f34b6d1197de2923a35a", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 17697, + "upload_time": "2016-04-25T22:22:05", + "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "7e583285b1fb8a76305d6d68f4ccc14e", + "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2.tar.gz", + "has_sig": true, + "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", + "packagetype": "sdist", + "python_version": "source", + "size": 27947, + "upload_time": "2016-04-25T22:22:33", + "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "701d58358171f34b6d1197de2923a35a", + "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "701d58358171f34b6d1197de2923a35a", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 17697, + "upload_time": "2016-04-25T22:22:05", + "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "7e583285b1fb8a76305d6d68f4ccc14e", + "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2.tar.gz", + "has_sig": true, + "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", + "packagetype": "sdist", + "python_version": "source", + "size": 27947, + "upload_time": "2016-04-25T22:22:33", + "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/funcsigs/1.0.2.json b/tests/repositories/fixtures/pypi.org/json/funcsigs/1.0.2.json index 29ec854606d..9ee371c2a40 100644 --- a/tests/repositories/fixtures/pypi.org/json/funcsigs/1.0.2.json +++ b/tests/repositories/fixtures/pypi.org/json/funcsigs/1.0.2.json @@ -1,117 +1,117 @@ { - "info": { - "author": "Testing Cabal", - "author_email": "testing-in-python@lists.idyll.org", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: Apache Software License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.6", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries :: Python Modules" - ], - "description": "", - "docs_url": null, - "download_url": "UNKNOWN", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://funcsigs.readthedocs.org", - "keywords": null, - "license": "ASL", - "maintainer": null, - "maintainer_email": null, - "name": "funcsigs", - "package_url": "https://pypi.org/project/funcsigs/", - "platform": "UNKNOWN", - "project_url": "https://pypi.org/project/funcsigs/", - "release_url": "https://pypi.org/project/funcsigs/1.0.2/", - "requires_dist": null, - "requires_python": null, - "summary": "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+", - "version": "1.0.2" - }, - "last_serial": 2083703, - "releases": { - "1.0.2": [ - { - "comment_text": "", - "digests": { - "md5": "701d58358171f34b6d1197de2923a35a", - "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "701d58358171f34b6d1197de2923a35a", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 17697, - "upload_time": "2016-04-25T22:22:05", - "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "7e583285b1fb8a76305d6d68f4ccc14e", - "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2.tar.gz", - "has_sig": true, - "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", - "packagetype": "sdist", - "python_version": "source", - "size": 27947, - "upload_time": "2016-04-25T22:22:33", - "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" - } - ] + "info": { + "author": "Testing Cabal", + "author_email": "testing-in-python@lists.idyll.org", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.6", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules" + ], + "description": "", + "docs_url": null, + "download_url": "UNKNOWN", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "701d58358171f34b6d1197de2923a35a", - "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", - "has_sig": true, - "md5_digest": "701d58358171f34b6d1197de2923a35a", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "size": 17697, - "upload_time": "2016-04-25T22:22:05", - "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + "home_page": "http://funcsigs.readthedocs.org", + "keywords": null, + "license": "ASL", + "maintainer": null, + "maintainer_email": null, + "name": "funcsigs", + "package_url": "https://pypi.org/project/funcsigs/", + "platform": "UNKNOWN", + "project_url": "https://pypi.org/project/funcsigs/", + "release_url": "https://pypi.org/project/funcsigs/1.0.2/", + "requires_dist": null, + "requires_python": null, + "summary": "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+", + "version": "1.0.2" + }, + "last_serial": 2083703, + "releases": { + "1.0.2": [ + { + "comment_text": "", + "digests": { + "md5": "701d58358171f34b6d1197de2923a35a", + "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" }, - { - "comment_text": "", - "digests": { - "md5": "7e583285b1fb8a76305d6d68f4ccc14e", - "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" - }, - "downloads": -1, - "filename": "funcsigs-1.0.2.tar.gz", - "has_sig": true, - "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", - "packagetype": "sdist", - "python_version": "source", - "size": 27947, - "upload_time": "2016-04-25T22:22:33", - "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" - } + "downloads": -1, + "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "701d58358171f34b6d1197de2923a35a", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 17697, + "upload_time": "2016-04-25T22:22:05", + "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "7e583285b1fb8a76305d6d68f4ccc14e", + "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2.tar.gz", + "has_sig": true, + "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", + "packagetype": "sdist", + "python_version": "source", + "size": 27947, + "upload_time": "2016-04-25T22:22:33", + "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "701d58358171f34b6d1197de2923a35a", + "sha256": "330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2-py2.py3-none-any.whl", + "has_sig": true, + "md5_digest": "701d58358171f34b6d1197de2923a35a", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "size": 17697, + "upload_time": "2016-04-25T22:22:05", + "url": "https://files.pythonhosted.org/packages/69/cb/f5be453359271714c01b9bd06126eaf2e368f1fddfff30818754b5ac2328/funcsigs-1.0.2-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "7e583285b1fb8a76305d6d68f4ccc14e", + "sha256": "a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50" + }, + "downloads": -1, + "filename": "funcsigs-1.0.2.tar.gz", + "has_sig": true, + "md5_digest": "7e583285b1fb8a76305d6d68f4ccc14e", + "packagetype": "sdist", + "python_version": "source", + "size": 27947, + "upload_time": "2016-04-25T22:22:33", + "url": "https://files.pythonhosted.org/packages/94/4a/db842e7a0545de1cdb0439bb80e6e42dfe82aaeaadd4072f2263a4fbed23/funcsigs-1.0.2.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/isort.json b/tests/repositories/fixtures/pypi.org/json/isort.json index 3f5f91e92e1..7a6fdc7294f 100644 --- a/tests/repositories/fixtures/pypi.org/json/isort.json +++ b/tests/repositories/fixtures/pypi.org/json/isort.json @@ -1,160 +1,160 @@ { - "info": { - "author": "Timothy Crosley", - "author_email": "timothy.crosley@gmail.com", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 6 - Mature", - "Environment :: Console", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries", - "Topic :: Utilities" - ], - "description": "", - "description_content_type": null, - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/timothycrosley/isort", - "keywords": "Refactor", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "isort", - "package_url": "https://pypi.org/project/isort/", - "platform": "", - "project_url": "https://pypi.org/project/isort/", - "project_urls": { - "Homepage": "https://github.com/timothycrosley/isort" - }, - "release_url": "https://pypi.org/project/isort/4.3.4/", - "requires_dist": null, - "requires_python": "", - "summary": "A Python utility / library to sort Python imports.", - "version": "4.3.4" + "info": { + "author": "Timothy Crosley", + "author_email": "timothy.crosley@gmail.com", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 6 - Mature", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries", + "Topic :: Utilities" + ], + "description": "", + "description_content_type": null, + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "last_serial": 3575149, - "releases": { - "4.3.4": [ - { - "comment_text": "", - "digests": { - "md5": "f0ad7704b6dc947073398ba290c3517f", - "sha256": "ec9ef8f4a9bc6f71eec99e1806bfa2de401650d996c59330782b89a5555c1497" - }, - "downloads": -1, - "filename": "isort-4.3.4-py2-none-any.whl", - "has_sig": false, - "md5_digest": "f0ad7704b6dc947073398ba290c3517f", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "requires_python": null, - "size": 45393, - "upload_time": "2018-02-12T15:06:38", - "url": "https://files.pythonhosted.org/packages/41/d8/a945da414f2adc1d9e2f7d6e7445b27f2be42766879062a2e63616ad4199/isort-4.3.4-py2-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "fbaac4cd669ac21ea9e21ab1ea3180db", - "sha256": "1153601da39a25b14ddc54955dbbacbb6b2d19135386699e2ad58517953b34af" - }, - "downloads": -1, - "filename": "isort-4.3.4-py3-none-any.whl", - "has_sig": false, - "md5_digest": "fbaac4cd669ac21ea9e21ab1ea3180db", - "packagetype": "bdist_wheel", - "python_version": "3.6", - "requires_python": null, - "size": 45352, - "upload_time": "2018-02-12T15:06:20", - "url": "https://files.pythonhosted.org/packages/1f/2c/22eee714d7199ae0464beda6ad5fedec8fee6a2f7ffd1e8f1840928fe318/isort-4.3.4-py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "fb554e9c8f9aa76e333a03d470a5cf52", - "sha256": "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" - }, - "downloads": -1, - "filename": "isort-4.3.4.tar.gz", - "has_sig": false, - "md5_digest": "fb554e9c8f9aa76e333a03d470a5cf52", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 56070, - "upload_time": "2018-02-12T15:06:16", - "url": "https://files.pythonhosted.org/packages/b1/de/a628d16fdba0d38cafb3d7e34d4830f2c9cb3881384ce5c08c44762e1846/isort-4.3.4.tar.gz" - } - ] + "home_page": "https://github.com/timothycrosley/isort", + "keywords": "Refactor", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "isort", + "package_url": "https://pypi.org/project/isort/", + "platform": "", + "project_url": "https://pypi.org/project/isort/", + "project_urls": { + "Homepage": "https://github.com/timothycrosley/isort" }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "f0ad7704b6dc947073398ba290c3517f", - "sha256": "ec9ef8f4a9bc6f71eec99e1806bfa2de401650d996c59330782b89a5555c1497" - }, - "downloads": -1, - "filename": "isort-4.3.4-py2-none-any.whl", - "has_sig": false, - "md5_digest": "f0ad7704b6dc947073398ba290c3517f", - "packagetype": "bdist_wheel", - "python_version": "2.7", - "requires_python": null, - "size": 45393, - "upload_time": "2018-02-12T15:06:38", - "url": "https://files.pythonhosted.org/packages/41/d8/a945da414f2adc1d9e2f7d6e7445b27f2be42766879062a2e63616ad4199/isort-4.3.4-py2-none-any.whl" + "release_url": "https://pypi.org/project/isort/4.3.4/", + "requires_dist": null, + "requires_python": "", + "summary": "A Python utility / library to sort Python imports.", + "version": "4.3.4" + }, + "last_serial": 3575149, + "releases": { + "4.3.4": [ + { + "comment_text": "", + "digests": { + "md5": "f0ad7704b6dc947073398ba290c3517f", + "sha256": "ec9ef8f4a9bc6f71eec99e1806bfa2de401650d996c59330782b89a5555c1497" + }, + "downloads": -1, + "filename": "isort-4.3.4-py2-none-any.whl", + "has_sig": false, + "md5_digest": "f0ad7704b6dc947073398ba290c3517f", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "requires_python": null, + "size": 45393, + "upload_time": "2018-02-12T15:06:38", + "url": "https://files.pythonhosted.org/packages/41/d8/a945da414f2adc1d9e2f7d6e7445b27f2be42766879062a2e63616ad4199/isort-4.3.4-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "fbaac4cd669ac21ea9e21ab1ea3180db", + "sha256": "1153601da39a25b14ddc54955dbbacbb6b2d19135386699e2ad58517953b34af" }, - { - "comment_text": "", - "digests": { - "md5": "fbaac4cd669ac21ea9e21ab1ea3180db", - "sha256": "1153601da39a25b14ddc54955dbbacbb6b2d19135386699e2ad58517953b34af" - }, - "downloads": -1, - "filename": "isort-4.3.4-py3-none-any.whl", - "has_sig": false, - "md5_digest": "fbaac4cd669ac21ea9e21ab1ea3180db", - "packagetype": "bdist_wheel", - "python_version": "3.6", - "requires_python": null, - "size": 45352, - "upload_time": "2018-02-12T15:06:20", - "url": "https://files.pythonhosted.org/packages/1f/2c/22eee714d7199ae0464beda6ad5fedec8fee6a2f7ffd1e8f1840928fe318/isort-4.3.4-py3-none-any.whl" + "downloads": -1, + "filename": "isort-4.3.4-py3-none-any.whl", + "has_sig": false, + "md5_digest": "fbaac4cd669ac21ea9e21ab1ea3180db", + "packagetype": "bdist_wheel", + "python_version": "3.6", + "requires_python": null, + "size": 45352, + "upload_time": "2018-02-12T15:06:20", + "url": "https://files.pythonhosted.org/packages/1f/2c/22eee714d7199ae0464beda6ad5fedec8fee6a2f7ffd1e8f1840928fe318/isort-4.3.4-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "fb554e9c8f9aa76e333a03d470a5cf52", + "sha256": "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" }, - { - "comment_text": "", - "digests": { - "md5": "fb554e9c8f9aa76e333a03d470a5cf52", - "sha256": "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" - }, - "downloads": -1, - "filename": "isort-4.3.4.tar.gz", - "has_sig": false, - "md5_digest": "fb554e9c8f9aa76e333a03d470a5cf52", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 56070, - "upload_time": "2018-02-12T15:06:16", - "url": "https://files.pythonhosted.org/packages/b1/de/a628d16fdba0d38cafb3d7e34d4830f2c9cb3881384ce5c08c44762e1846/isort-4.3.4.tar.gz" - } + "downloads": -1, + "filename": "isort-4.3.4.tar.gz", + "has_sig": false, + "md5_digest": "fb554e9c8f9aa76e333a03d470a5cf52", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 56070, + "upload_time": "2018-02-12T15:06:16", + "url": "https://files.pythonhosted.org/packages/b1/de/a628d16fdba0d38cafb3d7e34d4830f2c9cb3881384ce5c08c44762e1846/isort-4.3.4.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "f0ad7704b6dc947073398ba290c3517f", + "sha256": "ec9ef8f4a9bc6f71eec99e1806bfa2de401650d996c59330782b89a5555c1497" + }, + "downloads": -1, + "filename": "isort-4.3.4-py2-none-any.whl", + "has_sig": false, + "md5_digest": "f0ad7704b6dc947073398ba290c3517f", + "packagetype": "bdist_wheel", + "python_version": "2.7", + "requires_python": null, + "size": 45393, + "upload_time": "2018-02-12T15:06:38", + "url": "https://files.pythonhosted.org/packages/41/d8/a945da414f2adc1d9e2f7d6e7445b27f2be42766879062a2e63616ad4199/isort-4.3.4-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "fbaac4cd669ac21ea9e21ab1ea3180db", + "sha256": "1153601da39a25b14ddc54955dbbacbb6b2d19135386699e2ad58517953b34af" + }, + "downloads": -1, + "filename": "isort-4.3.4-py3-none-any.whl", + "has_sig": false, + "md5_digest": "fbaac4cd669ac21ea9e21ab1ea3180db", + "packagetype": "bdist_wheel", + "python_version": "3.6", + "requires_python": null, + "size": 45352, + "upload_time": "2018-02-12T15:06:20", + "url": "https://files.pythonhosted.org/packages/1f/2c/22eee714d7199ae0464beda6ad5fedec8fee6a2f7ffd1e8f1840928fe318/isort-4.3.4-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "fb554e9c8f9aa76e333a03d470a5cf52", + "sha256": "b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" + }, + "downloads": -1, + "filename": "isort-4.3.4.tar.gz", + "has_sig": false, + "md5_digest": "fb554e9c8f9aa76e333a03d470a5cf52", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 56070, + "upload_time": "2018-02-12T15:06:16", + "url": "https://files.pythonhosted.org/packages/b1/de/a628d16fdba0d38cafb3d7e34d4830f2c9cb3881384ce5c08c44762e1846/isort-4.3.4.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/jupyter.json b/tests/repositories/fixtures/pypi.org/json/jupyter.json index 1e5388425a6..eba1032aa39 100644 --- a/tests/repositories/fixtures/pypi.org/json/jupyter.json +++ b/tests/repositories/fixtures/pypi.org/json/jupyter.json @@ -1,156 +1,156 @@ { - "info": { - "author": "Jupyter Development Team", - "author_email": "jupyter@googlegroups.org", - "bugtrack_url": null, - "classifiers": [ - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - "Intended Audience :: System Administrators", - "License :: OSI Approved :: BSD License", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4" - ], - "description": "Install the Jupyter system, including the notebook, qtconsole, and the IPython kernel.", - "description_content_type": null, - "docs_url": null, - "download_url": "UNKNOWN", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://jupyter.org", - "keywords": null, - "license": "BSD", - "maintainer": null, - "maintainer_email": null, - "name": "jupyter", - "package_url": "https://pypi.org/project/jupyter/", - "platform": "UNKNOWN", - "project_url": "https://pypi.org/project/jupyter/", - "project_urls": { - "Download": "UNKNOWN", - "Homepage": "http://jupyter.org" - }, - "release_url": "https://pypi.org/project/jupyter/1.0.0/", - "requires_dist": null, - "requires_python": null, - "summary": "Jupyter metapackage. Install all the Jupyter components in one go.", - "version": "1.0.0" + "info": { + "author": "Jupyter Development Team", + "author_email": "jupyter@googlegroups.org", + "bugtrack_url": null, + "classifiers": [ + "Intended Audience :: Developers", + "Intended Audience :: Science/Research", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4" + ], + "description": "Install the Jupyter system, including the notebook, qtconsole, and the IPython kernel.", + "description_content_type": null, + "docs_url": null, + "download_url": "UNKNOWN", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "last_serial": 1673841, - "releases": { - "0.0.0": [], - "1.0.0": [ - { - "comment_text": "", - "digests": { - "md5": "f81d039e084c2c0c4da9e4a86446b863", - "sha256": "5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78" - }, - "downloads": -1, - "filename": "jupyter-1.0.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "f81d039e084c2c0c4da9e4a86446b863", - "packagetype": "bdist_wheel", - "python_version": "3.4", - "requires_python": null, - "size": 2736, - "upload_time": "2015-08-12T00:42:58", - "url": "https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "c6030444c7eb6c05a4d7b1768c72aed7", - "sha256": "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" - }, - "downloads": -1, - "filename": "jupyter-1.0.0.tar.gz", - "has_sig": false, - "md5_digest": "c6030444c7eb6c05a4d7b1768c72aed7", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 12916, - "upload_time": "2015-08-12T00:43:08", - "url": "https://files.pythonhosted.org/packages/c9/a9/371d0b8fe37dd231cf4b2cff0a9f0f25e98f3a73c3771742444be27f2944/jupyter-1.0.0.tar.gz" - }, - { - "comment_text": "", - "digests": { - "md5": "25142b08e2ad7142b6f920bc8cc8dfeb", - "sha256": "3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7" - }, - "downloads": -1, - "filename": "jupyter-1.0.0.zip", - "has_sig": false, - "md5_digest": "25142b08e2ad7142b6f920bc8cc8dfeb", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 16690, - "upload_time": "2015-08-12T00:43:12", - "url": "https://files.pythonhosted.org/packages/fc/21/a372b73e3a498b41b92ed915ada7de2ad5e16631546329c03e484c3bf4e9/jupyter-1.0.0.zip" - } - ] + "home_page": "http://jupyter.org", + "keywords": null, + "license": "BSD", + "maintainer": null, + "maintainer_email": null, + "name": "jupyter", + "package_url": "https://pypi.org/project/jupyter/", + "platform": "UNKNOWN", + "project_url": "https://pypi.org/project/jupyter/", + "project_urls": { + "Download": "UNKNOWN", + "Homepage": "http://jupyter.org" }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "f81d039e084c2c0c4da9e4a86446b863", - "sha256": "5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78" - }, - "downloads": -1, - "filename": "jupyter-1.0.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "f81d039e084c2c0c4da9e4a86446b863", - "packagetype": "bdist_wheel", - "python_version": "3.4", - "requires_python": null, - "size": 2736, - "upload_time": "2015-08-12T00:42:58", - "url": "https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl" + "release_url": "https://pypi.org/project/jupyter/1.0.0/", + "requires_dist": null, + "requires_python": null, + "summary": "Jupyter metapackage. Install all the Jupyter components in one go.", + "version": "1.0.0" + }, + "last_serial": 1673841, + "releases": { + "0.0.0": [], + "1.0.0": [ + { + "comment_text": "", + "digests": { + "md5": "f81d039e084c2c0c4da9e4a86446b863", + "sha256": "5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78" }, - { - "comment_text": "", - "digests": { - "md5": "c6030444c7eb6c05a4d7b1768c72aed7", - "sha256": "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" - }, - "downloads": -1, - "filename": "jupyter-1.0.0.tar.gz", - "has_sig": false, - "md5_digest": "c6030444c7eb6c05a4d7b1768c72aed7", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 12916, - "upload_time": "2015-08-12T00:43:08", - "url": "https://files.pythonhosted.org/packages/c9/a9/371d0b8fe37dd231cf4b2cff0a9f0f25e98f3a73c3771742444be27f2944/jupyter-1.0.0.tar.gz" + "downloads": -1, + "filename": "jupyter-1.0.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "f81d039e084c2c0c4da9e4a86446b863", + "packagetype": "bdist_wheel", + "python_version": "3.4", + "requires_python": null, + "size": 2736, + "upload_time": "2015-08-12T00:42:58", + "url": "https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "c6030444c7eb6c05a4d7b1768c72aed7", + "sha256": "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" }, - { - "comment_text": "", - "digests": { - "md5": "25142b08e2ad7142b6f920bc8cc8dfeb", - "sha256": "3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7" - }, - "downloads": -1, - "filename": "jupyter-1.0.0.zip", - "has_sig": false, - "md5_digest": "25142b08e2ad7142b6f920bc8cc8dfeb", - "packagetype": "sdist", - "python_version": "source", - "requires_python": null, - "size": 16690, - "upload_time": "2015-08-12T00:43:12", - "url": "https://files.pythonhosted.org/packages/fc/21/a372b73e3a498b41b92ed915ada7de2ad5e16631546329c03e484c3bf4e9/jupyter-1.0.0.zip" - } + "downloads": -1, + "filename": "jupyter-1.0.0.tar.gz", + "has_sig": false, + "md5_digest": "c6030444c7eb6c05a4d7b1768c72aed7", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 12916, + "upload_time": "2015-08-12T00:43:08", + "url": "https://files.pythonhosted.org/packages/c9/a9/371d0b8fe37dd231cf4b2cff0a9f0f25e98f3a73c3771742444be27f2944/jupyter-1.0.0.tar.gz" + }, + { + "comment_text": "", + "digests": { + "md5": "25142b08e2ad7142b6f920bc8cc8dfeb", + "sha256": "3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7" + }, + "downloads": -1, + "filename": "jupyter-1.0.0.zip", + "has_sig": false, + "md5_digest": "25142b08e2ad7142b6f920bc8cc8dfeb", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 16690, + "upload_time": "2015-08-12T00:43:12", + "url": "https://files.pythonhosted.org/packages/fc/21/a372b73e3a498b41b92ed915ada7de2ad5e16631546329c03e484c3bf4e9/jupyter-1.0.0.zip" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "f81d039e084c2c0c4da9e4a86446b863", + "sha256": "5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78" + }, + "downloads": -1, + "filename": "jupyter-1.0.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "f81d039e084c2c0c4da9e4a86446b863", + "packagetype": "bdist_wheel", + "python_version": "3.4", + "requires_python": null, + "size": 2736, + "upload_time": "2015-08-12T00:42:58", + "url": "https://files.pythonhosted.org/packages/83/df/0f5dd132200728a86190397e1ea87cd76244e42d39ec5e88efd25b2abd7e/jupyter-1.0.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "c6030444c7eb6c05a4d7b1768c72aed7", + "sha256": "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" + }, + "downloads": -1, + "filename": "jupyter-1.0.0.tar.gz", + "has_sig": false, + "md5_digest": "c6030444c7eb6c05a4d7b1768c72aed7", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 12916, + "upload_time": "2015-08-12T00:43:08", + "url": "https://files.pythonhosted.org/packages/c9/a9/371d0b8fe37dd231cf4b2cff0a9f0f25e98f3a73c3771742444be27f2944/jupyter-1.0.0.tar.gz" + }, + { + "comment_text": "", + "digests": { + "md5": "25142b08e2ad7142b6f920bc8cc8dfeb", + "sha256": "3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7" + }, + "downloads": -1, + "filename": "jupyter-1.0.0.zip", + "has_sig": false, + "md5_digest": "25142b08e2ad7142b6f920bc8cc8dfeb", + "packagetype": "sdist", + "python_version": "source", + "requires_python": null, + "size": 16690, + "upload_time": "2015-08-12T00:43:12", + "url": "https://files.pythonhosted.org/packages/fc/21/a372b73e3a498b41b92ed915ada7de2ad5e16631546329c03e484c3bf4e9/jupyter-1.0.0.zip" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/more-itertools.json b/tests/repositories/fixtures/pypi.org/json/more-itertools.json index 371ecee546d..fb2dbcd17fb 100644 --- a/tests/repositories/fixtures/pypi.org/json/more-itertools.json +++ b/tests/repositories/fixtures/pypi.org/json/more-itertools.json @@ -1,148 +1,148 @@ { - "info": { - "author": "Erik Rose", - "author_email": "erikrose@grinchcentral.com", - "bugtrack_url": "", - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.2", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Topic :: Software Development :: Libraries" - ], - "description": "", - "docs_url": "https://pythonhosted.org/more-itertools/", - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/erikrose/more-itertools", - "keywords": "itertools,iterator,iteration,filter,peek,peekable,collate,chunk,chunked", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "more-itertools", - "package_url": "https://pypi.org/project/more-itertools/", - "platform": "", - "project_url": "https://pypi.org/project/more-itertools/", - "release_url": "https://pypi.org/project/more-itertools/4.1.0/", - "requires_dist": [ - "six (<2.0.0,>=1.0.0)" - ], - "requires_python": "", - "summary": "More routines for operating on iterables, beyond itertools", - "version": "4.1.0" - }, - "last_serial": 3508946, - "releases": { - "4.1.0": [ - { - "comment_text": "", - "digests": { - "md5": "2a6a4b9abf941edf6d190fc995c0c935", - "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py2-none-any.whl", - "has_sig": false, - "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", - "packagetype": "bdist_wheel", - "python_version": "py2", - "size": 47987, - "upload_time": "2018-01-21T15:34:19", - "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "3229d872f8d193e36119ec76e1b0c097", - "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py3-none-any.whl", - "has_sig": false, - "md5_digest": "3229d872f8d193e36119ec76e1b0c097", - "packagetype": "bdist_wheel", - "python_version": "py3", - "size": 47988, - "upload_time": "2018-01-21T15:34:20", - "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "246f46686d95879fbad37855c115dc52", - "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" - }, - "downloads": -1, - "filename": "more-itertools-4.1.0.tar.gz", - "has_sig": false, - "md5_digest": "246f46686d95879fbad37855c115dc52", - "packagetype": "sdist", - "python_version": "source", - "size": 51310, - "upload_time": "2018-01-21T15:34:22", - "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" - } - ] + "info": { + "author": "Erik Rose", + "author_email": "erikrose@grinchcentral.com", + "bugtrack_url": "", + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.2", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Topic :: Software Development :: Libraries" + ], + "description": "", + "docs_url": "https://pythonhosted.org/more-itertools/", + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "2a6a4b9abf941edf6d190fc995c0c935", - "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py2-none-any.whl", - "has_sig": false, - "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", - "packagetype": "bdist_wheel", - "python_version": "py2", - "size": 47987, - "upload_time": "2018-01-21T15:34:19", - "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + "home_page": "https://github.com/erikrose/more-itertools", + "keywords": "itertools,iterator,iteration,filter,peek,peekable,collate,chunk,chunked", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "more-itertools", + "package_url": "https://pypi.org/project/more-itertools/", + "platform": "", + "project_url": "https://pypi.org/project/more-itertools/", + "release_url": "https://pypi.org/project/more-itertools/4.1.0/", + "requires_dist": [ + "six (<2.0.0,>=1.0.0)" + ], + "requires_python": "", + "summary": "More routines for operating on iterables, beyond itertools", + "version": "4.1.0" + }, + "last_serial": 3508946, + "releases": { + "4.1.0": [ + { + "comment_text": "", + "digests": { + "md5": "2a6a4b9abf941edf6d190fc995c0c935", + "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py2-none-any.whl", + "has_sig": false, + "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", + "packagetype": "bdist_wheel", + "python_version": "py2", + "size": 47987, + "upload_time": "2018-01-21T15:34:19", + "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3229d872f8d193e36119ec76e1b0c097", + "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" }, - { - "comment_text": "", - "digests": { - "md5": "3229d872f8d193e36119ec76e1b0c097", - "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py3-none-any.whl", - "has_sig": false, - "md5_digest": "3229d872f8d193e36119ec76e1b0c097", - "packagetype": "bdist_wheel", - "python_version": "py3", - "size": 47988, - "upload_time": "2018-01-21T15:34:20", - "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + "downloads": -1, + "filename": "more_itertools-4.1.0-py3-none-any.whl", + "has_sig": false, + "md5_digest": "3229d872f8d193e36119ec76e1b0c097", + "packagetype": "bdist_wheel", + "python_version": "py3", + "size": 47988, + "upload_time": "2018-01-21T15:34:20", + "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "246f46686d95879fbad37855c115dc52", + "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" }, - { - "comment_text": "", - "digests": { - "md5": "246f46686d95879fbad37855c115dc52", - "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" - }, - "downloads": -1, - "filename": "more-itertools-4.1.0.tar.gz", - "has_sig": false, - "md5_digest": "246f46686d95879fbad37855c115dc52", - "packagetype": "sdist", - "python_version": "source", - "size": 51310, - "upload_time": "2018-01-21T15:34:22", - "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" - } + "downloads": -1, + "filename": "more-itertools-4.1.0.tar.gz", + "has_sig": false, + "md5_digest": "246f46686d95879fbad37855c115dc52", + "packagetype": "sdist", + "python_version": "source", + "size": 51310, + "upload_time": "2018-01-21T15:34:22", + "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "2a6a4b9abf941edf6d190fc995c0c935", + "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py2-none-any.whl", + "has_sig": false, + "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", + "packagetype": "bdist_wheel", + "python_version": "py2", + "size": 47987, + "upload_time": "2018-01-21T15:34:19", + "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3229d872f8d193e36119ec76e1b0c097", + "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py3-none-any.whl", + "has_sig": false, + "md5_digest": "3229d872f8d193e36119ec76e1b0c097", + "packagetype": "bdist_wheel", + "python_version": "py3", + "size": 47988, + "upload_time": "2018-01-21T15:34:20", + "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "246f46686d95879fbad37855c115dc52", + "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" + }, + "downloads": -1, + "filename": "more-itertools-4.1.0.tar.gz", + "has_sig": false, + "md5_digest": "246f46686d95879fbad37855c115dc52", + "packagetype": "sdist", + "python_version": "source", + "size": 51310, + "upload_time": "2018-01-21T15:34:22", + "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json b/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json index 371ecee546d..fb2dbcd17fb 100644 --- a/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json +++ b/tests/repositories/fixtures/pypi.org/json/more-itertools/4.1.0.json @@ -1,148 +1,148 @@ { - "info": { - "author": "Erik Rose", - "author_email": "erikrose@grinchcentral.com", - "bugtrack_url": "", - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.2", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Topic :: Software Development :: Libraries" - ], - "description": "", - "docs_url": "https://pythonhosted.org/more-itertools/", - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/erikrose/more-itertools", - "keywords": "itertools,iterator,iteration,filter,peek,peekable,collate,chunk,chunked", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "more-itertools", - "package_url": "https://pypi.org/project/more-itertools/", - "platform": "", - "project_url": "https://pypi.org/project/more-itertools/", - "release_url": "https://pypi.org/project/more-itertools/4.1.0/", - "requires_dist": [ - "six (<2.0.0,>=1.0.0)" - ], - "requires_python": "", - "summary": "More routines for operating on iterables, beyond itertools", - "version": "4.1.0" - }, - "last_serial": 3508946, - "releases": { - "4.1.0": [ - { - "comment_text": "", - "digests": { - "md5": "2a6a4b9abf941edf6d190fc995c0c935", - "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py2-none-any.whl", - "has_sig": false, - "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", - "packagetype": "bdist_wheel", - "python_version": "py2", - "size": 47987, - "upload_time": "2018-01-21T15:34:19", - "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "3229d872f8d193e36119ec76e1b0c097", - "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py3-none-any.whl", - "has_sig": false, - "md5_digest": "3229d872f8d193e36119ec76e1b0c097", - "packagetype": "bdist_wheel", - "python_version": "py3", - "size": 47988, - "upload_time": "2018-01-21T15:34:20", - "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "246f46686d95879fbad37855c115dc52", - "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" - }, - "downloads": -1, - "filename": "more-itertools-4.1.0.tar.gz", - "has_sig": false, - "md5_digest": "246f46686d95879fbad37855c115dc52", - "packagetype": "sdist", - "python_version": "source", - "size": 51310, - "upload_time": "2018-01-21T15:34:22", - "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" - } - ] + "info": { + "author": "Erik Rose", + "author_email": "erikrose@grinchcentral.com", + "bugtrack_url": "", + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.2", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Topic :: Software Development :: Libraries" + ], + "description": "", + "docs_url": "https://pythonhosted.org/more-itertools/", + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "2a6a4b9abf941edf6d190fc995c0c935", - "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py2-none-any.whl", - "has_sig": false, - "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", - "packagetype": "bdist_wheel", - "python_version": "py2", - "size": 47987, - "upload_time": "2018-01-21T15:34:19", - "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + "home_page": "https://github.com/erikrose/more-itertools", + "keywords": "itertools,iterator,iteration,filter,peek,peekable,collate,chunk,chunked", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "more-itertools", + "package_url": "https://pypi.org/project/more-itertools/", + "platform": "", + "project_url": "https://pypi.org/project/more-itertools/", + "release_url": "https://pypi.org/project/more-itertools/4.1.0/", + "requires_dist": [ + "six (<2.0.0,>=1.0.0)" + ], + "requires_python": "", + "summary": "More routines for operating on iterables, beyond itertools", + "version": "4.1.0" + }, + "last_serial": 3508946, + "releases": { + "4.1.0": [ + { + "comment_text": "", + "digests": { + "md5": "2a6a4b9abf941edf6d190fc995c0c935", + "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py2-none-any.whl", + "has_sig": false, + "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", + "packagetype": "bdist_wheel", + "python_version": "py2", + "size": 47987, + "upload_time": "2018-01-21T15:34:19", + "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3229d872f8d193e36119ec76e1b0c097", + "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" }, - { - "comment_text": "", - "digests": { - "md5": "3229d872f8d193e36119ec76e1b0c097", - "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" - }, - "downloads": -1, - "filename": "more_itertools-4.1.0-py3-none-any.whl", - "has_sig": false, - "md5_digest": "3229d872f8d193e36119ec76e1b0c097", - "packagetype": "bdist_wheel", - "python_version": "py3", - "size": 47988, - "upload_time": "2018-01-21T15:34:20", - "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + "downloads": -1, + "filename": "more_itertools-4.1.0-py3-none-any.whl", + "has_sig": false, + "md5_digest": "3229d872f8d193e36119ec76e1b0c097", + "packagetype": "bdist_wheel", + "python_version": "py3", + "size": 47988, + "upload_time": "2018-01-21T15:34:20", + "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "246f46686d95879fbad37855c115dc52", + "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" }, - { - "comment_text": "", - "digests": { - "md5": "246f46686d95879fbad37855c115dc52", - "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" - }, - "downloads": -1, - "filename": "more-itertools-4.1.0.tar.gz", - "has_sig": false, - "md5_digest": "246f46686d95879fbad37855c115dc52", - "packagetype": "sdist", - "python_version": "source", - "size": 51310, - "upload_time": "2018-01-21T15:34:22", - "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" - } + "downloads": -1, + "filename": "more-itertools-4.1.0.tar.gz", + "has_sig": false, + "md5_digest": "246f46686d95879fbad37855c115dc52", + "packagetype": "sdist", + "python_version": "source", + "size": 51310, + "upload_time": "2018-01-21T15:34:22", + "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "2a6a4b9abf941edf6d190fc995c0c935", + "sha256": "11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py2-none-any.whl", + "has_sig": false, + "md5_digest": "2a6a4b9abf941edf6d190fc995c0c935", + "packagetype": "bdist_wheel", + "python_version": "py2", + "size": 47987, + "upload_time": "2018-01-21T15:34:19", + "url": "https://files.pythonhosted.org/packages/4a/88/c28e2a2da8f3dc3a391d9c97ad949f2ea0c05198222e7e6af176e5bf9b26/more_itertools-4.1.0-py2-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "3229d872f8d193e36119ec76e1b0c097", + "sha256": "0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea" + }, + "downloads": -1, + "filename": "more_itertools-4.1.0-py3-none-any.whl", + "has_sig": false, + "md5_digest": "3229d872f8d193e36119ec76e1b0c097", + "packagetype": "bdist_wheel", + "python_version": "py3", + "size": 47988, + "upload_time": "2018-01-21T15:34:20", + "url": "https://files.pythonhosted.org/packages/7a/46/886917c6a4ce49dd3fff250c01c5abac5390d57992751384fe61befc4877/more_itertools-4.1.0-py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "246f46686d95879fbad37855c115dc52", + "sha256": "c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44" + }, + "downloads": -1, + "filename": "more-itertools-4.1.0.tar.gz", + "has_sig": false, + "md5_digest": "246f46686d95879fbad37855c115dc52", + "packagetype": "sdist", + "python_version": "source", + "size": 51310, + "upload_time": "2018-01-21T15:34:22", + "url": "https://files.pythonhosted.org/packages/db/0b/f5660bf6299ec5b9f17bd36096fa8148a1c843fa77ddfddf9bebac9301f7/more-itertools-4.1.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/pluggy.json b/tests/repositories/fixtures/pypi.org/json/pluggy.json index 15a40eeb9e7..f52ee57b991 100644 --- a/tests/repositories/fixtures/pypi.org/json/pluggy.json +++ b/tests/repositories/fixtures/pypi.org/json/pluggy.json @@ -1,87 +1,87 @@ { - "info": { - "author": "Holger Krekel", - "author_email": "holger@merlinux.eu", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/pytest-dev/pluggy", - "keywords": "", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "pluggy", - "package_url": "https://pypi.org/project/pluggy/", - "platform": "unix", - "project_url": "https://pypi.org/project/pluggy/", - "release_url": "https://pypi.org/project/pluggy/0.6.0/", - "requires_dist": null, - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "plugin and hook calling mechanisms for python", - "version": "0.6.0" - }, - "last_serial": 3361295, - "releases": { - "0.6.0": [ - { - "comment_text": "", - "digests": { - "md5": "ffdde7c3a5ba9a440404570366ffb6d5", - "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" - }, - "downloads": -1, - "filename": "pluggy-0.6.0.tar.gz", - "has_sig": false, - "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", - "packagetype": "sdist", - "python_version": "source", - "size": 19678, - "upload_time": "2017-11-24T16:33:11", - "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" - } - ] + "info": { + "author": "Holger Krekel", + "author_email": "holger@merlinux.eu", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "ffdde7c3a5ba9a440404570366ffb6d5", - "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" - }, - "downloads": -1, - "filename": "pluggy-0.6.0.tar.gz", - "has_sig": false, - "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", - "packagetype": "sdist", - "python_version": "source", - "size": 19678, - "upload_time": "2017-11-24T16:33:11", - "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" - } + "home_page": "https://github.com/pytest-dev/pluggy", + "keywords": "", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "pluggy", + "package_url": "https://pypi.org/project/pluggy/", + "platform": "unix", + "project_url": "https://pypi.org/project/pluggy/", + "release_url": "https://pypi.org/project/pluggy/0.6.0/", + "requires_dist": null, + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "plugin and hook calling mechanisms for python", + "version": "0.6.0" + }, + "last_serial": 3361295, + "releases": { + "0.6.0": [ + { + "comment_text": "", + "digests": { + "md5": "ffdde7c3a5ba9a440404570366ffb6d5", + "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" + }, + "downloads": -1, + "filename": "pluggy-0.6.0.tar.gz", + "has_sig": false, + "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", + "packagetype": "sdist", + "python_version": "source", + "size": 19678, + "upload_time": "2017-11-24T16:33:11", + "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "ffdde7c3a5ba9a440404570366ffb6d5", + "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" + }, + "downloads": -1, + "filename": "pluggy-0.6.0.tar.gz", + "has_sig": false, + "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", + "packagetype": "sdist", + "python_version": "source", + "size": 19678, + "upload_time": "2017-11-24T16:33:11", + "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json b/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json index 15a40eeb9e7..f52ee57b991 100644 --- a/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json +++ b/tests/repositories/fixtures/pypi.org/json/pluggy/0.6.0.json @@ -1,87 +1,87 @@ { - "info": { - "author": "Holger Krekel", - "author_email": "holger@merlinux.eu", - "bugtrack_url": null, - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/pytest-dev/pluggy", - "keywords": "", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "pluggy", - "package_url": "https://pypi.org/project/pluggy/", - "platform": "unix", - "project_url": "https://pypi.org/project/pluggy/", - "release_url": "https://pypi.org/project/pluggy/0.6.0/", - "requires_dist": null, - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "plugin and hook calling mechanisms for python", - "version": "0.6.0" - }, - "last_serial": 3361295, - "releases": { - "0.6.0": [ - { - "comment_text": "", - "digests": { - "md5": "ffdde7c3a5ba9a440404570366ffb6d5", - "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" - }, - "downloads": -1, - "filename": "pluggy-0.6.0.tar.gz", - "has_sig": false, - "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", - "packagetype": "sdist", - "python_version": "source", - "size": 19678, - "upload_time": "2017-11-24T16:33:11", - "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" - } - ] + "info": { + "author": "Holger Krekel", + "author_email": "holger@merlinux.eu", + "bugtrack_url": null, + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "ffdde7c3a5ba9a440404570366ffb6d5", - "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" - }, - "downloads": -1, - "filename": "pluggy-0.6.0.tar.gz", - "has_sig": false, - "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", - "packagetype": "sdist", - "python_version": "source", - "size": 19678, - "upload_time": "2017-11-24T16:33:11", - "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" - } + "home_page": "https://github.com/pytest-dev/pluggy", + "keywords": "", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "pluggy", + "package_url": "https://pypi.org/project/pluggy/", + "platform": "unix", + "project_url": "https://pypi.org/project/pluggy/", + "release_url": "https://pypi.org/project/pluggy/0.6.0/", + "requires_dist": null, + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "plugin and hook calling mechanisms for python", + "version": "0.6.0" + }, + "last_serial": 3361295, + "releases": { + "0.6.0": [ + { + "comment_text": "", + "digests": { + "md5": "ffdde7c3a5ba9a440404570366ffb6d5", + "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" + }, + "downloads": -1, + "filename": "pluggy-0.6.0.tar.gz", + "has_sig": false, + "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", + "packagetype": "sdist", + "python_version": "source", + "size": 19678, + "upload_time": "2017-11-24T16:33:11", + "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "ffdde7c3a5ba9a440404570366ffb6d5", + "sha256": "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff" + }, + "downloads": -1, + "filename": "pluggy-0.6.0.tar.gz", + "has_sig": false, + "md5_digest": "ffdde7c3a5ba9a440404570366ffb6d5", + "packagetype": "sdist", + "python_version": "source", + "size": 19678, + "upload_time": "2017-11-24T16:33:11", + "url": "https://files.pythonhosted.org/packages/11/bf/cbeb8cdfaffa9f2ea154a30ae31a9d04a1209312e2919138b4171a1f8199/pluggy-0.6.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/py.json b/tests/repositories/fixtures/pypi.org/json/py.json index a0d65a6e844..41b98bbd861 100644 --- a/tests/repositories/fixtures/pypi.org/json/py.json +++ b/tests/repositories/fixtures/pypi.org/json/py.json @@ -1,120 +1,120 @@ { - "info": { - "author": "holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others", - "author_email": "pytest-dev@python.org", - "bugtrack_url": "https://github.com/pytest-dev/py/issues", - "classifiers": [ - "Development Status :: 6 - Mature", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://py.readthedocs.io/", - "keywords": "", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "py", - "package_url": "https://pypi.org/project/py/", - "platform": "unix", - "project_url": "https://pypi.org/project/py/", - "release_url": "https://pypi.org/project/py/1.5.3/", - "requires_dist": null, - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "library with cross-python path, ini-parsing, io, code, log facilities", - "version": "1.5.3" - }, - "last_serial": 3694828, - "releases": { - "1.5.3": [ - { - "comment_text": "", - "digests": { - "md5": "3184fb17d224b073117a25336040d7c7", - "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" - }, - "downloads": -1, - "filename": "py-1.5.3-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "3184fb17d224b073117a25336040d7c7", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 84903, - "upload_time": "2018-03-22T10:06:50", - "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "667d37a148ad9fb81266492903f2d880", - "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" - }, - "downloads": -1, - "filename": "py-1.5.3.tar.gz", - "has_sig": false, - "md5_digest": "667d37a148ad9fb81266492903f2d880", - "packagetype": "sdist", - "python_version": "source", - "size": 202335, - "upload_time": "2018-03-22T10:06:52", - "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" - } - ] + "info": { + "author": "holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others", + "author_email": "pytest-dev@python.org", + "bugtrack_url": "https://github.com/pytest-dev/py/issues", + "classifiers": [ + "Development Status :: 6 - Mature", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "3184fb17d224b073117a25336040d7c7", - "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" - }, - "downloads": -1, - "filename": "py-1.5.3-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "3184fb17d224b073117a25336040d7c7", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 84903, - "upload_time": "2018-03-22T10:06:50", - "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + "home_page": "http://py.readthedocs.io/", + "keywords": "", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "py", + "package_url": "https://pypi.org/project/py/", + "platform": "unix", + "project_url": "https://pypi.org/project/py/", + "release_url": "https://pypi.org/project/py/1.5.3/", + "requires_dist": null, + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "library with cross-python path, ini-parsing, io, code, log facilities", + "version": "1.5.3" + }, + "last_serial": 3694828, + "releases": { + "1.5.3": [ + { + "comment_text": "", + "digests": { + "md5": "3184fb17d224b073117a25336040d7c7", + "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" }, - { - "comment_text": "", - "digests": { - "md5": "667d37a148ad9fb81266492903f2d880", - "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" - }, - "downloads": -1, - "filename": "py-1.5.3.tar.gz", - "has_sig": false, - "md5_digest": "667d37a148ad9fb81266492903f2d880", - "packagetype": "sdist", - "python_version": "source", - "size": 202335, - "upload_time": "2018-03-22T10:06:52", - "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" - } + "downloads": -1, + "filename": "py-1.5.3-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "3184fb17d224b073117a25336040d7c7", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 84903, + "upload_time": "2018-03-22T10:06:50", + "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "667d37a148ad9fb81266492903f2d880", + "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" + }, + "downloads": -1, + "filename": "py-1.5.3.tar.gz", + "has_sig": false, + "md5_digest": "667d37a148ad9fb81266492903f2d880", + "packagetype": "sdist", + "python_version": "source", + "size": 202335, + "upload_time": "2018-03-22T10:06:52", + "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "3184fb17d224b073117a25336040d7c7", + "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" + }, + "downloads": -1, + "filename": "py-1.5.3-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "3184fb17d224b073117a25336040d7c7", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 84903, + "upload_time": "2018-03-22T10:06:50", + "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "667d37a148ad9fb81266492903f2d880", + "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" + }, + "downloads": -1, + "filename": "py-1.5.3.tar.gz", + "has_sig": false, + "md5_digest": "667d37a148ad9fb81266492903f2d880", + "packagetype": "sdist", + "python_version": "source", + "size": 202335, + "upload_time": "2018-03-22T10:06:52", + "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json b/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json index a0d65a6e844..41b98bbd861 100644 --- a/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json +++ b/tests/repositories/fixtures/pypi.org/json/py/1.5.3.json @@ -1,120 +1,120 @@ { - "info": { - "author": "holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others", - "author_email": "pytest-dev@python.org", - "bugtrack_url": "https://github.com/pytest-dev/py/issues", - "classifiers": [ - "Development Status :: 6 - Mature", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": "", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://py.readthedocs.io/", - "keywords": "", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "py", - "package_url": "https://pypi.org/project/py/", - "platform": "unix", - "project_url": "https://pypi.org/project/py/", - "release_url": "https://pypi.org/project/py/1.5.3/", - "requires_dist": null, - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "library with cross-python path, ini-parsing, io, code, log facilities", - "version": "1.5.3" - }, - "last_serial": 3694828, - "releases": { - "1.5.3": [ - { - "comment_text": "", - "digests": { - "md5": "3184fb17d224b073117a25336040d7c7", - "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" - }, - "downloads": -1, - "filename": "py-1.5.3-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "3184fb17d224b073117a25336040d7c7", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 84903, - "upload_time": "2018-03-22T10:06:50", - "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "667d37a148ad9fb81266492903f2d880", - "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" - }, - "downloads": -1, - "filename": "py-1.5.3.tar.gz", - "has_sig": false, - "md5_digest": "667d37a148ad9fb81266492903f2d880", - "packagetype": "sdist", - "python_version": "source", - "size": 202335, - "upload_time": "2018-03-22T10:06:52", - "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" - } - ] + "info": { + "author": "holger krekel, Ronny Pfannschmidt, Benjamin Peterson and others", + "author_email": "pytest-dev@python.org", + "bugtrack_url": "https://github.com/pytest-dev/py/issues", + "classifiers": [ + "Development Status :: 6 - Mature", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": "", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "3184fb17d224b073117a25336040d7c7", - "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" - }, - "downloads": -1, - "filename": "py-1.5.3-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "3184fb17d224b073117a25336040d7c7", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 84903, - "upload_time": "2018-03-22T10:06:50", - "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + "home_page": "http://py.readthedocs.io/", + "keywords": "", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "py", + "package_url": "https://pypi.org/project/py/", + "platform": "unix", + "project_url": "https://pypi.org/project/py/", + "release_url": "https://pypi.org/project/py/1.5.3/", + "requires_dist": null, + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "library with cross-python path, ini-parsing, io, code, log facilities", + "version": "1.5.3" + }, + "last_serial": 3694828, + "releases": { + "1.5.3": [ + { + "comment_text": "", + "digests": { + "md5": "3184fb17d224b073117a25336040d7c7", + "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" }, - { - "comment_text": "", - "digests": { - "md5": "667d37a148ad9fb81266492903f2d880", - "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" - }, - "downloads": -1, - "filename": "py-1.5.3.tar.gz", - "has_sig": false, - "md5_digest": "667d37a148ad9fb81266492903f2d880", - "packagetype": "sdist", - "python_version": "source", - "size": 202335, - "upload_time": "2018-03-22T10:06:52", - "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" - } + "downloads": -1, + "filename": "py-1.5.3-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "3184fb17d224b073117a25336040d7c7", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 84903, + "upload_time": "2018-03-22T10:06:50", + "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "667d37a148ad9fb81266492903f2d880", + "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" + }, + "downloads": -1, + "filename": "py-1.5.3.tar.gz", + "has_sig": false, + "md5_digest": "667d37a148ad9fb81266492903f2d880", + "packagetype": "sdist", + "python_version": "source", + "size": 202335, + "upload_time": "2018-03-22T10:06:52", + "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "3184fb17d224b073117a25336040d7c7", + "sha256": "983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a" + }, + "downloads": -1, + "filename": "py-1.5.3-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "3184fb17d224b073117a25336040d7c7", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 84903, + "upload_time": "2018-03-22T10:06:50", + "url": "https://files.pythonhosted.org/packages/67/a5/f77982214dd4c8fd104b066f249adea2c49e25e8703d284382eb5e9ab35a/py-1.5.3-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "667d37a148ad9fb81266492903f2d880", + "sha256": "29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881" + }, + "downloads": -1, + "filename": "py-1.5.3.tar.gz", + "has_sig": false, + "md5_digest": "667d37a148ad9fb81266492903f2d880", + "packagetype": "sdist", + "python_version": "source", + "size": 202335, + "upload_time": "2018-03-22T10:06:52", + "url": "https://files.pythonhosted.org/packages/f7/84/b4c6e84672c4ceb94f727f3da8344037b62cee960d80e999b1cd9b832d83/py-1.5.3.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/pygame-music-grid.json b/tests/repositories/fixtures/pypi.org/json/pygame-music-grid.json index 1ba97799472..47b676141fe 100644 --- a/tests/repositories/fixtures/pypi.org/json/pygame-music-grid.json +++ b/tests/repositories/fixtures/pypi.org/json/pygame-music-grid.json @@ -1,81 +1,79 @@ { - "info":{ - "author":"eric dexter", - "author_email":"irc.dexter@gmail.com", - "bugtrack_url":null, - "classifiers":[ - "Topic :: Multimedia :: Sound/Audio :: Editors" - ], - "description":"a clickable grid for drum machines, piano rolls that is customizble from an init \r\nfile)or will be) that will include the script to be ran when a definable button is \r\nhit written in pygame and tested with python 2.5", - "description_content_type":null, - "docs_url":null, - "download_url":"http://www.ziddu.com/download/5498230/pygamepianorollbeta.90.zip.html", - "downloads":{ - "last_day":-1, - "last_month":-1, - "last_week":-1 - }, - "home_page":"http://dexrowem.blogspot.com/search?q=pygame+music+grid", - "keywords":"python, pygame, drum machine, piano roll", - "license":"", - "maintainer":"", - "maintainer_email":"", - "name":"pygame-music-grid", - "package_url":"https://pypi.org/project/pygame-music-grid/", - "platform":"", - "project_url":"https://pypi.org/project/pygame-music-grid/", - "project_urls":{ - "Download":"http://www.ziddu.com/download/5498230/pygamepianorollbeta.90.zip.html", - "Homepage":"http://dexrowem.blogspot.com/search?q=pygame+music+grid" - }, - "release_url":"https://pypi.org/project/pygame-music-grid/.9/", - "requires_dist":null, - "requires_python":null, - "summary":"a grid for music programs", - "version":".9" + "info": { + "author": "eric dexter", + "author_email": "irc.dexter@gmail.com", + "bugtrack_url": null, + "classifiers": [ + "Topic :: Multimedia :: Sound/Audio :: Editors" + ], + "description": "a clickable grid for drum machines, piano rolls that is customizble from an init \r\nfile)or will be) that will include the script to be ran when a definable button is \r\nhit written in pygame and tested with python 2.5", + "description_content_type": null, + "docs_url": null, + "download_url": "http://www.ziddu.com/download/5498230/pygamepianorollbeta.90.zip.html", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "last_serial":710340, - "releases":{ - ".9":[ - { - "comment_text": "", - "digests": { - "md5": "76e2c2e8adea20377d9a7e6b6713c952", - "sha256": "8d6d96001aa7f0a6a4a95e8143225b5d06e41b1131044913fecb8f85a125714b" - }, - "downloads": -1, - "filename": "PyYAML-4.2b4-cp27-cp27m-win32.whl", - "has_sig": false, - "md5_digest": "76e2c2e8adea20377d9a7e6b6713c952", - "packagetype": "bdist_wheel", - "python_version": "cp27", - "requires_python": null, - "size": 104988, - "upload_time": "2018-07-02T03:17:55", - "url": "https://files.pythonhosted.org/packages/12/9b/efdbaa3c9694b6315a4410e0d494ad50c5ade22ce33f4b482bfaea3930fd/PyYAML-4.2b4-cp27-cp27m-win32.whl" - } - ], - "1.0":[ - { - "comment_text": "", - "digests": { - "md5": "a83441aa7004e474bed6f6daeb61f27a", - "sha256": "d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f" - }, - "downloads": -1, - "filename": "PyYAML-3.13-cp27-cp27m-win32.whl", - "has_sig": false, - "md5_digest": "a83441aa7004e474bed6f6daeb61f27a", - "packagetype": "bdist_wheel", - "python_version": "cp27", - "requires_python": null, - "size": 191712, - "upload_time": "2018-07-05T22:53:15", - "url": "https://files.pythonhosted.org/packages/b8/2e/9c2285870c9de070a1fa5ede702ab5fb329901b3cc4028c24f44eda27c5f/PyYAML-3.13-cp27-cp27m-win32.whl" - } - ] + "home_page": "http://dexrowem.blogspot.com/search?q=pygame+music+grid", + "keywords": "python, pygame, drum machine, piano roll", + "license": "", + "maintainer": "", + "maintainer_email": "", + "name": "pygame-music-grid", + "package_url": "https://pypi.org/project/pygame-music-grid/", + "platform": "", + "project_url": "https://pypi.org/project/pygame-music-grid/", + "project_urls": { + "Download": "http://www.ziddu.com/download/5498230/pygamepianorollbeta.90.zip.html", + "Homepage": "http://dexrowem.blogspot.com/search?q=pygame+music+grid" }, - "urls":[ - + "release_url": "https://pypi.org/project/pygame-music-grid/.9/", + "requires_dist": null, + "requires_python": null, + "summary": "a grid for music programs", + "version": ".9" + }, + "last_serial": 710340, + "releases": { + ".9": [ + { + "comment_text": "", + "digests": { + "md5": "76e2c2e8adea20377d9a7e6b6713c952", + "sha256": "8d6d96001aa7f0a6a4a95e8143225b5d06e41b1131044913fecb8f85a125714b" + }, + "downloads": -1, + "filename": "PyYAML-4.2b4-cp27-cp27m-win32.whl", + "has_sig": false, + "md5_digest": "76e2c2e8adea20377d9a7e6b6713c952", + "packagetype": "bdist_wheel", + "python_version": "cp27", + "requires_python": null, + "size": 104988, + "upload_time": "2018-07-02T03:17:55", + "url": "https://files.pythonhosted.org/packages/12/9b/efdbaa3c9694b6315a4410e0d494ad50c5ade22ce33f4b482bfaea3930fd/PyYAML-4.2b4-cp27-cp27m-win32.whl" + } + ], + "1.0": [ + { + "comment_text": "", + "digests": { + "md5": "a83441aa7004e474bed6f6daeb61f27a", + "sha256": "d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f" + }, + "downloads": -1, + "filename": "PyYAML-3.13-cp27-cp27m-win32.whl", + "has_sig": false, + "md5_digest": "a83441aa7004e474bed6f6daeb61f27a", + "packagetype": "bdist_wheel", + "python_version": "cp27", + "requires_python": null, + "size": 191712, + "upload_time": "2018-07-05T22:53:15", + "url": "https://files.pythonhosted.org/packages/b8/2e/9c2285870c9de070a1fa5ede702ab5fb329901b3cc4028c24f44eda27c5f/PyYAML-3.13-cp27-cp27m-win32.whl" + } ] + }, + "urls": [] } diff --git a/tests/repositories/fixtures/pypi.org/json/pytest.json b/tests/repositories/fixtures/pypi.org/json/pytest.json index 069f69cb4a5..e1891d3cc0e 100644 --- a/tests/repositories/fixtures/pypi.org/json/pytest.json +++ b/tests/repositories/fixtures/pypi.org/json/pytest.json @@ -1,127 +1,127 @@ { - "info": { - "author": "Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others", - "author_email": "", - "bugtrack_url": "https://github.com/pytest-dev/pytest/issues", - "classifiers": [ - "Development Status :: 6 - Mature", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": ".. image:: http://docs.pytest.org/en/latest/_static/pytest1.png\n :target: http://docs.pytest.org\n :align: center\n :alt: pytest\n\n------\n\n.. image:: https://img.shields.io/pypi/v/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://anaconda.org/conda-forge/pytest/badges/version.svg\n :target: https://anaconda.org/conda-forge/pytest\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://img.shields.io/coveralls/pytest-dev/pytest/master.svg\n :target: https://coveralls.io/r/pytest-dev/pytest\n\n.. image:: https://travis-ci.org/pytest-dev/pytest.svg?branch=master\n :target: https://travis-ci.org/pytest-dev/pytest\n\n.. image:: https://ci.appveyor.com/api/projects/status/mrgbjaua7t33pg6b?svg=true\n :target: https://ci.appveyor.com/project/pytestbot/pytest\n\n.. image:: https://www.codetriage.com/pytest-dev/pytest/badges/users.svg\n :target: https://www.codetriage.com/pytest-dev/pytest\n\nThe ``pytest`` framework makes it easy to write small tests, yet\nscales to support complex functional testing for applications and libraries.\n\nAn example of a simple test:\n\n.. code-block:: python\n\n # content of test_sample.py\n def inc(x):\n return x + 1\n\n def test_answer():\n assert inc(3) == 5\n\n\nTo execute it::\n\n $ pytest\n ============================= test session starts =============================\n collected 1 items\n\n test_sample.py F\n\n ================================== FAILURES ===================================\n _________________________________ test_answer _________________________________\n\n def test_answer():\n > assert inc(3) == 5\n E assert 4 == 5\n E + where 4 = inc(3)\n\n test_sample.py:5: AssertionError\n ========================== 1 failed in 0.04 seconds ===========================\n\n\nDue to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started `_ for more examples.\n\n\nFeatures\n--------\n\n- Detailed info on failing `assert statements `_ (no need to remember ``self.assert*`` names);\n\n- `Auto-discovery\n `_\n of test modules and functions;\n\n- `Modular fixtures `_ for\n managing small or parametrized long-lived test resources;\n\n- Can run `unittest `_ (or trial),\n `nose `_ test suites out of the box;\n\n- Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);\n\n- Rich plugin architecture, with over 315+ `external plugins `_ and thriving community;\n\n\nDocumentation\n-------------\n\nFor full documentation, including installation, tutorials and PDF documents, please see http://docs.pytest.org.\n\n\nBugs/Requests\n-------------\n\nPlease use the `GitHub issue tracker `_ to submit bugs or request features.\n\n\nChangelog\n---------\n\nConsult the `Changelog `__ page for fixes and enhancements of each version.\n\n\nLicense\n-------\n\nCopyright Holger Krekel and others, 2004-2017.\n\nDistributed under the terms of the `MIT`_ license, pytest is free and open source software.\n\n.. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE\n\n\n", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://pytest.org", - "keywords": "test unittest", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "pytest", - "package_url": "https://pypi.org/project/pytest/", - "platform": "unix", - "project_url": "https://pypi.org/project/pytest/", - "release_url": "https://pypi.org/project/pytest/3.5.0/", - "requires_dist": [ - "py (>=1.5.0)", - "six (>=1.10.0)", - "setuptools", - "attrs (>=17.4.0)", - "more-itertools (>=4.0.0)", - "pluggy (<0.7,>=0.5)", - "funcsigs; python_version < \"3.0\"", - "colorama; sys_platform == \"win32\"" - ], - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "pytest: simple powerful testing with Python", - "version": "3.5.0" - }, - "last_serial": 3697219, - "releases": { - "3.5.0": [ - { - "comment_text": "", - "digests": { - "md5": "c0b6697b7130c495aba71cdfcf939cc9", - "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" - }, - "downloads": -1, - "filename": "pytest-3.5.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 194247, - "upload_time": "2018-03-22T23:47:54", - "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "b8e13a4091f07ff1fda081cf40ff99f1", - "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" - }, - "downloads": -1, - "filename": "pytest-3.5.0.tar.gz", - "has_sig": false, - "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", - "packagetype": "sdist", - "python_version": "source", - "size": 830816, - "upload_time": "2018-03-22T23:47:56", - "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" - } - ] + "info": { + "author": "Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others", + "author_email": "", + "bugtrack_url": "https://github.com/pytest-dev/pytest/issues", + "classifiers": [ + "Development Status :: 6 - Mature", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": ".. image:: http://docs.pytest.org/en/latest/_static/pytest1.png\n :target: http://docs.pytest.org\n :align: center\n :alt: pytest\n\n------\n\n.. image:: https://img.shields.io/pypi/v/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://anaconda.org/conda-forge/pytest/badges/version.svg\n :target: https://anaconda.org/conda-forge/pytest\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://img.shields.io/coveralls/pytest-dev/pytest/master.svg\n :target: https://coveralls.io/r/pytest-dev/pytest\n\n.. image:: https://travis-ci.org/pytest-dev/pytest.svg?branch=master\n :target: https://travis-ci.org/pytest-dev/pytest\n\n.. image:: https://ci.appveyor.com/api/projects/status/mrgbjaua7t33pg6b?svg=true\n :target: https://ci.appveyor.com/project/pytestbot/pytest\n\n.. image:: https://www.codetriage.com/pytest-dev/pytest/badges/users.svg\n :target: https://www.codetriage.com/pytest-dev/pytest\n\nThe ``pytest`` framework makes it easy to write small tests, yet\nscales to support complex functional testing for applications and libraries.\n\nAn example of a simple test:\n\n.. code-block:: python\n\n # content of test_sample.py\n def inc(x):\n return x + 1\n\n def test_answer():\n assert inc(3) == 5\n\n\nTo execute it::\n\n $ pytest\n ============================= test session starts =============================\n collected 1 items\n\n test_sample.py F\n\n ================================== FAILURES ===================================\n _________________________________ test_answer _________________________________\n\n def test_answer():\n > assert inc(3) == 5\n E assert 4 == 5\n E + where 4 = inc(3)\n\n test_sample.py:5: AssertionError\n ========================== 1 failed in 0.04 seconds ===========================\n\n\nDue to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started `_ for more examples.\n\n\nFeatures\n--------\n\n- Detailed info on failing `assert statements `_ (no need to remember ``self.assert*`` names);\n\n- `Auto-discovery\n `_\n of test modules and functions;\n\n- `Modular fixtures `_ for\n managing small or parametrized long-lived test resources;\n\n- Can run `unittest `_ (or trial),\n `nose `_ test suites out of the box;\n\n- Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);\n\n- Rich plugin architecture, with over 315+ `external plugins `_ and thriving community;\n\n\nDocumentation\n-------------\n\nFor full documentation, including installation, tutorials and PDF documents, please see http://docs.pytest.org.\n\n\nBugs/Requests\n-------------\n\nPlease use the `GitHub issue tracker `_ to submit bugs or request features.\n\n\nChangelog\n---------\n\nConsult the `Changelog `__ page for fixes and enhancements of each version.\n\n\nLicense\n-------\n\nCopyright Holger Krekel and others, 2004-2017.\n\nDistributed under the terms of the `MIT`_ license, pytest is free and open source software.\n\n.. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE\n\n\n", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "c0b6697b7130c495aba71cdfcf939cc9", - "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" - }, - "downloads": -1, - "filename": "pytest-3.5.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 194247, - "upload_time": "2018-03-22T23:47:54", - "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + "home_page": "http://pytest.org", + "keywords": "test unittest", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "pytest", + "package_url": "https://pypi.org/project/pytest/", + "platform": "unix", + "project_url": "https://pypi.org/project/pytest/", + "release_url": "https://pypi.org/project/pytest/3.5.0/", + "requires_dist": [ + "py (>=1.5.0)", + "six (>=1.10.0)", + "setuptools", + "attrs (>=17.4.0)", + "more-itertools (>=4.0.0)", + "pluggy (<0.7,>=0.5)", + "funcsigs; python_version < \"3.0\"", + "colorama; sys_platform == \"win32\"" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "pytest: simple powerful testing with Python", + "version": "3.5.0" + }, + "last_serial": 3697219, + "releases": { + "3.5.0": [ + { + "comment_text": "", + "digests": { + "md5": "c0b6697b7130c495aba71cdfcf939cc9", + "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" }, - { - "comment_text": "", - "digests": { - "md5": "b8e13a4091f07ff1fda081cf40ff99f1", - "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" - }, - "downloads": -1, - "filename": "pytest-3.5.0.tar.gz", - "has_sig": false, - "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", - "packagetype": "sdist", - "python_version": "source", - "size": 830816, - "upload_time": "2018-03-22T23:47:56", - "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" - } + "downloads": -1, + "filename": "pytest-3.5.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 194247, + "upload_time": "2018-03-22T23:47:54", + "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "b8e13a4091f07ff1fda081cf40ff99f1", + "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" + }, + "downloads": -1, + "filename": "pytest-3.5.0.tar.gz", + "has_sig": false, + "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", + "packagetype": "sdist", + "python_version": "source", + "size": 830816, + "upload_time": "2018-03-22T23:47:56", + "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "c0b6697b7130c495aba71cdfcf939cc9", + "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" + }, + "downloads": -1, + "filename": "pytest-3.5.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 194247, + "upload_time": "2018-03-22T23:47:54", + "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "b8e13a4091f07ff1fda081cf40ff99f1", + "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" + }, + "downloads": -1, + "filename": "pytest-3.5.0.tar.gz", + "has_sig": false, + "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", + "packagetype": "sdist", + "python_version": "source", + "size": 830816, + "upload_time": "2018-03-22T23:47:56", + "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json index 069f69cb4a5..e1891d3cc0e 100644 --- a/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json +++ b/tests/repositories/fixtures/pypi.org/json/pytest/3.5.0.json @@ -1,127 +1,127 @@ { - "info": { - "author": "Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others", - "author_email": "", - "bugtrack_url": "https://github.com/pytest-dev/pytest/issues", - "classifiers": [ - "Development Status :: 6 - Mature", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Topic :: Software Development :: Libraries", - "Topic :: Software Development :: Testing", - "Topic :: Utilities" - ], - "description": ".. image:: http://docs.pytest.org/en/latest/_static/pytest1.png\n :target: http://docs.pytest.org\n :align: center\n :alt: pytest\n\n------\n\n.. image:: https://img.shields.io/pypi/v/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://anaconda.org/conda-forge/pytest/badges/version.svg\n :target: https://anaconda.org/conda-forge/pytest\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://img.shields.io/coveralls/pytest-dev/pytest/master.svg\n :target: https://coveralls.io/r/pytest-dev/pytest\n\n.. image:: https://travis-ci.org/pytest-dev/pytest.svg?branch=master\n :target: https://travis-ci.org/pytest-dev/pytest\n\n.. image:: https://ci.appveyor.com/api/projects/status/mrgbjaua7t33pg6b?svg=true\n :target: https://ci.appveyor.com/project/pytestbot/pytest\n\n.. image:: https://www.codetriage.com/pytest-dev/pytest/badges/users.svg\n :target: https://www.codetriage.com/pytest-dev/pytest\n\nThe ``pytest`` framework makes it easy to write small tests, yet\nscales to support complex functional testing for applications and libraries.\n\nAn example of a simple test:\n\n.. code-block:: python\n\n # content of test_sample.py\n def inc(x):\n return x + 1\n\n def test_answer():\n assert inc(3) == 5\n\n\nTo execute it::\n\n $ pytest\n ============================= test session starts =============================\n collected 1 items\n\n test_sample.py F\n\n ================================== FAILURES ===================================\n _________________________________ test_answer _________________________________\n\n def test_answer():\n > assert inc(3) == 5\n E assert 4 == 5\n E + where 4 = inc(3)\n\n test_sample.py:5: AssertionError\n ========================== 1 failed in 0.04 seconds ===========================\n\n\nDue to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started `_ for more examples.\n\n\nFeatures\n--------\n\n- Detailed info on failing `assert statements `_ (no need to remember ``self.assert*`` names);\n\n- `Auto-discovery\n `_\n of test modules and functions;\n\n- `Modular fixtures `_ for\n managing small or parametrized long-lived test resources;\n\n- Can run `unittest `_ (or trial),\n `nose `_ test suites out of the box;\n\n- Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);\n\n- Rich plugin architecture, with over 315+ `external plugins `_ and thriving community;\n\n\nDocumentation\n-------------\n\nFor full documentation, including installation, tutorials and PDF documents, please see http://docs.pytest.org.\n\n\nBugs/Requests\n-------------\n\nPlease use the `GitHub issue tracker `_ to submit bugs or request features.\n\n\nChangelog\n---------\n\nConsult the `Changelog `__ page for fixes and enhancements of each version.\n\n\nLicense\n-------\n\nCopyright Holger Krekel and others, 2004-2017.\n\nDistributed under the terms of the `MIT`_ license, pytest is free and open source software.\n\n.. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE\n\n\n", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://pytest.org", - "keywords": "test unittest", - "license": "MIT license", - "maintainer": "", - "maintainer_email": "", - "name": "pytest", - "package_url": "https://pypi.org/project/pytest/", - "platform": "unix", - "project_url": "https://pypi.org/project/pytest/", - "release_url": "https://pypi.org/project/pytest/3.5.0/", - "requires_dist": [ - "py (>=1.5.0)", - "six (>=1.10.0)", - "setuptools", - "attrs (>=17.4.0)", - "more-itertools (>=4.0.0)", - "pluggy (<0.7,>=0.5)", - "funcsigs; python_version < \"3.0\"", - "colorama; sys_platform == \"win32\"" - ], - "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", - "summary": "pytest: simple powerful testing with Python", - "version": "3.5.0" - }, - "last_serial": 3697219, - "releases": { - "3.5.0": [ - { - "comment_text": "", - "digests": { - "md5": "c0b6697b7130c495aba71cdfcf939cc9", - "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" - }, - "downloads": -1, - "filename": "pytest-3.5.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 194247, - "upload_time": "2018-03-22T23:47:54", - "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "b8e13a4091f07ff1fda081cf40ff99f1", - "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" - }, - "downloads": -1, - "filename": "pytest-3.5.0.tar.gz", - "has_sig": false, - "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", - "packagetype": "sdist", - "python_version": "source", - "size": 830816, - "upload_time": "2018-03-22T23:47:56", - "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" - } - ] + "info": { + "author": "Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others", + "author_email": "", + "bugtrack_url": "https://github.com/pytest-dev/pytest/issues", + "classifiers": [ + "Development Status :: 6 - Mature", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Topic :: Software Development :: Libraries", + "Topic :: Software Development :: Testing", + "Topic :: Utilities" + ], + "description": ".. image:: http://docs.pytest.org/en/latest/_static/pytest1.png\n :target: http://docs.pytest.org\n :align: center\n :alt: pytest\n\n------\n\n.. image:: https://img.shields.io/pypi/v/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://anaconda.org/conda-forge/pytest/badges/version.svg\n :target: https://anaconda.org/conda-forge/pytest\n\n.. image:: https://img.shields.io/pypi/pyversions/pytest.svg\n :target: https://pypi.python.org/pypi/pytest\n\n.. image:: https://img.shields.io/coveralls/pytest-dev/pytest/master.svg\n :target: https://coveralls.io/r/pytest-dev/pytest\n\n.. image:: https://travis-ci.org/pytest-dev/pytest.svg?branch=master\n :target: https://travis-ci.org/pytest-dev/pytest\n\n.. image:: https://ci.appveyor.com/api/projects/status/mrgbjaua7t33pg6b?svg=true\n :target: https://ci.appveyor.com/project/pytestbot/pytest\n\n.. image:: https://www.codetriage.com/pytest-dev/pytest/badges/users.svg\n :target: https://www.codetriage.com/pytest-dev/pytest\n\nThe ``pytest`` framework makes it easy to write small tests, yet\nscales to support complex functional testing for applications and libraries.\n\nAn example of a simple test:\n\n.. code-block:: python\n\n # content of test_sample.py\n def inc(x):\n return x + 1\n\n def test_answer():\n assert inc(3) == 5\n\n\nTo execute it::\n\n $ pytest\n ============================= test session starts =============================\n collected 1 items\n\n test_sample.py F\n\n ================================== FAILURES ===================================\n _________________________________ test_answer _________________________________\n\n def test_answer():\n > assert inc(3) == 5\n E assert 4 == 5\n E + where 4 = inc(3)\n\n test_sample.py:5: AssertionError\n ========================== 1 failed in 0.04 seconds ===========================\n\n\nDue to ``pytest``'s detailed assertion introspection, only plain ``assert`` statements are used. See `getting-started `_ for more examples.\n\n\nFeatures\n--------\n\n- Detailed info on failing `assert statements `_ (no need to remember ``self.assert*`` names);\n\n- `Auto-discovery\n `_\n of test modules and functions;\n\n- `Modular fixtures `_ for\n managing small or parametrized long-lived test resources;\n\n- Can run `unittest `_ (or trial),\n `nose `_ test suites out of the box;\n\n- Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);\n\n- Rich plugin architecture, with over 315+ `external plugins `_ and thriving community;\n\n\nDocumentation\n-------------\n\nFor full documentation, including installation, tutorials and PDF documents, please see http://docs.pytest.org.\n\n\nBugs/Requests\n-------------\n\nPlease use the `GitHub issue tracker `_ to submit bugs or request features.\n\n\nChangelog\n---------\n\nConsult the `Changelog `__ page for fixes and enhancements of each version.\n\n\nLicense\n-------\n\nCopyright Holger Krekel and others, 2004-2017.\n\nDistributed under the terms of the `MIT`_ license, pytest is free and open source software.\n\n.. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE\n\n\n", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "c0b6697b7130c495aba71cdfcf939cc9", - "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" - }, - "downloads": -1, - "filename": "pytest-3.5.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 194247, - "upload_time": "2018-03-22T23:47:54", - "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + "home_page": "http://pytest.org", + "keywords": "test unittest", + "license": "MIT license", + "maintainer": "", + "maintainer_email": "", + "name": "pytest", + "package_url": "https://pypi.org/project/pytest/", + "platform": "unix", + "project_url": "https://pypi.org/project/pytest/", + "release_url": "https://pypi.org/project/pytest/3.5.0/", + "requires_dist": [ + "py (>=1.5.0)", + "six (>=1.10.0)", + "setuptools", + "attrs (>=17.4.0)", + "more-itertools (>=4.0.0)", + "pluggy (<0.7,>=0.5)", + "funcsigs; python_version < \"3.0\"", + "colorama; sys_platform == \"win32\"" + ], + "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", + "summary": "pytest: simple powerful testing with Python", + "version": "3.5.0" + }, + "last_serial": 3697219, + "releases": { + "3.5.0": [ + { + "comment_text": "", + "digests": { + "md5": "c0b6697b7130c495aba71cdfcf939cc9", + "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" }, - { - "comment_text": "", - "digests": { - "md5": "b8e13a4091f07ff1fda081cf40ff99f1", - "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" - }, - "downloads": -1, - "filename": "pytest-3.5.0.tar.gz", - "has_sig": false, - "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", - "packagetype": "sdist", - "python_version": "source", - "size": 830816, - "upload_time": "2018-03-22T23:47:56", - "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" - } + "downloads": -1, + "filename": "pytest-3.5.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 194247, + "upload_time": "2018-03-22T23:47:54", + "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "b8e13a4091f07ff1fda081cf40ff99f1", + "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" + }, + "downloads": -1, + "filename": "pytest-3.5.0.tar.gz", + "has_sig": false, + "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", + "packagetype": "sdist", + "python_version": "source", + "size": 830816, + "upload_time": "2018-03-22T23:47:56", + "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "c0b6697b7130c495aba71cdfcf939cc9", + "sha256": "6266f87ab64692112e5477eba395cfedda53b1933ccd29478e671e73b420c19c" + }, + "downloads": -1, + "filename": "pytest-3.5.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "c0b6697b7130c495aba71cdfcf939cc9", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 194247, + "upload_time": "2018-03-22T23:47:54", + "url": "https://files.pythonhosted.org/packages/ed/96/271c93f75212c06e2a7ec3e2fa8a9c90acee0a4838dc05bf379ea09aae31/pytest-3.5.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "b8e13a4091f07ff1fda081cf40ff99f1", + "sha256": "fae491d1874f199537fd5872b5e1f0e74a009b979df9d53d1553fd03da1703e1" + }, + "downloads": -1, + "filename": "pytest-3.5.0.tar.gz", + "has_sig": false, + "md5_digest": "b8e13a4091f07ff1fda081cf40ff99f1", + "packagetype": "sdist", + "python_version": "source", + "size": 830816, + "upload_time": "2018-03-22T23:47:56", + "url": "https://files.pythonhosted.org/packages/2d/56/6019153cdd743300c5688ab3b07702355283e53c83fbf922242c053ffb7b/pytest-3.5.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/setuptools.json b/tests/repositories/fixtures/pypi.org/json/setuptools.json index bc38a3d344d..d679e6d7d5c 100644 --- a/tests/repositories/fixtures/pypi.org/json/setuptools.json +++ b/tests/repositories/fixtures/pypi.org/json/setuptools.json @@ -1,90 +1,55 @@ { - "info": { - "author": "Python Packaging Authority", - "author_email": "distutils-sig@python.org", - "bugtrack_url": "", - "classifiers": [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", - "Programming Language :: Python :: 3.4", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: System :: Archiving :: Packaging", - "Topic :: System :: Systems Administration", - "Topic :: Utilities" - ], - "description": "", - "description_content_type": "text/x-rst; charset=UTF-8", - "docs_url": null, - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "https://github.com/pypa/setuptools", - "keywords": "CPAN PyPI distutils eggs package management", - "license": "", - "maintainer": "", - "maintainer_email": "", - "name": "setuptools", - "package_url": "https://pypi.org/project/setuptools/", - "platform": "", - "project_url": "https://pypi.org/project/setuptools/", - "release_url": "https://pypi.org/project/setuptools/39.2.0/", - "requires_dist": [ - "wincertstore (==0.2); (sys_platform=='win32') and extra == 'ssl'", - "certifi (==2016.9.26); extra == 'certs'" - ], - "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", - "summary": "Easily download, build, install, upgrade, and uninstall Python packages", - "version": "39.2.0" - }, - "last_serial": 3879671, - "releases": { - "39.2.0": [ - { - "comment_text": "", - "digests": { - "md5": "8d066d2201311ed30be535b473e32fed", - "sha256": "8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926" - }, - "downloads": -1, - "filename": "setuptools-39.2.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "8d066d2201311ed30be535b473e32fed", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 567556, - "upload_time": "2018-05-19T19:19:22", - "url": "https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "dd4e3fa83a21bf7bf9c51026dc8a4e59", - "sha256": "f7cddbb5f5c640311eb00eab6e849f7701fa70bf6a183fc8a2c33dd1d1672fb2" - }, - "downloads": -1, - "filename": "setuptools-39.2.0.zip", - "has_sig": false, - "md5_digest": "dd4e3fa83a21bf7bf9c51026dc8a4e59", - "packagetype": "sdist", - "python_version": "source", - "size": 851112, - "upload_time": "2018-05-19T19:19:24", - "url": "https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip" - } - ] + "info": { + "author": "Python Packaging Authority", + "author_email": "distutils-sig@python.org", + "bugtrack_url": "", + "classifiers": [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 2.7", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: System :: Archiving :: Packaging", + "Topic :: System :: Systems Administration", + "Topic :: Utilities" + ], + "description": "", + "description_content_type": "text/x-rst; charset=UTF-8", + "docs_url": null, + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ + "home_page": "https://github.com/pypa/setuptools", + "keywords": "CPAN PyPI distutils eggs package management", + "license": "", + "maintainer": "", + "maintainer_email": "", + "name": "setuptools", + "package_url": "https://pypi.org/project/setuptools/", + "platform": "", + "project_url": "https://pypi.org/project/setuptools/", + "release_url": "https://pypi.org/project/setuptools/39.2.0/", + "requires_dist": [ + "wincertstore (==0.2); (sys_platform=='win32') and extra == 'ssl'", + "certifi (==2016.9.26); extra == 'certs'" + ], + "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", + "summary": "Easily download, build, install, upgrade, and uninstall Python packages", + "version": "39.2.0" + }, + "last_serial": 3879671, + "releases": { + "39.2.0": [ { "comment_text": "", "digests": { @@ -118,4 +83,39 @@ "url": "https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip" } ] - } + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "8d066d2201311ed30be535b473e32fed", + "sha256": "8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926" + }, + "downloads": -1, + "filename": "setuptools-39.2.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "8d066d2201311ed30be535b473e32fed", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 567556, + "upload_time": "2018-05-19T19:19:22", + "url": "https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "dd4e3fa83a21bf7bf9c51026dc8a4e59", + "sha256": "f7cddbb5f5c640311eb00eab6e849f7701fa70bf6a183fc8a2c33dd1d1672fb2" + }, + "downloads": -1, + "filename": "setuptools-39.2.0.zip", + "has_sig": false, + "md5_digest": "dd4e3fa83a21bf7bf9c51026dc8a4e59", + "packagetype": "sdist", + "python_version": "source", + "size": 851112, + "upload_time": "2018-05-19T19:19:24", + "url": "https://files.pythonhosted.org/packages/1a/04/d6f1159feaccdfc508517dba1929eb93a2854de729fa68da9d5c6b48fa00/setuptools-39.2.0.zip" + } + ] +} diff --git a/tests/repositories/fixtures/pypi.org/json/six.json b/tests/repositories/fixtures/pypi.org/json/six.json index befe565a645..92d79c54396 100644 --- a/tests/repositories/fixtures/pypi.org/json/six.json +++ b/tests/repositories/fixtures/pypi.org/json/six.json @@ -1,108 +1,108 @@ { - "info": { - "author": "Benjamin Peterson", - "author_email": "benjamin@python.org", - "bugtrack_url": null, - "classifiers": [ - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 3", - "Topic :: Software Development :: Libraries", - "Topic :: Utilities" - ], - "description": "", - "docs_url": "https://pythonhosted.org/six/", - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://pypi.python.org/pypi/six/", - "keywords": "", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "six", - "package_url": "https://pypi.org/project/six/", - "platform": "", - "project_url": "https://pypi.org/project/six/", - "release_url": "https://pypi.org/project/six/1.11.0/", - "requires_dist": null, - "requires_python": "", - "summary": "Python 2 and 3 compatibility utilities", - "version": "1.11.0" - }, - "last_serial": 3180827, - "releases": { - "1.11.0": [ - { - "comment_text": "", - "digests": { - "md5": "866ab722be6bdfed6830f3179af65468", - "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" - }, - "downloads": -1, - "filename": "six-1.11.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "866ab722be6bdfed6830f3179af65468", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 10702, - "upload_time": "2017-09-17T18:46:53", - "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "d12789f9baf7e9fb2524c0c64f1773f8", - "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" - }, - "downloads": -1, - "filename": "six-1.11.0.tar.gz", - "has_sig": false, - "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", - "packagetype": "sdist", - "python_version": "source", - "size": 29860, - "upload_time": "2017-09-17T18:46:54", - "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" - } - ] + "info": { + "author": "Benjamin Peterson", + "author_email": "benjamin@python.org", + "bugtrack_url": null, + "classifiers": [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 3", + "Topic :: Software Development :: Libraries", + "Topic :: Utilities" + ], + "description": "", + "docs_url": "https://pythonhosted.org/six/", + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "866ab722be6bdfed6830f3179af65468", - "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" - }, - "downloads": -1, - "filename": "six-1.11.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "866ab722be6bdfed6830f3179af65468", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 10702, - "upload_time": "2017-09-17T18:46:53", - "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + "home_page": "http://pypi.python.org/pypi/six/", + "keywords": "", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "six", + "package_url": "https://pypi.org/project/six/", + "platform": "", + "project_url": "https://pypi.org/project/six/", + "release_url": "https://pypi.org/project/six/1.11.0/", + "requires_dist": null, + "requires_python": "", + "summary": "Python 2 and 3 compatibility utilities", + "version": "1.11.0" + }, + "last_serial": 3180827, + "releases": { + "1.11.0": [ + { + "comment_text": "", + "digests": { + "md5": "866ab722be6bdfed6830f3179af65468", + "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" }, - { - "comment_text": "", - "digests": { - "md5": "d12789f9baf7e9fb2524c0c64f1773f8", - "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" - }, - "downloads": -1, - "filename": "six-1.11.0.tar.gz", - "has_sig": false, - "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", - "packagetype": "sdist", - "python_version": "source", - "size": 29860, - "upload_time": "2017-09-17T18:46:54", - "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" - } + "downloads": -1, + "filename": "six-1.11.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "866ab722be6bdfed6830f3179af65468", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 10702, + "upload_time": "2017-09-17T18:46:53", + "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d12789f9baf7e9fb2524c0c64f1773f8", + "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" + }, + "downloads": -1, + "filename": "six-1.11.0.tar.gz", + "has_sig": false, + "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", + "packagetype": "sdist", + "python_version": "source", + "size": 29860, + "upload_time": "2017-09-17T18:46:54", + "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "866ab722be6bdfed6830f3179af65468", + "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + }, + "downloads": -1, + "filename": "six-1.11.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "866ab722be6bdfed6830f3179af65468", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 10702, + "upload_time": "2017-09-17T18:46:53", + "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d12789f9baf7e9fb2524c0c64f1773f8", + "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" + }, + "downloads": -1, + "filename": "six-1.11.0.tar.gz", + "has_sig": false, + "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", + "packagetype": "sdist", + "python_version": "source", + "size": 29860, + "upload_time": "2017-09-17T18:46:54", + "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" + } + ] } diff --git a/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json b/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json index befe565a645..92d79c54396 100644 --- a/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json +++ b/tests/repositories/fixtures/pypi.org/json/six/1.11.0.json @@ -1,108 +1,108 @@ { - "info": { - "author": "Benjamin Peterson", - "author_email": "benjamin@python.org", - "bugtrack_url": null, - "classifiers": [ - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 3", - "Topic :: Software Development :: Libraries", - "Topic :: Utilities" - ], - "description": "", - "docs_url": "https://pythonhosted.org/six/", - "download_url": "", - "downloads": { - "last_day": -1, - "last_month": -1, - "last_week": -1 - }, - "home_page": "http://pypi.python.org/pypi/six/", - "keywords": "", - "license": "MIT", - "maintainer": "", - "maintainer_email": "", - "name": "six", - "package_url": "https://pypi.org/project/six/", - "platform": "", - "project_url": "https://pypi.org/project/six/", - "release_url": "https://pypi.org/project/six/1.11.0/", - "requires_dist": null, - "requires_python": "", - "summary": "Python 2 and 3 compatibility utilities", - "version": "1.11.0" - }, - "last_serial": 3180827, - "releases": { - "1.11.0": [ - { - "comment_text": "", - "digests": { - "md5": "866ab722be6bdfed6830f3179af65468", - "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" - }, - "downloads": -1, - "filename": "six-1.11.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "866ab722be6bdfed6830f3179af65468", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 10702, - "upload_time": "2017-09-17T18:46:53", - "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" - }, - { - "comment_text": "", - "digests": { - "md5": "d12789f9baf7e9fb2524c0c64f1773f8", - "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" - }, - "downloads": -1, - "filename": "six-1.11.0.tar.gz", - "has_sig": false, - "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", - "packagetype": "sdist", - "python_version": "source", - "size": 29860, - "upload_time": "2017-09-17T18:46:54", - "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" - } - ] + "info": { + "author": "Benjamin Peterson", + "author_email": "benjamin@python.org", + "bugtrack_url": null, + "classifiers": [ + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 2", + "Programming Language :: Python :: 3", + "Topic :: Software Development :: Libraries", + "Topic :: Utilities" + ], + "description": "", + "docs_url": "https://pythonhosted.org/six/", + "download_url": "", + "downloads": { + "last_day": -1, + "last_month": -1, + "last_week": -1 }, - "urls": [ - { - "comment_text": "", - "digests": { - "md5": "866ab722be6bdfed6830f3179af65468", - "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" - }, - "downloads": -1, - "filename": "six-1.11.0-py2.py3-none-any.whl", - "has_sig": false, - "md5_digest": "866ab722be6bdfed6830f3179af65468", - "packagetype": "bdist_wheel", - "python_version": "py2.py3", - "size": 10702, - "upload_time": "2017-09-17T18:46:53", - "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + "home_page": "http://pypi.python.org/pypi/six/", + "keywords": "", + "license": "MIT", + "maintainer": "", + "maintainer_email": "", + "name": "six", + "package_url": "https://pypi.org/project/six/", + "platform": "", + "project_url": "https://pypi.org/project/six/", + "release_url": "https://pypi.org/project/six/1.11.0/", + "requires_dist": null, + "requires_python": "", + "summary": "Python 2 and 3 compatibility utilities", + "version": "1.11.0" + }, + "last_serial": 3180827, + "releases": { + "1.11.0": [ + { + "comment_text": "", + "digests": { + "md5": "866ab722be6bdfed6830f3179af65468", + "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" }, - { - "comment_text": "", - "digests": { - "md5": "d12789f9baf7e9fb2524c0c64f1773f8", - "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" - }, - "downloads": -1, - "filename": "six-1.11.0.tar.gz", - "has_sig": false, - "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", - "packagetype": "sdist", - "python_version": "source", - "size": 29860, - "upload_time": "2017-09-17T18:46:54", - "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" - } + "downloads": -1, + "filename": "six-1.11.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "866ab722be6bdfed6830f3179af65468", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 10702, + "upload_time": "2017-09-17T18:46:53", + "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d12789f9baf7e9fb2524c0c64f1773f8", + "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" + }, + "downloads": -1, + "filename": "six-1.11.0.tar.gz", + "has_sig": false, + "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", + "packagetype": "sdist", + "python_version": "source", + "size": 29860, + "upload_time": "2017-09-17T18:46:54", + "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" + } ] + }, + "urls": [ + { + "comment_text": "", + "digests": { + "md5": "866ab722be6bdfed6830f3179af65468", + "sha256": "832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + }, + "downloads": -1, + "filename": "six-1.11.0-py2.py3-none-any.whl", + "has_sig": false, + "md5_digest": "866ab722be6bdfed6830f3179af65468", + "packagetype": "bdist_wheel", + "python_version": "py2.py3", + "size": 10702, + "upload_time": "2017-09-17T18:46:53", + "url": "https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl" + }, + { + "comment_text": "", + "digests": { + "md5": "d12789f9baf7e9fb2524c0c64f1773f8", + "sha256": "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" + }, + "downloads": -1, + "filename": "six-1.11.0.tar.gz", + "has_sig": false, + "md5_digest": "d12789f9baf7e9fb2524c0c64f1773f8", + "packagetype": "sdist", + "python_version": "source", + "size": 29860, + "upload_time": "2017-09-17T18:46:54", + "url": "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz" + } + ] } From 575c931a7ce6262f4ef4189fa035130609582323 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sun, 14 Nov 2021 12:32:08 -0700 Subject: [PATCH 6/7] fix: newlines in fixtures --- .../lib/python3.7/site-packages/standard.pth | 2 +- .../lib64/python3.7/site-packages/bender.pth | 2 +- .../src/pendulum/pendulum.egg-info/PKG-INFO | 158 +++++++++--------- tests/repositories/fixtures/legacy/black.html | 2 +- 4 files changed, 82 insertions(+), 82 deletions(-) diff --git a/tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard.pth b/tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard.pth index aa0bc074b62..a6a7b9cd726 100644 --- a/tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard.pth +++ b/tests/repositories/fixtures/installed/lib/python3.7/site-packages/standard.pth @@ -1 +1 @@ -standard \ No newline at end of file +standard diff --git a/tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender.pth b/tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender.pth index 8450d61d59e..7f799e42848 100644 --- a/tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender.pth +++ b/tests/repositories/fixtures/installed/lib64/python3.7/site-packages/bender.pth @@ -1 +1 @@ -../../../src/bender \ No newline at end of file +../../../src/bender diff --git a/tests/repositories/fixtures/installed/src/pendulum/pendulum.egg-info/PKG-INFO b/tests/repositories/fixtures/installed/src/pendulum/pendulum.egg-info/PKG-INFO index f7ee228c556..8b00a917386 100644 --- a/tests/repositories/fixtures/installed/src/pendulum/pendulum.egg-info/PKG-INFO +++ b/tests/repositories/fixtures/installed/src/pendulum/pendulum.egg-info/PKG-INFO @@ -8,228 +8,228 @@ Author-email: sebastien@eustace.io License: UNKNOWN Description: Pendulum ######## - + .. image:: https://img.shields.io/pypi/v/pendulum.svg :target: https://pypi.python.org/pypi/pendulum - + .. image:: https://img.shields.io/pypi/l/pendulum.svg :target: https://pypi.python.org/pypi/pendulum - + .. image:: https://img.shields.io/codecov/c/github/sdispater/pendulum/master.svg :target: https://codecov.io/gh/sdispater/pendulum/branch/master - + .. image:: https://travis-ci.org/sdispater/pendulum.svg :alt: Pendulum Build status :target: https://travis-ci.org/sdispater/pendulum - + Python datetimes made easy. - + Supports Python **2.7** and **3.4+**. - - + + .. code-block:: python - + >>> import pendulum - + >>> now_in_paris = pendulum.now('Europe/Paris') >>> now_in_paris '2016-07-04T00:49:58.502116+02:00' - + # Seamless timezone switching >>> now_in_paris.in_timezone('UTC') '2016-07-03T22:49:58.502116+00:00' - + >>> tomorrow = pendulum.now().add(days=1) >>> last_week = pendulum.now().subtract(weeks=1) - + >>> past = pendulum.now().subtract(minutes=2) >>> past.diff_for_humans() >>> '2 minutes ago' - + >>> delta = past - last_week >>> delta.hours 23 >>> delta.in_words(locale='en') '6 days 23 hours 58 minutes' - + # Proper handling of datetime normalization >>> pendulum.datetime(2013, 3, 31, 2, 30, tz='Europe/Paris') '2013-03-31T03:30:00+02:00' # 2:30 does not exist (Skipped time) - + # Proper handling of dst transitions >>> just_before = pendulum.datetime(2013, 3, 31, 1, 59, 59, 999999, tz='Europe/Paris') '2013-03-31T01:59:59.999999+01:00' >>> just_before.add(microseconds=1) '2013-03-31T03:00:00+02:00' - - + + Why Pendulum? ============= - + Native ``datetime`` instances are enough for basic cases but when you face more complex use-cases they often show limitations and are not so intuitive to work with. ``Pendulum`` provides a cleaner and more easy to use API while still relying on the standard library. So it's still ``datetime`` but better. - + Unlike other datetime libraries for Python, Pendulum is a drop-in replacement for the standard ``datetime`` class (it inherits from it), so, basically, you can replace all your ``datetime`` instances by ``DateTime`` instances in you code (exceptions exist for libraries that check the type of the objects by using the ``type`` function like ``sqlite3`` or ``PyMySQL`` for instance). - + It also removes the notion of naive datetimes: each ``Pendulum`` instance is timezone-aware and by default in ``UTC`` for ease of use. - + Pendulum also improves the standard ``timedelta`` class by providing more intuitive methods and properties. - - + + Why not Arrow? ============== - + Arrow is the most popular datetime library for Python right now, however its behavior and API can be erratic and unpredictable. The ``get()`` method can receive pretty much anything and it will try its best to return something while silently failing to handle some cases: - + .. code-block:: python - + arrow.get('2016-1-17') # - + pendulum.parse('2016-1-17') # - + arrow.get('20160413') # - + pendulum.parse('20160413') # - + arrow.get('2016-W07-5') # - + pendulum.parse('2016-W07-5') # - + # Working with DST just_before = arrow.Arrow(2013, 3, 31, 1, 59, 59, 999999, 'Europe/Paris') just_after = just_before.replace(microseconds=1) '2013-03-31T02:00:00+02:00' # Should be 2013-03-31T03:00:00+02:00 - + (just_after.to('utc') - just_before.to('utc')).total_seconds() -3599.999999 # Should be 1e-06 - + just_before = pendulum.datetime(2013, 3, 31, 1, 59, 59, 999999, 'Europe/Paris') just_after = just_before.add(microseconds=1) '2013-03-31T03:00:00+02:00' - + (just_after.in_timezone('utc') - just_before.in_timezone('utc')).total_seconds() 1e-06 - + Those are a few examples showing that Arrow cannot always be trusted to have a consistent behavior with the data you are passing to it. - - + + Limitations =========== - + Even though the ``DateTime`` class is a subclass of ``datetime`` there are some rare cases where it can't replace the native class directly. Here is a list (non-exhaustive) of the reported cases with a possible solution, if any: - + * ``sqlite3`` will use the ``type()`` function to determine the type of the object by default. To work around it you can register a new adapter: - + .. code-block:: python - + from pendulum import DateTime from sqlite3 import register_adapter - + register_adapter(DateTime, lambda val: val.isoformat(' ')) - + * ``mysqlclient`` (former ``MySQLdb``) and ``PyMySQL`` will use the ``type()`` function to determine the type of the object by default. To work around it you can register a new adapter: - + .. code-block:: python - + import MySQLdb.converters import pymysql.converters - + from pendulum import DateTime - + MySQLdb.converters.conversions[DateTime] = MySQLdb.converters.DateTime2literal pymysql.converters.conversions[DateTime] = pymysql.converters.escape_datetime - + * ``django`` will use the ``isoformat()`` method to store datetimes in the database. However since ``pendulum`` is always timezone aware the offset information will always be returned by ``isoformat()`` raising an error, at least for MySQL databases. To work around it you can either create your own ``DateTimeField`` or use the previous workaround for ``MySQLdb``: - + .. code-block:: python - + from django.db.models import DateTimeField as BaseDateTimeField from pendulum import DateTime - - + + class DateTimeField(BaseDateTimeField): - + def value_to_string(self, obj): val = self.value_from_object(obj) - + if isinstance(value, DateTime): return value.to_datetime_string() - + return '' if val is None else val.isoformat() - - + + Resources ========= - + * `Official Website `_ * `Documentation `_ * `Issue Tracker `_ - - + + Contributing ============ - + Contributions are welcome, especially with localization. - + Getting started --------------- - + To work on the Pendulum codebase, you'll want to clone the project locally and install the required depedendencies via `poetry `_. - + .. code-block:: bash - + $ git clone git@github.com:sdispater/pendulum.git $ poetry install - + Localization ------------ - + If you want to help with localization, there are two different cases: the locale already exists or not. - + If the locale does not exist you will need to create it by using the ``clock`` utility: - + .. code-block:: bash - + ./clock locale create - + It will generate a directory in ``pendulum/locales`` named after your locale, with the following structure: - + .. code-block:: text - + / - custom.py - locale.py - + The ``locale.py`` file must not be modified. It contains the translations provided by the CLDR database. - + The ``custom.py`` file is the one you want to modify. It contains the data needed by Pendulum that are not provided by the CLDR database. You can take the `en `_ data as a reference to see which data is needed. - + You should also add tests for the created or modified locale. - + Platform: UNKNOWN Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* diff --git a/tests/repositories/fixtures/legacy/black.html b/tests/repositories/fixtures/legacy/black.html index 333fd93ef02..9d3fa08c633 100644 --- a/tests/repositories/fixtures/legacy/black.html +++ b/tests/repositories/fixtures/legacy/black.html @@ -7,4 +7,4 @@

Links for black

black-19.10b0.tar.gz - \ No newline at end of file + From b9fc2b11dae82617b60c7229d73d4c39901e3c23 Mon Sep 17 00:00:00 2001 From: Bjorn Neergaard Date: Sun, 14 Nov 2021 13:00:48 -0700 Subject: [PATCH 7/7] fix: trailing whitespace in test file The `debug resolve` had an extra row included in its table, adding extra whitespace. Also, remove a list that is discarded immediately. --- poetry/console/commands/debug/resolve.py | 3 +-- tests/console/commands/debug/test_resolve.py | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/poetry/console/commands/debug/resolve.py b/poetry/console/commands/debug/resolve.py index e50977d191a..6270b153ec2 100644 --- a/poetry/console/commands/debug/resolve.py +++ b/poetry/console/commands/debug/resolve.py @@ -108,7 +108,7 @@ def handle(self) -> Optional[int]: return 0 - table = self.table([], style="compact") + table = self.table(style="compact") table.style.set_vertical_border_chars("", " ") rows = [] @@ -133,7 +133,6 @@ def handle(self) -> Optional[int]: row = [ "{}".format(pkg.complete_name), "{}".format(pkg.version), - "", ] if not pkg.marker.is_any(): diff --git a/tests/console/commands/debug/test_resolve.py b/tests/console/commands/debug/test_resolve.py index 9af3e0010d8..210a8780245 100644 --- a/tests/console/commands/debug/test_resolve.py +++ b/tests/console/commands/debug/test_resolve.py @@ -30,8 +30,8 @@ def test_debug_resolve_gives_resolution_results(tester): Resolution results: -msgpack-python 0.5.3 -cachy 0.2.0 +msgpack-python 0.5.3 +cachy 0.2.0 """ assert expected == tester.io.fetch_output() @@ -60,8 +60,8 @@ def test_debug_resolve_git_dependency(tester): Resolution results: -pendulum 2.0.3 -demo 0.1.2 +pendulum 2.0.3 +demo 0.1.2 """ assert expected == tester.io.fetch_output()