Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
757a1130
Unverified
Commit
757a1130
authored
Mar 19, 2021
by
Sébastien Eustace
Committed by
GitHub
Mar 19, 2021
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3764 from python-poetry/modern-core
Update poetry-core
parents
c31864c2
47aa857f
Show whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
196 additions
and
192 deletions
+196
-192
poetry.lock
+12
-8
poetry/console/commands/add.py
+1
-1
poetry/console/commands/build.py
+1
-1
poetry/console/commands/config.py
+3
-4
poetry/console/commands/init.py
+3
-7
poetry/console/commands/new.py
+1
-1
poetry/console/commands/self/update.py
+8
-14
poetry/console/commands/show.py
+3
-4
poetry/console/commands/version.py
+2
-2
poetry/inspection/info.py
+5
-5
poetry/installation/base_installer.py
+1
-1
poetry/installation/noop_installer.py
+1
-1
poetry/installation/operations/install.py
+1
-1
poetry/installation/operations/operation.py
+1
-3
poetry/installation/operations/uninstall.py
+1
-1
poetry/installation/operations/update.py
+1
-1
poetry/installation/pip_installer.py
+3
-3
poetry/mixology/__init__.py
+1
-1
poetry/mixology/assignment.py
+2
-2
poetry/mixology/failure.py
+1
-1
poetry/mixology/partial_solution.py
+2
-2
poetry/mixology/result.py
+2
-2
poetry/mixology/solutions/solutions/python_requirement_solution.py
+1
-1
poetry/mixology/term.py
+2
-3
poetry/mixology/version_solver.py
+3
-4
poetry/packages/locker.py
+2
-3
poetry/packages/package_collection.py
+2
-2
poetry/poetry.py
+20
-16
poetry/puzzle/provider.py
+6
-6
poetry/puzzle/solver.py
+6
-6
poetry/repositories/base_repository.py
+2
-2
poetry/repositories/installed_repository.py
+1
-1
poetry/repositories/legacy_repository.py
+6
-6
poetry/repositories/pool.py
+2
-2
poetry/repositories/pypi_repository.py
+26
-15
poetry/repositories/repository.py
+7
-7
poetry/utils/env.py
+1
-1
poetry/utils/extras.py
+8
-3
poetry/utils/setup_reader.py
+1
-1
poetry/version/version_selector.py
+2
-2
pyproject.toml
+1
-1
tests/console/commands/env/helpers.py
+1
-1
tests/console/commands/env/test_use.py
+1
-1
tests/console/commands/test_add.py
+1
-4
tests/console/commands/test_config.py
+1
-1
tests/helpers.py
+3
-3
tests/installation/test_installer.py
+1
-1
tests/installation/test_installer_old.py
+1
-1
tests/mixology/helpers.py
+1
-1
tests/puzzle/test_provider.py
+1
-1
tests/puzzle/test_solver.py
+6
-6
tests/repositories/test_installed_repository.py
+1
-1
tests/repositories/test_legacy_repository.py
+1
-1
tests/repositories/test_pypi_repository.py
+1
-1
tests/utils/test_env.py
+1
-1
tests/utils/test_exporter.py
+19
-19
tests/utils/test_extras.py
+1
-1
No files found.
poetry.lock
View file @
757a1130
...
@@ -352,14 +352,21 @@ dev = ["pre-commit", "tox"]
...
@@ -352,14 +352,21 @@ dev = ["pre-commit", "tox"]
[[package]]
[[package]]
name = "poetry-core"
name = "poetry-core"
version = "1.
0.2
"
version = "1.
1.0a0
"
description = "Poetry PEP 517 Build Backend"
description = "Poetry PEP 517 Build Backend"
category = "main"
category = "main"
optional = false
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = "^3.6"
develop = false
[package.dependencies]
[package.dependencies]
importlib-metadata = {version = ">=1.7.0,<2.0.0", markers = "python_version >= \"2.7\" and python_version < \"2.8\" or python_version >= \"3.5\" and python_version < \"3.8\""}
importlib-metadata = {version = "^1.7.0", markers = "python_version >= \"3.5\" and python_version < \"3.8\""}
[package.source]
type = "git"
url = "https://github.com/python-poetry/poetry-core"
reference = "master"
resolved_reference = "d0b8f3ff1d2ec94e317d8ec20920f32a5d4992ef"
[[package]]
[[package]]
name = "pre-commit"
name = "pre-commit"
...
@@ -668,7 +675,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake
...
@@ -668,7 +675,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake
[metadata]
[metadata]
lock-version = "1.1"
lock-version = "1.1"
python-versions = "^3.6"
python-versions = "^3.6"
content-hash = "
3061627bdc17958f2b0d1dfc86e448e167ff3e97639e6f3c8f67bf0b06d9995c
"
content-hash = "
0039f039cc6768e38203b79e8aee64fa11a96b781da515b68587b90c97ed048a
"
[metadata.files]
[metadata.files]
appdirs = [
appdirs = [
...
@@ -900,10 +907,7 @@ pluggy = [
...
@@ -900,10 +907,7 @@ pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
]
]
poetry-core = [
poetry-core = []
{file = "poetry-core-1.0.2.tar.gz", hash = "sha256:ff505d656a6cf40ffbf84393d8b5bf37b78523a15def3ac473b6fad74261ee71"},
{file = "poetry_core-1.0.2-py2.py3-none-any.whl", hash = "sha256:ee0ed4164440eeab27d1b01bc7b9b3afdc3124f68d4ea28d0821a402a9c7c044"},
]
pre-commit = [
pre-commit = [
{file = "pre_commit-2.9.0-py2.py3-none-any.whl", hash = "sha256:4aee0db4808fa48d2458cedd5b9a084ef24dda1a0fa504432a11977a4d1cfd0a"},
{file = "pre_commit-2.9.0-py2.py3-none-any.whl", hash = "sha256:4aee0db4808fa48d2458cedd5b9a084ef24dda1a0fa504432a11977a4d1cfd0a"},
{file = "pre_commit-2.9.0.tar.gz", hash = "sha256:b2d106d51c6ba6217e859d81774aae33fd825fe7de0dcf0c46e2586333d7a92e"},
{file = "pre_commit-2.9.0.tar.gz", hash = "sha256:b2d106d51c6ba6217e859d81774aae33fd825fe7de0dcf0c46e2586333d7a92e"},
...
...
poetry/console/commands/add.py
View file @
757a1130
...
@@ -71,7 +71,7 @@ class AddCommand(InstallerCommand, InitCommand):
...
@@ -71,7 +71,7 @@ class AddCommand(InstallerCommand, InitCommand):
def
handle
(
self
)
->
int
:
def
handle
(
self
)
->
int
:
from
tomlkit
import
inline_table
from
tomlkit
import
inline_table
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
packages
=
self
.
argument
(
"name"
)
packages
=
self
.
argument
(
"name"
)
is_dev
=
self
.
option
(
"dev"
)
is_dev
=
self
.
option
(
"dev"
)
...
...
poetry/console/commands/build.py
View file @
757a1130
...
@@ -19,7 +19,7 @@ class BuildCommand(EnvCommand):
...
@@ -19,7 +19,7 @@ class BuildCommand(EnvCommand):
]
]
def
handle
(
self
)
->
None
:
def
handle
(
self
)
->
None
:
from
poetry.core.masonry
import
Builder
from
poetry.core.masonry
.builder
import
Builder
fmt
=
"all"
fmt
=
"all"
if
self
.
option
(
"format"
):
if
self
.
option
(
"format"
):
...
...
poetry/console/commands/config.py
View file @
757a1130
...
@@ -11,10 +11,6 @@ from typing import Tuple
...
@@ -11,10 +11,6 @@ from typing import Tuple
from
cleo.helpers
import
argument
from
cleo.helpers
import
argument
from
cleo.helpers
import
option
from
cleo.helpers
import
option
from
poetry.core.pyproject
import
PyProjectException
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
.command
import
Command
from
.command
import
Command
...
@@ -94,6 +90,9 @@ To remove a repository (repo is a short alias for repositories):
...
@@ -94,6 +90,9 @@ To remove a repository (repo is a short alias for repositories):
from
pathlib
import
Path
from
pathlib
import
Path
from
poetry.config.file_config_source
import
FileConfigSource
from
poetry.config.file_config_source
import
FileConfigSource
from
poetry.core.pyproject.exceptions
import
PyProjectException
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
poetry.locations
import
CONFIG_DIR
from
poetry.locations
import
CONFIG_DIR
config
=
Factory
.
create_config
(
self
.
io
)
config
=
Factory
.
create_config
(
self
.
io
)
...
...
poetry/console/commands/init.py
View file @
757a1130
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
import
os
import
os
import
re
import
re
import
sys
import
sys
...
@@ -17,9 +14,6 @@ from typing import Union
...
@@ -17,9 +14,6 @@ from typing import Union
from
cleo.helpers
import
option
from
cleo.helpers
import
option
from
tomlkit
import
inline_table
from
tomlkit
import
inline_table
from
poetry.core.pyproject
import
PyProjectException
from
poetry.core.pyproject.toml
import
PyProjectTOML
from
.command
import
Command
from
.command
import
Command
from
.env_command
import
EnvCommand
from
.env_command
import
EnvCommand
...
@@ -70,6 +64,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
...
@@ -70,6 +64,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
def
handle
(
self
)
->
int
:
def
handle
(
self
)
->
int
:
from
pathlib
import
Path
from
pathlib
import
Path
from
poetry.core.pyproject.toml
import
PyProjectTOML
from
poetry.core.vcs.git
import
GitConfig
from
poetry.core.vcs.git
import
GitConfig
from
poetry.layouts
import
layout
from
poetry.layouts
import
layout
from
poetry.utils.env
import
SystemEnv
from
poetry.utils.env
import
SystemEnv
...
@@ -384,6 +379,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
...
@@ -384,6 +379,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
return
package
.
pretty_name
,
selector
.
find_recommended_require_version
(
package
)
return
package
.
pretty_name
,
selector
.
find_recommended_require_version
(
package
)
def
_parse_requirements
(
self
,
requirements
:
List
[
str
])
->
List
[
Dict
[
str
,
str
]]:
def
_parse_requirements
(
self
,
requirements
:
List
[
str
])
->
List
[
Dict
[
str
,
str
]]:
from
poetry.core.pyproject.exceptions
import
PyProjectException
from
poetry.puzzle.provider
import
Provider
from
poetry.puzzle.provider
import
Provider
result
=
[]
result
=
[]
...
@@ -534,7 +530,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
...
@@ -534,7 +530,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
return
author
return
author
def
_validate_license
(
self
,
license
:
str
)
->
str
:
def
_validate_license
(
self
,
license
:
str
)
->
str
:
from
poetry.core.spdx
import
license_by_id
from
poetry.core.spdx
.helpers
import
license_by_id
if
license
:
if
license
:
license_by_id
(
license
)
license_by_id
(
license
)
...
...
poetry/console/commands/new.py
View file @
757a1130
...
@@ -22,7 +22,7 @@ class NewCommand(Command):
...
@@ -22,7 +22,7 @@ class NewCommand(Command):
def
handle
(
self
)
->
None
:
def
handle
(
self
)
->
None
:
from
pathlib
import
Path
from
pathlib
import
Path
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
from
poetry.core.vcs.git
import
GitConfig
from
poetry.core.vcs.git
import
GitConfig
from
poetry.layouts
import
layout
from
poetry.layouts
import
layout
from
poetry.utils.env
import
SystemEnv
from
poetry.utils.env
import
SystemEnv
...
...
poetry/console/commands/self/update.py
View file @
757a1130
...
@@ -14,27 +14,18 @@ from gzip import GzipFile
...
@@ -14,27 +14,18 @@ from gzip import GzipFile
from
pathlib
import
Path
from
pathlib
import
Path
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
typing
import
Any
from
typing
import
Any
from
urllib.error
import
HTTPError
from
urllib.request
import
urlopen
from
cleo.helpers
import
argument
from
cleo.helpers
import
argument
from
cleo.helpers
import
option
from
cleo.helpers
import
option
from
poetry.console.exceptions
import
PoetrySimpleConsoleException
from
poetry.core.packages
import
Dependency
from
..command
import
Command
from
..command
import
Command
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages.package
import
Package
from
poetry.core.semver
import
Version
from
poetry.core.semver.version
import
Version
try
:
from
urllib.error
import
HTTPError
from
urllib.request
import
urlopen
except
ImportError
:
from
urllib2
import
HTTPError
from
urllib2
import
urlopen
BIN
=
"""# -*- coding: utf-8 -*-
BIN
=
"""# -*- coding: utf-8 -*-
...
@@ -89,7 +80,8 @@ class SelfUpdateCommand(Command):
...
@@ -89,7 +80,8 @@ class SelfUpdateCommand(Command):
def
handle
(
self
)
->
None
:
def
handle
(
self
)
->
None
:
from
poetry.__version__
import
__version__
from
poetry.__version__
import
__version__
from
poetry.core.semver
import
Version
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.semver.version
import
Version
from
poetry.repositories.pypi_repository
import
PyPiRepository
from
poetry.repositories.pypi_repository
import
PyPiRepository
self
.
_check_recommended_installation
()
self
.
_check_recommended_installation
()
...
@@ -250,6 +242,8 @@ class SelfUpdateCommand(Command):
...
@@ -250,6 +242,8 @@ class SelfUpdateCommand(Command):
def
_check_recommended_installation
(
self
)
->
None
:
def
_check_recommended_installation
(
self
)
->
None
:
from
pathlib
import
Path
from
pathlib
import
Path
from
poetry.console.exceptions
import
PoetrySimpleConsoleException
current
=
Path
(
__file__
)
current
=
Path
(
__file__
)
try
:
try
:
current
.
relative_to
(
self
.
home
)
current
.
relative_to
(
self
.
home
)
...
...
poetry/console/commands/show.py
View file @
757a1130
# -*- coding: utf-8 -*-
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
typing
import
List
from
typing
import
List
from
typing
import
Optional
from
typing
import
Optional
...
@@ -13,8 +12,8 @@ from .env_command import EnvCommand
...
@@ -13,8 +12,8 @@ from .env_command import EnvCommand
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
cleo.io.io
import
IO
# noqa
from
cleo.io.io
import
IO
# noqa
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.repositories
import
Repository
from
poetry.repositories
import
Repository
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.repositories.installed_repository
import
InstalledRepository
...
@@ -408,7 +407,7 @@ lists all packages available."""
...
@@ -408,7 +407,7 @@ lists all packages available."""
return
selector
.
find_best_candidate
(
name
,
">={}"
.
format
(
package
.
pretty_version
))
return
selector
.
find_best_candidate
(
name
,
">={}"
.
format
(
package
.
pretty_version
))
def
get_update_status
(
self
,
latest
:
"Package"
,
package
:
"Package"
)
->
str
:
def
get_update_status
(
self
,
latest
:
"Package"
,
package
:
"Package"
)
->
str
:
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
if
latest
.
full_pretty_version
==
package
.
full_pretty_version
:
if
latest
.
full_pretty_version
==
package
.
full_pretty_version
:
return
"up-to-date"
return
"up-to-date"
...
...
poetry/console/commands/version.py
View file @
757a1130
...
@@ -7,7 +7,7 @@ from .command import Command
...
@@ -7,7 +7,7 @@ from .command import Command
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
class
VersionCommand
(
Command
):
class
VersionCommand
(
Command
):
...
@@ -79,7 +79,7 @@ patch, minor, major, prepatch, preminor, premajor, prerelease.
...
@@ -79,7 +79,7 @@ patch, minor, major, prepatch, preminor, premajor, prerelease.
)
)
def
increment_version
(
self
,
version
:
str
,
rule
:
str
)
->
"Version"
:
def
increment_version
(
self
,
version
:
str
,
rule
:
str
)
->
"Version"
:
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
try
:
try
:
version
=
Version
.
parse
(
version
)
version
=
Version
.
parse
(
version
)
...
...
poetry/inspection/info.py
View file @
757a1130
...
@@ -14,9 +14,9 @@ from typing import Union
...
@@ -14,9 +14,9 @@ from typing import Union
import
pkginfo
import
pkginfo
from
poetry.core.factory
import
Factory
from
poetry.core.factory
import
Factory
from
poetry.core.packages
import
Package
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Project
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
dependency_from_pep_508
from
poetry.core.packages
.project_package
import
ProjectPackage
from
poetry.core.pyproject.toml
import
PyProjectTOML
from
poetry.core.pyproject.toml
import
PyProjectTOML
from
poetry.core.utils.helpers
import
parse_requires
from
poetry.core.utils.helpers
import
parse_requires
from
poetry.core.utils.helpers
import
temporary_directory
from
poetry.core.utils.helpers
import
temporary_directory
...
@@ -170,11 +170,11 @@ class PackageInfo:
...
@@ -170,11 +170,11 @@ class PackageInfo:
for
req
in
self
.
requires_dist
or
[]:
for
req
in
self
.
requires_dist
or
[]:
try
:
try
:
# Attempt to parse the PEP-508 requirement string
# Attempt to parse the PEP-508 requirement string
dependency
=
dependency
_from_pep_508
(
req
,
relative_to
=
root_dir
)
dependency
=
Dependency
.
create
_from_pep_508
(
req
,
relative_to
=
root_dir
)
except
InvalidMarker
:
except
InvalidMarker
:
# Invalid marker, We strip the markers hoping for the best
# Invalid marker, We strip the markers hoping for the best
req
=
req
.
split
(
";"
)[
0
]
req
=
req
.
split
(
";"
)[
0
]
dependency
=
dependency
_from_pep_508
(
req
,
relative_to
=
root_dir
)
dependency
=
Dependency
.
create
_from_pep_508
(
req
,
relative_to
=
root_dir
)
except
ValueError
:
except
ValueError
:
# Likely unable to parse constraint so we skip it
# Likely unable to parse constraint so we skip it
self
.
_log
(
self
.
_log
(
...
...
poetry/installation/base_installer.py
View file @
757a1130
...
@@ -2,7 +2,7 @@ from typing import TYPE_CHECKING
...
@@ -2,7 +2,7 @@ from typing import TYPE_CHECKING
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
BaseInstaller
:
class
BaseInstaller
:
...
...
poetry/installation/noop_installer.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from .base_installer import BaseInstaller
...
@@ -5,7 +5,7 @@ from .base_installer import BaseInstaller
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
NoopInstaller
(
BaseInstaller
):
class
NoopInstaller
(
BaseInstaller
):
...
...
poetry/installation/operations/install.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from .operation import Operation
...
@@ -5,7 +5,7 @@ from .operation import Operation
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
Install
(
Operation
):
class
Install
(
Operation
):
...
...
poetry/installation/operations/operation.py
View file @
757a1130
# -*- coding: utf-8 -*-
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
typing
import
Optional
from
typing
import
Optional
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
Operation
(
object
):
class
Operation
(
object
):
...
...
poetry/installation/operations/uninstall.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from .operation import Operation
...
@@ -5,7 +5,7 @@ from .operation import Operation
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
Uninstall
(
Operation
):
class
Uninstall
(
Operation
):
...
...
poetry/installation/operations/update.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from .operation import Operation
...
@@ -5,7 +5,7 @@ from .operation import Operation
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
Update
(
Operation
):
class
Update
(
Operation
):
...
...
poetry/installation/pip_installer.py
View file @
757a1130
...
@@ -19,7 +19,7 @@ from .base_installer import BaseInstaller
...
@@ -19,7 +19,7 @@ from .base_installer import BaseInstaller
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
PipInstaller
(
BaseInstaller
):
class
PipInstaller
(
BaseInstaller
):
...
@@ -242,8 +242,8 @@ class PipInstaller(BaseInstaller):
...
@@ -242,8 +242,8 @@ class PipInstaller(BaseInstaller):
return
self
.
run
(
*
args
)
return
self
.
run
(
*
args
)
def
install_git
(
self
,
package
:
"Package"
)
->
None
:
def
install_git
(
self
,
package
:
"Package"
)
->
None
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.vcs
import
Git
from
poetry.core.vcs
.git
import
Git
src_dir
=
self
.
_env
.
path
/
"src"
/
package
.
name
src_dir
=
self
.
_env
.
path
/
"src"
/
package
.
name
if
src_dir
.
exists
():
if
src_dir
.
exists
():
...
...
poetry/mixology/__init__.py
View file @
757a1130
...
@@ -6,7 +6,7 @@ from .version_solver import VersionSolver
...
@@ -6,7 +6,7 @@ from .version_solver import VersionSolver
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages
.project_package
import
ProjectPackage
from
poetry.packages
import
DependencyPackage
from
poetry.packages
import
DependencyPackage
from
poetry.puzzle.provider
import
Provider
from
poetry.puzzle.provider
import
Provider
...
...
poetry/mixology/assignment.py
View file @
757a1130
...
@@ -6,8 +6,8 @@ from .term import Term
...
@@ -6,8 +6,8 @@ from .term import Term
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
.incompatibility
import
Incompatibility
from
.incompatibility
import
Incompatibility
...
...
poetry/mixology/failure.py
View file @
757a1130
...
@@ -3,7 +3,7 @@ from typing import List
...
@@ -3,7 +3,7 @@ from typing import List
from
typing
import
Optional
from
typing
import
Optional
from
typing
import
Tuple
from
typing
import
Tuple
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
from
.incompatibility
import
Incompatibility
from
.incompatibility
import
Incompatibility
from
.incompatibility_cause
import
ConflictCause
from
.incompatibility_cause
import
ConflictCause
...
...
poetry/mixology/partial_solution.py
View file @
757a1130
...
@@ -9,8 +9,8 @@ from .term import Term
...
@@ -9,8 +9,8 @@ from .term import Term
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
PartialSolution
:
class
PartialSolution
:
...
...
poetry/mixology/result.py
View file @
757a1130
...
@@ -3,8 +3,8 @@ from typing import List
...
@@ -3,8 +3,8 @@ from typing import List
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages
.project_package
import
ProjectPackage
class
SolverResult
:
class
SolverResult
:
...
...
poetry/mixology/solutions/solutions/python_requirement_solution.py
View file @
757a1130
...
@@ -10,7 +10,7 @@ if TYPE_CHECKING:
...
@@ -10,7 +10,7 @@ if TYPE_CHECKING:
class
PythonRequirementSolution
(
Solution
):
class
PythonRequirementSolution
(
Solution
):
def
__init__
(
self
,
exception
:
"PackageNotFoundCause"
)
->
None
:
def
__init__
(
self
,
exception
:
"PackageNotFoundCause"
)
->
None
:
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
from
poetry.mixology.incompatibility_cause
import
PythonCause
from
poetry.mixology.incompatibility_cause
import
PythonCause
self
.
_title
=
"Check your dependencies Python requirement."
self
.
_title
=
"Check your dependencies Python requirement."
...
...
poetry/mixology/term.py
View file @
757a1130
# -*- coding: utf-8 -*-
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
from
typing
import
Optional
from
typing
import
Optional
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
.set_relation
import
SetRelation
from
.set_relation
import
SetRelation
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.semver
import
VersionTypes
from
poetry.core.semver
.helpers
import
VersionTypes
class
Term
(
object
):
class
Term
(
object
):
...
...
poetry/mixology/version_solver.py
View file @
757a1130
# -*- coding: utf-8 -*-
import
time
import
time
from
typing
import
TYPE_CHECKING
from
typing
import
TYPE_CHECKING
...
@@ -7,9 +6,9 @@ from typing import List
...
@@ -7,9 +6,9 @@ from typing import List
from
typing
import
Optional
from
typing
import
Optional
from
typing
import
Union
from
typing
import
Union
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages
.project_package
import
ProjectPackage
from
.failure
import
SolveFailure
from
.failure
import
SolveFailure
from
.incompatibility
import
Incompatibility
from
.incompatibility
import
Incompatibility
...
...
poetry/packages/locker.py
View file @
757a1130
...
@@ -26,10 +26,9 @@ from tomlkit.exceptions import TOMLKitError
...
@@ -26,10 +26,9 @@ from tomlkit.exceptions import TOMLKitError
import
poetry.repositories
import
poetry.repositories
from
poetry.core.packages
import
dependency_from_pep_508
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.packages.package
import
Package
from
poetry.core.packages.package
import
Package
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
from
poetry.core.semver.version
import
Version
from
poetry.core.semver.version
import
Version
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.version.markers
import
parse_marker
from
poetry.core.version.markers
import
parse_marker
...
@@ -148,7 +147,7 @@ class Locker(object):
...
@@ -148,7 +147,7 @@ class Locker(object):
for
dep
in
deps
:
for
dep
in
deps
:
try
:
try
:
dependency
=
dependency
_from_pep_508
(
dep
)
dependency
=
Dependency
.
create
_from_pep_508
(
dep
)
except
InvalidRequirement
:
except
InvalidRequirement
:
# handle lock files with invalid PEP 508
# handle lock files with invalid PEP 508
m
=
re
.
match
(
r"^(.+?)(?:\[(.+?)])?(?:\s+\((.+)\))?$"
,
dep
)
m
=
re
.
match
(
r"^(.+?)(?:\[(.+?)])?(?:\s+\((.+)\))?$"
,
dep
)
...
...
poetry/packages/package_collection.py
View file @
757a1130
...
@@ -6,8 +6,8 @@ from .dependency_package import DependencyPackage
...
@@ -6,8 +6,8 @@ from .dependency_package import DependencyPackage
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
PackageCollection
(
list
):
class
PackageCollection
(
list
):
...
...
poetry/poetry.py
View file @
757a1130
from
__future__
import
absolute_import
from
__future__
import
unicode_literals
from
pathlib
import
Path
from
pathlib
import
Path
from
typing
import
TYPE_CHECKING
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.poetry
import
Poetry
as
BasePoetry
from
poetry.core.poetry
import
Poetry
as
BasePoetry
from
.__version__
import
__version__
from
.__version__
import
__version__
from
.config.config
import
Config
from
.packages
import
Locker
from
.repositories.pool
import
Pool
if
TYPE_CHECKING
:
from
poetry.core.packages.project_package
import
ProjectPackage
from
.config.config
import
Config
from
.packages.locker
import
Locker
from
.repositories.pool
import
Pool
class
Poetry
(
BasePoetry
):
class
Poetry
(
BasePoetry
):
...
@@ -20,10 +22,12 @@ class Poetry(BasePoetry):
...
@@ -20,10 +22,12 @@ class Poetry(BasePoetry):
self
,
self
,
file
:
Path
,
file
:
Path
,
local_config
:
dict
,
local_config
:
dict
,
package
:
ProjectPackage
,
package
:
"ProjectPackage"
,
locker
:
Locker
,
locker
:
"Locker"
,
config
:
Config
,
config
:
"Config"
,
):
):
from
.repositories.pool
import
Pool
# noqa
super
(
Poetry
,
self
)
.
__init__
(
file
,
local_config
,
package
)
super
(
Poetry
,
self
)
.
__init__
(
file
,
local_config
,
package
)
self
.
_locker
=
locker
self
.
_locker
=
locker
...
@@ -31,28 +35,28 @@ class Poetry(BasePoetry):
...
@@ -31,28 +35,28 @@ class Poetry(BasePoetry):
self
.
_pool
=
Pool
()
self
.
_pool
=
Pool
()
@property
@property
def
locker
(
self
)
->
Locker
:
def
locker
(
self
)
->
"Locker"
:
return
self
.
_locker
return
self
.
_locker
@property
@property
def
pool
(
self
)
->
Pool
:
def
pool
(
self
)
->
"Pool"
:
return
self
.
_pool
return
self
.
_pool
@property
@property
def
config
(
self
)
->
Config
:
def
config
(
self
)
->
"Config"
:
return
self
.
_config
return
self
.
_config
def
set_locker
(
self
,
locker
:
Locker
)
->
"Poetry"
:
def
set_locker
(
self
,
locker
:
"Locker"
)
->
"Poetry"
:
self
.
_locker
=
locker
self
.
_locker
=
locker
return
self
return
self
def
set_pool
(
self
,
pool
:
Pool
)
->
"Poetry"
:
def
set_pool
(
self
,
pool
:
"Pool"
)
->
"Poetry"
:
self
.
_pool
=
pool
self
.
_pool
=
pool
return
self
return
self
def
set_config
(
self
,
config
:
Config
)
->
"Poetry"
:
def
set_config
(
self
,
config
:
"Config"
)
->
"Poetry"
:
self
.
_config
=
config
self
.
_config
=
config
return
self
return
self
poetry/puzzle/provider.py
View file @
757a1130
...
@@ -16,13 +16,13 @@ from typing import Union
...
@@ -16,13 +16,13 @@ from typing import Union
from
cleo.ui.progress_indicator
import
ProgressIndicator
from
cleo.ui.progress_indicator
import
ProgressIndicator
from
poetry.core.packages
import
Dependency
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.packages
import
DirectoryDependency
from
poetry.core.packages.directory_dependency
import
DirectoryDependency
from
poetry.core.packages
import
FileDependency
from
poetry.core.packages.file_dependency
import
FileDependency
from
poetry.core.packages
import
Package
from
poetry.core.packages.package
import
Package
from
poetry.core.packages
import
URLDependency
from
poetry.core.packages.url_dependency
import
URLDependency
from
poetry.core.packages
import
VCSDependency
from
poetry.core.packages.utils.utils
import
get_python_constraint_from_marker
from
poetry.core.packages.utils.utils
import
get_python_constraint_from_marker
from
poetry.core.packages.vcs_dependency
import
VCSDependency
from
poetry.core.semver.version
import
Version
from
poetry.core.semver.version
import
Version
from
poetry.core.vcs.git
import
Git
from
poetry.core.vcs.git
import
Git
from
poetry.core.version.markers
import
MarkerUnion
from
poetry.core.version.markers
import
MarkerUnion
...
...
poetry/puzzle/solver.py
View file @
757a1130
...
@@ -13,7 +13,7 @@ from typing import Union
...
@@ -13,7 +13,7 @@ from typing import Union
from
cleo.io.io
import
IO
from
cleo.io.io
import
IO
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages.project_package
import
ProjectPackage
from
poetry.core.packages.project_package
import
ProjectPackage
from
poetry.installation.operations
import
Install
from
poetry.installation.operations
import
Install
from
poetry.installation.operations
import
Uninstall
from
poetry.installation.operations
import
Uninstall
...
@@ -31,11 +31,11 @@ from .provider import Provider
...
@@ -31,11 +31,11 @@ from .provider import Provider
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
DirectoryDependency
from
poetry.core.packages
.directory_dependency
import
DirectoryDependency
from
poetry.core.packages
import
FileDependency
from
poetry.core.packages
.file_dependency
import
FileDependency
from
poetry.core.packages
import
URLDependency
from
poetry.core.packages
.url_dependency
import
URLDependency
from
poetry.core.packages
import
VCSDependency
from
poetry.core.packages
.vcs_dependency
import
VCSDependency
from
poetry.installation.operations
import
OperationTypes
from
poetry.installation.operations
import
OperationTypes
...
...
poetry/repositories/base_repository.py
View file @
757a1130
...
@@ -4,8 +4,8 @@ from typing import Optional
...
@@ -4,8 +4,8 @@ from typing import Optional
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
BaseRepository
(
object
):
class
BaseRepository
(
object
):
...
...
poetry/repositories/installed_repository.py
View file @
757a1130
...
@@ -4,7 +4,7 @@ from pathlib import Path
...
@@ -4,7 +4,7 @@ from pathlib import Path
from
typing
import
Set
from
typing
import
Set
from
typing
import
Union
from
typing
import
Union
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.utils.helpers
import
module_name
from
poetry.core.utils.helpers
import
module_name
from
poetry.utils._compat
import
metadata
from
poetry.utils._compat
import
metadata
from
poetry.utils.env
import
Env
from
poetry.utils.env
import
Env
...
...
poetry/repositories/legacy_repository.py
View file @
757a1130
...
@@ -19,12 +19,12 @@ from cachecontrol import CacheControl
...
@@ -19,12 +19,12 @@ from cachecontrol import CacheControl
from
cachecontrol.caches.file_cache
import
FileCache
from
cachecontrol.caches.file_cache
import
FileCache
from
cachy
import
CacheManager
from
cachy
import
CacheManager
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.semver
import
Version
from
poetry.core.semver
.helpers
import
parse_constraint
from
poetry.core.semver
import
VersionConstraint
from
poetry.core.semver
.version
import
Version
from
poetry.core.semver
import
VersionRange
from
poetry.core.semver
.version_constraint
import
VersionConstraint
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.version_range
import
VersionRange
from
poetry.locations
import
REPOSITORY_CACHE_DIR
from
poetry.locations
import
REPOSITORY_CACHE_DIR
from
poetry.utils.helpers
import
canonicalize_name
from
poetry.utils.helpers
import
canonicalize_name
from
poetry.utils.patterns
import
wheel_file_re
from
poetry.utils.patterns
import
wheel_file_re
...
@@ -38,7 +38,7 @@ from .pypi_repository import PyPiRepository
...
@@ -38,7 +38,7 @@ from .pypi_repository import PyPiRepository
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
try
:
try
:
from
html
import
unescape
from
html
import
unescape
...
...
poetry/repositories/pool.py
View file @
757a1130
...
@@ -9,8 +9,8 @@ from .repository import Repository
...
@@ -9,8 +9,8 @@ from .repository import Repository
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
class
Pool
(
BaseRepository
):
class
Pool
(
BaseRepository
):
...
...
poetry/repositories/pypi_repository.py
View file @
757a1130
...
@@ -4,6 +4,7 @@ import urllib.parse
...
@@ -4,6 +4,7 @@ import urllib.parse
from
collections
import
defaultdict
from
collections
import
defaultdict
from
pathlib
import
Path
from
pathlib
import
Path
from
typing
import
TYPE_CHECKING
from
typing
import
Dict
from
typing
import
Dict
from
typing
import
List
from
typing
import
List
from
typing
import
Union
from
typing
import
Union
...
@@ -16,14 +17,13 @@ from cachecontrol.controller import logger as cache_control_logger
...
@@ -16,14 +17,13 @@ from cachecontrol.controller import logger as cache_control_logger
from
cachy
import
CacheManager
from
cachy
import
CacheManager
from
html5lib.html5parser
import
parse
from
html5lib.html5parser
import
parse
from
poetry.core.packages
import
Dependency
from
poetry.core.packages.dependency
import
Dependency
from
poetry.core.packages
import
Package
from
poetry.core.packages.package
import
Package
from
poetry.core.packages
import
dependency_from_pep_508
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.packages.utils.link
import
Link
from
poetry.core.semver
import
VersionConstraint
from
poetry.core.semver
import
VersionRange
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver.exceptions
import
ParseVersionError
from
poetry.core.semver.exceptions
import
ParseVersionError
from
poetry.core.semver.helpers
import
parse_constraint
from
poetry.core.semver.version_constraint
import
VersionConstraint
from
poetry.core.semver.version_range
import
VersionRange
from
poetry.core.version.markers
import
parse_marker
from
poetry.core.version.markers
import
parse_marker
from
poetry.locations
import
REPOSITORY_CACHE_DIR
from
poetry.locations
import
REPOSITORY_CACHE_DIR
from
poetry.utils._compat
import
to_str
from
poetry.utils._compat
import
to_str
...
@@ -31,7 +31,6 @@ from poetry.utils.helpers import download_file
...
@@ -31,7 +31,6 @@ from poetry.utils.helpers import download_file
from
poetry.utils.helpers
import
temporary_directory
from
poetry.utils.helpers
import
temporary_directory
from
poetry.utils.patterns
import
wheel_file_re
from
poetry.utils.patterns
import
wheel_file_re
from
..inspection.info
import
PackageInfo
from
.exceptions
import
PackageNotFound
from
.exceptions
import
PackageNotFound
from
.remote_repository
import
RemoteRepository
from
.remote_repository
import
RemoteRepository
...
@@ -41,6 +40,10 @@ cache_control_logger.setLevel(logging.ERROR)
...
@@ -41,6 +40,10 @@ cache_control_logger.setLevel(logging.ERROR)
logger
=
logging
.
getLogger
(
__name__
)
logger
=
logging
.
getLogger
(
__name__
)
if
TYPE_CHECKING
:
from
poetry.inspection.info
import
PackageInfo
class
PyPiRepository
(
RemoteRepository
):
class
PyPiRepository
(
RemoteRepository
):
CACHE_VERSION
=
parse_constraint
(
"1.0.0"
)
CACHE_VERSION
=
parse_constraint
(
"1.0.0"
)
...
@@ -214,13 +217,15 @@ class PyPiRepository(RemoteRepository):
...
@@ -214,13 +217,15 @@ class PyPiRepository(RemoteRepository):
return
data
return
data
def
get_release_info
(
self
,
name
:
str
,
version
:
str
)
->
PackageInfo
:
def
get_release_info
(
self
,
name
:
str
,
version
:
str
)
->
"PackageInfo"
:
"""
"""
Return the release information given a package name and a version.
Return the release information given a package name and a version.
The information is returned from the cache if it exists
The information is returned from the cache if it exists
or retrieved from the remote server.
or retrieved from the remote server.
"""
"""
from
poetry.inspection.info
import
PackageInfo
if
self
.
_disable_cache
:
if
self
.
_disable_cache
:
return
PackageInfo
.
load
(
self
.
_get_release_info
(
name
,
version
))
return
PackageInfo
.
load
(
self
.
_get_release_info
(
name
,
version
))
...
@@ -254,6 +259,8 @@ class PyPiRepository(RemoteRepository):
...
@@ -254,6 +259,8 @@ class PyPiRepository(RemoteRepository):
return
links
return
links
def
_get_release_info
(
self
,
name
:
str
,
version
:
str
)
->
dict
:
def
_get_release_info
(
self
,
name
:
str
,
version
:
str
)
->
dict
:
from
poetry.inspection.info
import
PackageInfo
self
.
_log
(
"Getting info for {} ({}) from PyPI"
.
format
(
name
,
version
),
"debug"
)
self
.
_log
(
"Getting info for {} ({}) from PyPI"
.
format
(
name
,
version
),
"debug"
)
json_data
=
self
.
_get
(
"pypi/{}/{}/json"
.
format
(
name
,
version
))
json_data
=
self
.
_get
(
"pypi/{}/{}/json"
.
format
(
name
,
version
))
...
@@ -330,7 +337,7 @@ class PyPiRepository(RemoteRepository):
...
@@ -330,7 +337,7 @@ class PyPiRepository(RemoteRepository):
return
json_data
return
json_data
def
_get_info_from_urls
(
self
,
urls
:
Dict
[
str
,
List
[
str
]])
->
PackageInfo
:
def
_get_info_from_urls
(
self
,
urls
:
Dict
[
str
,
List
[
str
]])
->
"PackageInfo"
:
# Checking wheels first as they are more likely to hold
# Checking wheels first as they are more likely to hold
# the necessary information
# the necessary information
if
"bdist_wheel"
in
urls
:
if
"bdist_wheel"
in
urls
:
...
@@ -377,11 +384,11 @@ class PyPiRepository(RemoteRepository):
...
@@ -377,11 +384,11 @@ class PyPiRepository(RemoteRepository):
return
info
return
info
py2_requires_dist
=
set
(
py2_requires_dist
=
set
(
dependency
_from_pep_508
(
r
)
.
to_pep_508
()
Dependency
.
create
_from_pep_508
(
r
)
.
to_pep_508
()
for
r
in
info
.
requires_dist
for
r
in
info
.
requires_dist
)
)
py3_requires_dist
=
set
(
py3_requires_dist
=
set
(
dependency
_from_pep_508
(
r
)
.
to_pep_508
()
Dependency
.
create
_from_pep_508
(
r
)
.
to_pep_508
()
for
r
in
py3_info
.
requires_dist
for
r
in
py3_info
.
requires_dist
)
)
base_requires_dist
=
py2_requires_dist
&
py3_requires_dist
base_requires_dist
=
py2_requires_dist
&
py3_requires_dist
...
@@ -391,14 +398,14 @@ class PyPiRepository(RemoteRepository):
...
@@ -391,14 +398,14 @@ class PyPiRepository(RemoteRepository):
# Normalizing requires_dist
# Normalizing requires_dist
requires_dist
=
list
(
base_requires_dist
)
requires_dist
=
list
(
base_requires_dist
)
for
requirement
in
py2_only_requires_dist
:
for
requirement
in
py2_only_requires_dist
:
dep
=
dependency
_from_pep_508
(
requirement
)
dep
=
Dependency
.
create
_from_pep_508
(
requirement
)
dep
.
marker
=
dep
.
marker
.
intersect
(
dep
.
marker
=
dep
.
marker
.
intersect
(
parse_marker
(
"python_version == '2.7'"
)
parse_marker
(
"python_version == '2.7'"
)
)
)
requires_dist
.
append
(
dep
.
to_pep_508
())
requires_dist
.
append
(
dep
.
to_pep_508
())
for
requirement
in
py3_only_requires_dist
:
for
requirement
in
py3_only_requires_dist
:
dep
=
dependency
_from_pep_508
(
requirement
)
dep
=
Dependency
.
create
_from_pep_508
(
requirement
)
dep
.
marker
=
dep
.
marker
.
intersect
(
dep
.
marker
=
dep
.
marker
.
intersect
(
parse_marker
(
"python_version >= '3'"
)
parse_marker
(
"python_version >= '3'"
)
)
)
...
@@ -422,7 +429,9 @@ class PyPiRepository(RemoteRepository):
...
@@ -422,7 +429,9 @@ class PyPiRepository(RemoteRepository):
return
self
.
_get_info_from_sdist
(
urls
[
"sdist"
][
0
])
return
self
.
_get_info_from_sdist
(
urls
[
"sdist"
][
0
])
def
_get_info_from_wheel
(
self
,
url
:
str
)
->
PackageInfo
:
def
_get_info_from_wheel
(
self
,
url
:
str
)
->
"PackageInfo"
:
from
poetry.inspection.info
import
PackageInfo
self
.
_log
(
self
.
_log
(
"Downloading wheel: {}"
.
format
(
"Downloading wheel: {}"
.
format
(
urllib
.
parse
.
urlparse
(
url
)
.
path
.
rsplit
(
"/"
)[
-
1
]
urllib
.
parse
.
urlparse
(
url
)
.
path
.
rsplit
(
"/"
)[
-
1
]
...
@@ -438,7 +447,9 @@ class PyPiRepository(RemoteRepository):
...
@@ -438,7 +447,9 @@ class PyPiRepository(RemoteRepository):
return
PackageInfo
.
from_wheel
(
filepath
)
return
PackageInfo
.
from_wheel
(
filepath
)
def
_get_info_from_sdist
(
self
,
url
:
str
)
->
PackageInfo
:
def
_get_info_from_sdist
(
self
,
url
:
str
)
->
"PackageInfo"
:
from
poetry.inspection.info
import
PackageInfo
self
.
_log
(
self
.
_log
(
"Downloading sdist: {}"
.
format
(
"Downloading sdist: {}"
.
format
(
urllib
.
parse
.
urlparse
(
url
)
.
path
.
rsplit
(
"/"
)[
-
1
]
urllib
.
parse
.
urlparse
(
url
)
.
path
.
rsplit
(
"/"
)[
-
1
]
...
...
poetry/repositories/repository.py
View file @
757a1130
...
@@ -2,17 +2,13 @@ from typing import TYPE_CHECKING
...
@@ -2,17 +2,13 @@ from typing import TYPE_CHECKING
from
typing
import
List
from
typing
import
List
from
typing
import
Optional
from
typing
import
Optional
from
poetry.core.semver
import
VersionConstraint
from
poetry.core.semver
import
VersionRange
from
poetry.core.semver
import
parse_constraint
from
.base_repository
import
BaseRepository
from
.base_repository
import
BaseRepository
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Link
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
Package
from
poetry.core.packages
.utils.link
import
Link
class
Repository
(
BaseRepository
):
class
Repository
(
BaseRepository
):
...
@@ -41,6 +37,10 @@ class Repository(BaseRepository):
...
@@ -41,6 +37,10 @@ class Repository(BaseRepository):
return
package
.
clone
()
return
package
.
clone
()
def
find_packages
(
self
,
dependency
:
"Dependency"
)
->
List
[
"Package"
]:
def
find_packages
(
self
,
dependency
:
"Dependency"
)
->
List
[
"Package"
]:
from
poetry.core.semver.helpers
import
parse_constraint
from
poetry.core.semver.version_constraint
import
VersionConstraint
from
poetry.core.semver.version_range
import
VersionRange
constraint
=
dependency
.
constraint
constraint
=
dependency
.
constraint
packages
=
[]
packages
=
[]
ignored_pre_release_packages
=
[]
ignored_pre_release_packages
=
[]
...
...
poetry/utils/env.py
View file @
757a1130
...
@@ -31,7 +31,7 @@ from packaging.tags import interpreter_name
...
@@ -31,7 +31,7 @@ from packaging.tags import interpreter_name
from
packaging.tags
import
interpreter_version
from
packaging.tags
import
interpreter_version
from
packaging.tags
import
sys_tags
from
packaging.tags
import
sys_tags
from
poetry.core.semver
import
parse_constraint
from
poetry.core.semver
.helpers
import
parse_constraint
from
poetry.core.semver.version
import
Version
from
poetry.core.semver.version
import
Version
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.version.markers
import
BaseMarker
from
poetry.core.version.markers
import
BaseMarker
...
...
poetry/utils/extras.py
View file @
757a1130
from
typing
import
TYPE_CHECKING
from
typing
import
Iterable
from
typing
import
Iterable
from
typing
import
Iterator
from
typing
import
Iterator
from
typing
import
List
from
typing
import
List
from
typing
import
Mapping
from
typing
import
Mapping
from
typing
import
Sequence
from
typing
import
Sequence
from
poetry.core.packages
import
Package
from
poetry.utils.helpers
import
canonicalize_name
if
TYPE_CHECKING
:
from
poetry.core.packages.package
import
Package
# noqa
def
get_extra_package_names
(
def
get_extra_package_names
(
packages
:
Sequence
[
Package
],
packages
:
Sequence
[
"Package"
],
extras
:
Mapping
[
str
,
List
[
str
]],
extras
:
Mapping
[
str
,
List
[
str
]],
extra_names
:
Sequence
[
str
],
extra_names
:
Sequence
[
str
],
)
->
Iterator
[
str
]:
)
->
Iterator
[
str
]:
...
@@ -21,6 +23,9 @@ def get_extra_package_names(
...
@@ -21,6 +23,9 @@ def get_extra_package_names(
in the `extras` section of `poetry.lock`.
in the `extras` section of `poetry.lock`.
:param extra_names: A list of strings specifying names of extra groups to resolve.
:param extra_names: A list of strings specifying names of extra groups to resolve.
"""
"""
from
poetry.core.packages.package
import
Package
# noqa
from
poetry.utils.helpers
import
canonicalize_name
if
not
extra_names
:
if
not
extra_names
:
return
[]
return
[]
...
...
poetry/utils/setup_reader.py
View file @
757a1130
...
@@ -10,7 +10,7 @@ from typing import Optional
...
@@ -10,7 +10,7 @@ from typing import Optional
from
typing
import
Tuple
from
typing
import
Tuple
from
typing
import
Union
from
typing
import
Union
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
class
SetupReader
(
object
):
class
SetupReader
(
object
):
...
...
poetry/version/version_selector.py
View file @
757a1130
...
@@ -2,8 +2,8 @@ from typing import TYPE_CHECKING
...
@@ -2,8 +2,8 @@ from typing import TYPE_CHECKING
from
typing
import
Optional
from
typing
import
Optional
from
typing
import
Union
from
typing
import
Union
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
if
TYPE_CHECKING
:
if
TYPE_CHECKING
:
...
...
pyproject.toml
View file @
757a1130
...
@@ -24,7 +24,7 @@ classifiers = [
...
@@ -24,7 +24,7 @@ classifiers = [
[tool.poetry.dependencies]
[tool.poetry.dependencies]
python
=
"^3.6"
python
=
"^3.6"
poetry-core
=
"^1.0.2"
poetry-core
=
{
git
=
"https://github.com/python-poetry/poetry-core"
,
branch
=
"master"
}
cleo
=
"^1.0.0a1"
cleo
=
"^1.0.0a1"
crashtest
=
"^0.3.0"
crashtest
=
"^0.3.0"
requests
=
"^2.18"
requests
=
"^2.18"
...
...
tests/console/commands/env/helpers.py
View file @
757a1130
...
@@ -2,7 +2,7 @@ from pathlib import Path
...
@@ -2,7 +2,7 @@ from pathlib import Path
from
typing
import
Optional
from
typing
import
Optional
from
typing
import
Union
from
typing
import
Union
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
def
build_venv
(
def
build_venv
(
...
...
tests/console/commands/env/test_use.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from pathlib import Path
...
@@ -5,7 +5,7 @@ from pathlib import Path
import
pytest
import
pytest
import
tomlkit
import
tomlkit
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.utils.env
import
MockEnv
from
poetry.utils.env
import
MockEnv
from
tests.console.commands.env.helpers
import
build_venv
from
tests.console.commands.env.helpers
import
build_venv
...
...
tests/console/commands/test_add.py
View file @
757a1130
# -*- coding: utf-8 -*-
from
__future__
import
unicode_literals
import
sys
import
sys
from
pathlib
import
Path
from
pathlib
import
Path
import
pytest
import
pytest
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
from
poetry.repositories.legacy_repository
import
LegacyRepository
from
poetry.repositories.legacy_repository
import
LegacyRepository
from
tests.helpers
import
get_dependency
from
tests.helpers
import
get_dependency
from
tests.helpers
import
get_package
from
tests.helpers
import
get_package
...
...
tests/console/commands/test_config.py
View file @
757a1130
...
@@ -4,7 +4,7 @@ import os
...
@@ -4,7 +4,7 @@ import os
import
pytest
import
pytest
from
poetry.config.config_source
import
ConfigSource
from
poetry.config.config_source
import
ConfigSource
from
poetry.core.pyproject
import
PyProjectException
from
poetry.core.pyproject
.exceptions
import
PyProjectException
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
...
...
tests/helpers.py
View file @
757a1130
...
@@ -7,9 +7,9 @@ from pathlib import Path
...
@@ -7,9 +7,9 @@ from pathlib import Path
from
poetry.console.application
import
Application
from
poetry.console.application
import
Application
from
poetry.core.masonry.utils.helpers
import
escape_name
from
poetry.core.masonry.utils.helpers
import
escape_name
from
poetry.core.masonry.utils.helpers
import
escape_version
from
poetry.core.masonry.utils.helpers
import
escape_version
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Link
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
Package
from
poetry.core.packages
.utils.link
import
Link
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.vcs.git
import
ParsedUrl
from
poetry.core.vcs.git
import
ParsedUrl
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
...
...
tests/installation/test_installer.py
View file @
757a1130
...
@@ -9,7 +9,7 @@ import pytest
...
@@ -9,7 +9,7 @@ import pytest
from
cleo.io.null_io
import
NullIO
from
cleo.io.null_io
import
NullIO
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages
.project_package
import
ProjectPackage
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.installation
import
Installer
as
BaseInstaller
from
poetry.installation
import
Installer
as
BaseInstaller
...
...
tests/installation/test_installer_old.py
View file @
757a1130
...
@@ -8,7 +8,7 @@ import pytest
...
@@ -8,7 +8,7 @@ import pytest
from
cleo.io.null_io
import
NullIO
from
cleo.io.null_io
import
NullIO
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages
.project_package
import
ProjectPackage
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.installation
import
Installer
as
BaseInstaller
from
poetry.installation
import
Installer
as
BaseInstaller
...
...
tests/mixology/helpers.py
View file @
757a1130
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.mixology.failure
import
SolveFailure
from
poetry.mixology.failure
import
SolveFailure
from
poetry.mixology.version_solver
import
VersionSolver
from
poetry.mixology.version_solver
import
VersionSolver
...
...
tests/puzzle/test_provider.py
View file @
757a1130
...
@@ -5,9 +5,9 @@ import pytest
...
@@ -5,9 +5,9 @@ import pytest
from
cleo.io.null_io
import
NullIO
from
cleo.io.null_io
import
NullIO
from
poetry.core.packages
import
ProjectPackage
from
poetry.core.packages.directory_dependency
import
DirectoryDependency
from
poetry.core.packages.directory_dependency
import
DirectoryDependency
from
poetry.core.packages.file_dependency
import
FileDependency
from
poetry.core.packages.file_dependency
import
FileDependency
from
poetry.core.packages.project_package
import
ProjectPackage
from
poetry.core.packages.vcs_dependency
import
VCSDependency
from
poetry.core.packages.vcs_dependency
import
VCSDependency
from
poetry.inspection.info
import
PackageInfo
from
poetry.inspection.info
import
PackageInfo
from
poetry.puzzle.provider
import
Provider
from
poetry.puzzle.provider
import
Provider
...
...
tests/puzzle/test_solver.py
View file @
757a1130
...
@@ -4,9 +4,9 @@ import pytest
...
@@ -4,9 +4,9 @@ import pytest
from
cleo.io.null_io
import
NullIO
from
cleo.io.null_io
import
NullIO
from
poetry.core.packages
import
Package
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.packages
import
Project
Package
from
poetry.core.packages
.package
import
Package
from
poetry.core.packages
import
dependency_from_pep_508
from
poetry.core.packages
.project_package
import
ProjectPackage
from
poetry.core.version.markers
import
parse_marker
from
poetry.core.version.markers
import
parse_marker
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.puzzle
import
Solver
from
poetry.puzzle
import
Solver
...
@@ -1362,9 +1362,9 @@ def test_solver_finds_compatible_package_for_dependency_python_not_fully_compati
...
@@ -1362,9 +1362,9 @@ def test_solver_finds_compatible_package_for_dependency_python_not_fully_compati
def
test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras
(
def
test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras
(
solver
,
repo
,
package
solver
,
repo
,
package
):
):
dep1
=
dependency
_from_pep_508
(
'B (>=1.0); extra == "foo"'
)
dep1
=
Dependency
.
create
_from_pep_508
(
'B (>=1.0); extra == "foo"'
)
dep1
.
activate
()
dep1
.
activate
()
dep2
=
dependency
_from_pep_508
(
'B (>=2.0); extra == "bar"'
)
dep2
=
Dependency
.
create
_from_pep_508
(
'B (>=2.0); extra == "bar"'
)
dep2
.
activate
()
dep2
.
activate
()
package
.
add_dependency
(
package
.
add_dependency
(
...
@@ -1496,7 +1496,7 @@ def test_solver_ignores_dependencies_with_incompatible_python_full_version_marke
...
@@ -1496,7 +1496,7 @@ def test_solver_ignores_dependencies_with_incompatible_python_full_version_marke
package_a
=
get_package
(
"A"
,
"1.0.0"
)
package_a
=
get_package
(
"A"
,
"1.0.0"
)
package_a
.
requires
.
append
(
package_a
.
requires
.
append
(
dependency
_from_pep_508
(
Dependency
.
create
_from_pep_508
(
'B (<2.0); platform_python_implementation == "PyPy" and python_full_version < "2.7.9"'
'B (<2.0); platform_python_implementation == "PyPy" and python_full_version < "2.7.9"'
)
)
)
)
...
...
tests/repositories/test_installed_repository.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ import pytest
...
@@ -5,7 +5,7 @@ import pytest
from
pytest_mock.plugin
import
MockFixture
from
pytest_mock.plugin
import
MockFixture
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.utils._compat
import
metadata
from
poetry.utils._compat
import
metadata
from
poetry.utils.env
import
MockEnv
as
BaseMockEnv
from
poetry.utils.env
import
MockEnv
as
BaseMockEnv
...
...
tests/repositories/test_legacy_repository.py
View file @
757a1130
...
@@ -5,7 +5,7 @@ from pathlib import Path
...
@@ -5,7 +5,7 @@ from pathlib import Path
import
pytest
import
pytest
import
requests
import
requests
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.exceptions
import
RepositoryError
from
poetry.repositories.exceptions
import
RepositoryError
...
...
tests/repositories/test_pypi_repository.py
View file @
757a1130
...
@@ -9,7 +9,7 @@ import pytest
...
@@ -9,7 +9,7 @@ import pytest
from
requests.exceptions
import
TooManyRedirects
from
requests.exceptions
import
TooManyRedirects
from
requests.models
import
Response
from
requests.models
import
Response
from
poetry.core.packages
import
Dependency
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.repositories.pypi_repository
import
PyPiRepository
from
poetry.repositories.pypi_repository
import
PyPiRepository
from
poetry.utils._compat
import
encode
from
poetry.utils._compat
import
encode
...
...
tests/utils/test_env.py
View file @
757a1130
...
@@ -11,7 +11,7 @@ import tomlkit
...
@@ -11,7 +11,7 @@ import tomlkit
from
cleo.io.null_io
import
NullIO
from
cleo.io.null_io
import
NullIO
from
poetry.core.semver
import
Version
from
poetry.core.semver
.version
import
Version
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.utils.env
import
GET_BASE_PREFIX
from
poetry.utils.env
import
GET_BASE_PREFIX
...
...
tests/utils/test_exporter.py
View file @
757a1130
...
@@ -4,7 +4,7 @@ from pathlib import Path
...
@@ -4,7 +4,7 @@ from pathlib import Path
import
pytest
import
pytest
from
poetry.core.packages
import
dependency_from_pep_508
from
poetry.core.packages
.dependency
import
Dependency
from
poetry.core.toml.file
import
TOMLFile
from
poetry.core.toml.file
import
TOMLFile
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.packages
import
Locker
as
BaseLocker
from
poetry.packages
import
Locker
as
BaseLocker
...
@@ -273,25 +273,23 @@ def test_exporter_can_export_requirements_txt_poetry(tmp_dir, poetry):
...
@@ -273,25 +273,23 @@ def test_exporter_can_export_requirements_txt_poetry(tmp_dir, poetry):
# │ │ └── six >=1.4.1
# │ │ └── six >=1.4.1
# │ └── jeepney >=0.6 (circular dependency aborted here)
# │ └── jeepney >=0.6 (circular dependency aborted here)
expected
=
{
expected
=
{
"poetry"
:
dependency
_from_pep_508
(
"poetry==1.1.4"
),
"poetry"
:
Dependency
.
create
_from_pep_508
(
"poetry==1.1.4"
),
"junit-xml"
:
dependency
_from_pep_508
(
"junit-xml==1.9"
),
"junit-xml"
:
Dependency
.
create
_from_pep_508
(
"junit-xml==1.9"
),
"keyring"
:
dependency
_from_pep_508
(
"keyring==21.8.0"
),
"keyring"
:
Dependency
.
create
_from_pep_508
(
"keyring==21.8.0"
),
"secretstorage"
:
dependency
_from_pep_508
(
"secretstorage"
:
Dependency
.
create
_from_pep_508
(
"secretstorage==3.3.0; sys_platform=='linux'"
"secretstorage==3.3.0; sys_platform=='linux'"
),
),
"cryptography"
:
dependency
_from_pep_508
(
"cryptography"
:
Dependency
.
create
_from_pep_508
(
"cryptography==3.2; sys_platform=='linux'"
"cryptography==3.2; sys_platform=='linux'"
),
),
"six"
:
dependency
_from_pep_508
(
"six==1.15.0"
),
"six"
:
Dependency
.
create
_from_pep_508
(
"six==1.15.0"
),
}
}
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
dependency
=
dependency
_from_pep_508
(
line
)
dependency
=
Dependency
.
create
_from_pep_508
(
line
)
assert
dependency
.
name
in
expected
assert
dependency
.
name
in
expected
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
assert
dependency
==
expected_dependency
assert
dependency
==
expected_dependency
print
(
dependency
.
marker
)
print
(
expected_dependency
.
marker
)
assert
dependency
.
marker
==
expected_dependency
.
marker
assert
dependency
.
marker
==
expected_dependency
.
marker
...
@@ -356,13 +354,15 @@ def test_exporter_can_export_requirements_txt_pyinstaller(tmp_dir, poetry):
...
@@ -356,13 +354,15 @@ def test_exporter_can_export_requirements_txt_pyinstaller(tmp_dir, poetry):
# ├── macholib >=1.8 -- only on Darwin
# ├── macholib >=1.8 -- only on Darwin
# │ └── altgraph >=0.15
# │ └── altgraph >=0.15
expected
=
{
expected
=
{
"pyinstaller"
:
dependency_from_pep_508
(
"pyinstaller==4.0"
),
"pyinstaller"
:
Dependency
.
create_from_pep_508
(
"pyinstaller==4.0"
),
"altgraph"
:
dependency_from_pep_508
(
"altgraph==0.17"
),
"altgraph"
:
Dependency
.
create_from_pep_508
(
"altgraph==0.17"
),
"macholib"
:
dependency_from_pep_508
(
"macholib==1.8; sys_platform == 'darwin'"
),
"macholib"
:
Dependency
.
create_from_pep_508
(
"macholib==1.8; sys_platform == 'darwin'"
),
}
}
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
dependency
=
dependency
_from_pep_508
(
line
)
dependency
=
Dependency
.
create
_from_pep_508
(
line
)
assert
dependency
.
name
in
expected
assert
dependency
.
name
in
expected
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
assert
dependency
==
expected_dependency
assert
dependency
==
expected_dependency
...
@@ -427,20 +427,20 @@ def test_exporter_can_export_requirements_txt_with_nested_packages_and_markers(
...
@@ -427,20 +427,20 @@ def test_exporter_can_export_requirements_txt_with_nested_packages_and_markers(
content
=
f
.
read
()
content
=
f
.
read
()
expected
=
{
expected
=
{
"a"
:
dependency
_from_pep_508
(
"a==1.2.3; python_version < '3.7'"
),
"a"
:
Dependency
.
create
_from_pep_508
(
"a==1.2.3; python_version < '3.7'"
),
"b"
:
dependency
_from_pep_508
(
"b"
:
Dependency
.
create
_from_pep_508
(
"b==4.5.6; platform_system == 'Windows' and python_version < '3.7'"
"b==4.5.6; platform_system == 'Windows' and python_version < '3.7'"
),
),
"c"
:
dependency
_from_pep_508
(
"c"
:
Dependency
.
create
_from_pep_508
(
"c==7.8.9; sys_platform == 'win32' and python_version < '3.7'"
"c==7.8.9; sys_platform == 'win32' and python_version < '3.7'"
),
),
"d"
:
dependency
_from_pep_508
(
"d"
:
Dependency
.
create
_from_pep_508
(
"d==0.0.1; platform_system == 'Windows' and python_version < '3.7' or sys_platform == 'win32' and python_version < '3.7'"
"d==0.0.1; platform_system == 'Windows' and python_version < '3.7' or sys_platform == 'win32' and python_version < '3.7'"
),
),
}
}
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
for
line
in
content
.
strip
()
.
split
(
"
\n
"
):
dependency
=
dependency
_from_pep_508
(
line
)
dependency
=
Dependency
.
create
_from_pep_508
(
line
)
assert
dependency
.
name
in
expected
assert
dependency
.
name
in
expected
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
expected_dependency
=
expected
.
pop
(
dependency
.
name
)
assert
dependency
==
expected_dependency
assert
dependency
==
expected_dependency
...
...
tests/utils/test_extras.py
View file @
757a1130
import
pytest
import
pytest
from
poetry.core.packages
import
Package
from
poetry.core.packages
.package
import
Package
from
poetry.factory
import
Factory
from
poetry.factory
import
Factory
from
poetry.utils.extras
import
get_extra_package_names
from
poetry.utils.extras
import
get_extra_package_names
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment