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
6b096390
Unverified
Commit
6b096390
authored
Nov 01, 2019
by
Sébastien Eustace
Committed by
GitHub
Nov 01, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve linting using isort and flake8 (#1531)
parent
98f4176f
Hide whitespace changes
Inline
Side-by-side
Showing
133 changed files
with
452 additions
and
321 deletions
+452
-321
.flake8
+21
-0
.github/ISSUE_TEMPLATE/---everything-else.md
+1
-2
.pre-commit-config.yaml
+20
-2
CONTRIBUTING.md
+9
-0
docs/docs/basic-usage.md
+3
-3
docs/docs/cli.md
+2
-2
docs/docs/contributing.md
+10
-1
get-poetry.py
+4
-2
poetry/__init__.py
+3
-2
poetry/__main__.py
+1
-0
poetry/config/config.py
+10
-2
poetry/console/application.py
+22
-29
poetry/console/commands/add.py
+2
-2
poetry/console/commands/cache/__init__.py
+0
-1
poetry/console/commands/cache/cache.py
+0
-1
poetry/console/commands/config.py
+5
-7
poetry/console/commands/debug/__init__.py
+0
-1
poetry/console/commands/debug/resolve.py
+0
-4
poetry/console/commands/env/__init__.py
+0
-1
poetry/console/commands/env/env.py
+0
-1
poetry/console/commands/init.py
+2
-2
poetry/console/commands/install.py
+1
-1
poetry/console/commands/lock.py
+1
-1
poetry/console/commands/remove.py
+1
-1
poetry/console/commands/self/__init__.py
+0
-1
poetry/console/commands/self/self.py
+0
-1
poetry/console/commands/self/update.py
+6
-5
poetry/console/commands/shell.py
+1
-1
poetry/console/commands/update.py
+1
-1
poetry/console/commands/version.py
+1
-1
poetry/console/config/application_config.py
+7
-3
poetry/console/logging/__init__.py
+0
-2
poetry/installation/pip_installer.py
+6
-7
poetry/json/__init__.py
+3
-2
poetry/layouts/src.py
+1
-0
poetry/layouts/standard.py
+1
-0
poetry/masonry/api.py
+3
-2
poetry/masonry/builder.py
+3
-3
poetry/masonry/builders/builder.py
+1
-1
poetry/masonry/builders/complete.py
+2
-2
poetry/masonry/builders/sdist.py
+1
-4
poetry/masonry/builders/wheel.py
+4
-3
poetry/masonry/publishing/publisher.py
+3
-1
poetry/masonry/publishing/uploader.py
+6
-4
poetry/masonry/utils/module.py
+2
-0
poetry/mixology/incompatibility.py
+1
-0
poetry/mixology/partial_solution.py
+0
-2
poetry/mixology/version_solver.py
+2
-1
poetry/packages/__init__.py
+1
-1
poetry/packages/constraints/__init__.py
+1
-0
poetry/packages/constraints/multi_constraint.py
+5
-1
poetry/packages/constraints/union_constraint.py
+0
-1
poetry/packages/dependency.py
+1
-1
poetry/packages/directory_dependency.py
+1
-0
poetry/packages/file_dependency.py
+1
-0
poetry/packages/locker.py
+5
-4
poetry/packages/package.py
+3
-2
poetry/packages/utils/link.py
+5
-5
poetry/packages/utils/utils.py
+1
-0
poetry/poetry.py
+0
-2
poetry/puzzle/provider.py
+14
-16
poetry/puzzle/solver.py
+0
-2
poetry/repositories/legacy_repository.py
+24
-22
poetry/repositories/pool.py
+1
-1
poetry/repositories/pypi_repository.py
+8
-7
poetry/repositories/repository.py
+1
-1
poetry/semver/patterns.py
+1
-0
poetry/semver/version.py
+1
-0
poetry/semver/version_constraint.py
+1
-1
poetry/semver/version_range.py
+3
-1
poetry/semver/version_union.py
+4
-2
poetry/spdx/__init__.py
+1
-0
poetry/spdx/data/licenses.json
+1
-2
poetry/spdx/updater.py
+1
-0
poetry/utils/_compat.py
+1
-0
poetry/utils/appdirs.py
+1
-0
poetry/utils/env.py
+2
-2
poetry/utils/helpers.py
+11
-7
poetry/utils/inspector.py
+6
-4
poetry/utils/setup_reader.py
+7
-6
poetry/utils/shell.py
+1
-1
poetry/utils/toml_file.py
+2
-1
poetry/vcs/git.py
+0
-1
poetry/version/helpers.py
+2
-1
poetry/version/markers.py
+9
-5
poetry/version/requirements.py
+19
-9
poetry/version/specifiers.py
+3
-1
poetry/version/version_selector.py
+1
-1
pyproject.toml
+34
-1
sonnet
+1
-0
tests/config/test_config.py
+0
-2
tests/conftest.py
+9
-16
tests/console/commands/test_add.py
+1
-1
tests/console/commands/test_config.py
+2
-2
tests/console/commands/test_init.py
+1
-1
tests/console/commands/test_show.py
+4
-2
tests/console/commands/test_version.py
+1
-0
tests/console/conftest.py
+9
-7
tests/helpers.py
+0
-1
tests/installation/test_installer.py
+2
-3
tests/masonry/builders/fixtures/extended/build.py
+0
-1
tests/masonry/builders/fixtures/localversionlabel/pyproject.toml
+0
-1
tests/masonry/builders/fixtures/src_extended/build.py
+0
-1
tests/masonry/builders/test_builder.py
+2
-1
tests/masonry/builders/test_complete.py
+4
-2
tests/masonry/builders/test_editable.py
+1
-0
tests/masonry/builders/test_sdist.py
+2
-2
tests/masonry/builders/test_wheel.py
+3
-2
tests/masonry/publishing/test_uploader.py
+1
-1
tests/mixology/helpers.py
+2
-2
tests/mixology/version_solver/conftest.py
+2
-2
tests/mixology/version_solver/test_with_lock.py
+0
-1
tests/packages/constraints/test_main.py
+1
-1
tests/packages/test_directory_dependency.py
+2
-2
tests/packages/test_file_dependency.py
+1
-0
tests/packages/test_locker.py
+1
-1
tests/puzzle/conftest.py
+5
-3
tests/puzzle/test_provider.py
+2
-3
tests/puzzle/test_solver.py
+3
-4
tests/repositories/fixtures/legacy/missing-version.html
+1
-2
tests/repositories/fixtures/pypi.org/json/ipython/4.1.0rc1.json
+1
-2
tests/repositories/fixtures/pypi.org/search/search.html
+0
-0
tests/repositories/test_legacy_repository.py
+7
-5
tests/repositories/test_pool.py
+1
-1
tests/repositories/test_pypi_repository.py
+2
-1
tests/semver/test_main.py
+1
-1
tests/test_factory.py
+0
-1
tests/utils/fixtures/test.toml
+0
-2
tests/utils/test_env.py
+7
-4
tests/utils/test_helpers.py
+4
-2
tests/utils/test_helpers_keyring.py
+7
-7
tests/version/test_helpers.py
+1
-1
tests/version/test_markers.py
+1
-0
No files found.
.flake8
0 → 100644
View file @
6b096390
[flake8]
max-line-length = 88
ignore = E501, E203, W503
per-file-ignores = __init__.py:F401
exclude =
.git
__pycache__
setup.py
build
dist
releases
.venv
.tox
.mypy_cache
.pytest_cache
.vscode
.github
poetry/utils/_compat.py
tests/fixtures/
tests/repositories/fixtures/
tests/utils/fixtures/
.github/ISSUE_TEMPLATE/---everything-else.md
View file @
6b096390
...
...
@@ -17,4 +17,4 @@ assignees: ''
-
[
]
I have searched the
[
documentation
](
https://poetry.eustace.io/docs/
)
and believe that my question is not covered.
## Issue
<!-- Now feel free to write your issue, but please be descriptive! Thanks again 🙌 ❤️ -->
\ No newline at end of file
<!-- Now feel free to write your issue, but please be descriptive! Thanks again 🙌 ❤️ -->
.pre-commit-config.yaml
View file @
6b096390
repos
:
-
repo
:
https://github.com/ambv
/black
-
repo
:
https://github.com/psf
/black
rev
:
stable
hooks
:
-
id
:
black
-
id
:
black
-
repo
:
https://gitlab.com/pycqa/flake8
rev
:
3.7.8
hooks
:
-
id
:
flake8
-
repo
:
https://github.com/pre-commit/mirrors-isort
rev
:
v4.3.21
hooks
:
-
id
:
isort
additional_dependencies
:
[
toml
]
-
repo
:
https://github.com/pre-commit/pre-commit-hooks
rev
:
v2.3.0
hooks
:
-
id
:
trailing-whitespace
-
id
:
end-of-file-fixer
-
id
:
debug-statements
CONTRIBUTING.md
View file @
6b096390
...
...
@@ -102,6 +102,9 @@ $ poetry run pytest tests/
Poetry uses the
[
black
](
https://github.com/ambv/black
)
coding style and you must ensure that your
code follows it. If not, the CI will fail and your Pull Request will not be merged.
Similarly, the import statements are sorted with
[
isort
](
https://github.com/timothycrosley/isort
)
and special care must be taken to respect it. If you don't, the CI will fail as well.
To make sure that you don't accidentally commit code that does not follow the coding style, you can
install a pre-commit hook that will check that everything is in order:
...
...
@@ -109,6 +112,12 @@ install a pre-commit hook that will check that everything is in order:
$
poetry run pre-commit install
```
You can also run it anytime using:
```
bash
$
poetry run pre-commit run
--all-files
```
Your code must always be accompanied by corresponding tests, if tests are not present your code
will not be merged.
...
...
docs/docs/basic-usage.md
View file @
6b096390
...
...
@@ -157,13 +157,13 @@ or create a brand new one for you to always work isolated from your global Pytho
By default, Poetry will use the currently activated Python version
to create the virtualenv for the current project.
To easily switch between Python versions, it is recommended to
use
[
pyenv
](
https://github.com/pyenv/pyenv
)
or similar tools.
For instance, if your project is Python 2.7 only, a standard workflow
would be:
```
bash
pyenv install 2.7.15
pyenv
local
2.7.15
# Activate Python 2.7 for the current project
...
...
docs/docs/cli.md
View file @
6b096390
...
...
@@ -220,7 +220,7 @@ poetry add ../my-package/dist/my-package-0.1.0.tar.gz
poetry add ../my-package/dist/my_package-0.1.0.whl
```
Path dependencies pointing to a local directory will be installed in editable mode (i.e. setuptools "develop mode").
Path dependencies pointing to a local directory will be installed in editable mode (i.e. setuptools "develop mode").
It means that changes in the local directory will be reflected directly in environment.
If you don't want the dependency to be installed in editable mode you can specify it in the
`pyproject.toml`
file:
...
...
@@ -415,7 +415,7 @@ poetry lock
## version
This command shows the current version of the project or bumps the version of
This command shows the current version of the project or bumps the version of
the project and writes the new version back to `
pyproject.toml
` if a valid
bump rule is provided.
...
...
docs/docs/contributing.md
View file @
6b096390
...
...
@@ -104,13 +104,22 @@ $ poetry run pytest tests/
Poetry uses the
[
black
](
https://github.com/ambv/black
)
coding style and you must ensure that your
code follows it. If not, the CI will fail and your Pull Request will not be merged.
To make sure that you don't accidently commit code that does not follow the coding style, you can
Similarly, the import statements are sorted with
[
isort
](
https://github.com/timothycrosley/isort
)
and special care must be taken to respect it. If you don't, the CI will fail as well.
To make sure that you don't accidentally commit code that does not follow the coding style, you can
install a pre-commit hook that will check that everything is in order:
```
bash
$
poetry run pre-commit install
```
You can also run it anytime using:
```
bash
$
poetry run pre-commit run
--all-files
```
Your code must always be accompanied by corresponding tests, if tests are not present your code
will not be merged.
...
...
get-poetry.py
View file @
6b096390
...
...
@@ -33,7 +33,9 @@ from contextlib import closing
from
contextlib
import
contextmanager
from
functools
import
cmp_to_key
from
gzip
import
GzipFile
from
io
import
UnsupportedOperation
,
open
from
io
import
UnsupportedOperation
from
io
import
open
try
:
from
urllib.error
import
HTTPError
...
...
@@ -853,7 +855,7 @@ def main():
base_url
=
Installer
.
BASE_URL
try
:
r
=
urlopen
(
Installer
.
REPOSITORY_URL
)
urlopen
(
Installer
.
REPOSITORY_URL
)
except
HTTPError
as
e
:
if
e
.
code
==
404
:
base_url
=
Installer
.
FALLBACK_BASE_URL
...
...
poetry/__init__.py
View file @
6b096390
import
os
import
sys
from
.__version__
import
__version__
# noqa
_ROOT
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
))
_VENDOR
=
os
.
path
.
join
(
_ROOT
,
"_vendor"
)
_CURRENT_VENDOR
=
os
.
path
.
join
(
...
...
@@ -9,5 +12,3 @@ _CURRENT_VENDOR = os.path.join(
# Add vendored dependencies to path.
sys
.
path
.
insert
(
0
,
_CURRENT_VENDOR
)
from
.__version__
import
__version__
# noqa
poetry/__main__.py
View file @
6b096390
import
sys
if
__name__
==
"__main__"
:
from
.console
import
main
...
...
poetry/config/config.py
View file @
6b096390
...
...
@@ -2,8 +2,10 @@ from __future__ import absolute_import
import
os
import
re
from
copy
import
deepcopy
from
typing
import
Any
from
typing
import
Callable
from
typing
import
Dict
from
typing
import
Optional
...
...
@@ -14,10 +16,16 @@ from poetry.utils._compat import basestring
from
.config_source
import
ConfigSource
from
.dict_config_source
import
DictConfigSource
_NOT_SET
=
object
()
boolean_validator
=
lambda
val
:
val
in
{
"true"
,
"false"
,
"1"
,
"0"
}
boolean_normalizer
=
lambda
val
:
val
in
[
"true"
,
"1"
]
def
boolean_validator
(
val
):
return
val
in
{
"true"
,
"false"
,
"1"
,
"0"
}
def
boolean_normalizer
(
val
):
return
val
in
[
"true"
,
"1"
]
class
Config
(
object
):
...
...
poetry/console/application.py
View file @
6b096390
import
os
from
cleo
import
Application
as
BaseApplication
from
poetry
import
__version__
from
.commands
import
AboutCommand
from
.commands
import
AddCommand
from
.commands
import
BuildCommand
from
.commands
import
CheckCommand
from
.commands
import
ConfigCommand
from
.commands
import
ExportCommand
from
.commands
import
InitCommand
from
.commands
import
InstallCommand
from
.commands
import
LockCommand
from
.commands
import
NewCommand
from
.commands
import
PublishCommand
from
.commands
import
RemoveCommand
from
.commands
import
RunCommand
from
.commands
import
SearchCommand
from
.commands
import
ShellCommand
from
.commands
import
ShowCommand
from
.commands
import
UpdateCommand
from
.commands
import
VersionCommand
from
.commands.debug
import
DebugCommand
from
.commands.cache
import
CacheCommand
from
.commands.self
import
SelfCommand
from
.commands.about
import
AboutCommand
from
.commands.add
import
AddCommand
from
.commands.build
import
BuildCommand
from
.commands.cache.cache
import
CacheCommand
from
.commands.check
import
CheckCommand
from
.commands.config
import
ConfigCommand
from
.commands.debug.debug
import
DebugCommand
from
.commands.env.env
import
EnvCommand
from
.commands.export
import
ExportCommand
from
.commands.init
import
InitCommand
from
.commands.install
import
InstallCommand
from
.commands.lock
import
LockCommand
from
.commands.new
import
NewCommand
from
.commands.publish
import
PublishCommand
from
.commands.remove
import
RemoveCommand
from
.commands.run
import
RunCommand
from
.commands.search
import
SearchCommand
from
.commands.self.self
import
SelfCommand
from
.commands.shell
import
ShellCommand
from
.commands.show
import
ShowCommand
from
.commands.update
import
UpdateCommand
from
.commands.version
import
VersionCommand
from
.config
import
ApplicationConfig
from
.commands.env
import
EnvCommand
class
Application
(
BaseApplication
):
def
__init__
(
self
):
...
...
poetry/console/commands/add.py
View file @
6b096390
from
cleo
import
argument
from
cleo
import
option
from
.init
import
InitCommand
from
.env_command
import
EnvCommand
from
.init
import
InitCommand
class
AddCommand
(
EnvCommand
,
InitCommand
):
...
...
@@ -49,7 +49,7 @@ If you do not specify a version constraint, poetry will choose a suitable one ba
loggers
=
[
"poetry.repositories.pypi_repository"
]
def
handle
(
self
):
from
poetry.installation
import
Installer
from
poetry.installation
.installer
import
Installer
from
poetry.semver
import
parse_constraint
from
tomlkit
import
inline_table
...
...
poetry/console/commands/cache/__init__.py
View file @
6b096390
from
.cache
import
CacheCommand
poetry/console/commands/cache/cache.py
View file @
6b096390
from
..command
import
Command
from
.clear
import
CacheClearCommand
...
...
poetry/console/commands/config.py
View file @
6b096390
...
...
@@ -5,10 +5,9 @@ from cleo import argument
from
cleo
import
option
from
poetry.factory
import
Factory
from
poetry.utils.helpers
import
(
keyring_repository_password_del
,
keyring_repository_password_set
,
)
from
poetry.utils.helpers
import
keyring_repository_password_del
from
poetry.utils.helpers
import
keyring_repository_password_set
from
.command
import
Command
...
...
@@ -42,12 +41,11 @@ To remove a repository (repo is a short alias for repositories):
@property
def
unique_config_values
(
self
):
from
poetry.config.config
import
boolean_normalizer
from
poetry.config.config
import
boolean_validator
from
poetry.locations
import
CACHE_DIR
from
poetry.utils._compat
import
Path
boolean_validator
=
lambda
val
:
val
in
{
"true"
,
"false"
,
"1"
,
"0"
}
boolean_normalizer
=
lambda
val
:
val
in
[
"true"
,
"1"
]
unique_config_values
=
{
"cache-dir"
:
(
str
,
...
...
poetry/console/commands/debug/__init__.py
View file @
6b096390
from
.debug
import
DebugCommand
poetry/console/commands/debug/resolve.py
View file @
6b096390
import
re
from
typing
import
List
from
cleo
import
argument
from
cleo
import
option
...
...
poetry/console/commands/env/__init__.py
View file @
6b096390
from
.env
import
EnvCommand
poetry/console/commands/env/env.py
View file @
6b096390
from
..command
import
Command
from
.info
import
EnvInfoCommand
from
.list
import
EnvListCommand
from
.remove
import
EnvRemoveCommand
...
...
poetry/console/commands/init.py
View file @
6b096390
...
...
@@ -13,8 +13,8 @@ from typing import Union
from
cleo
import
option
from
tomlkit
import
inline_table
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
OrderedDict
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
urlparse
from
.command
import
Command
...
...
@@ -431,7 +431,7 @@ The <c1>init</c1> command creates a basic <comment>pyproject.toml</> file in the
require
[
"version"
]
=
version
else
:
m
=
re
.
match
(
"^([^><=!: ]+)((?:>=|<=|>|<|!=|~=|~|
\
^).*)$"
,
requirement
.
strip
()
r
"^([^><=!: ]+)((?:>=|<=|>|<|!=|~=|~|\^).*)$"
,
requirement
.
strip
()
)
if
m
:
name
,
constraint
=
m
.
group
(
1
),
m
.
group
(
2
)
...
...
poetry/console/commands/install.py
View file @
6b096390
...
...
@@ -40,7 +40,7 @@ exist it will look for <comment>pyproject.toml</> and do the same.
def
handle
(
self
):
from
clikit.io
import
NullIO
from
poetry.installation
import
Installer
from
poetry.installation
.installer
import
Installer
from
poetry.masonry.builders
import
EditableBuilder
from
poetry.masonry.utils.module
import
ModuleOrPackageNotFound
...
...
poetry/console/commands/lock.py
View file @
6b096390
...
...
@@ -15,7 +15,7 @@ the current directory, processes it, and locks the depdencies in the <comment>po
loggers
=
[
"poetry.repositories.pypi_repository"
]
def
handle
(
self
):
from
poetry.installation
import
Installer
from
poetry.installation
.installer
import
Installer
installer
=
Installer
(
self
.
io
,
self
.
env
,
self
.
poetry
.
package
,
self
.
poetry
.
locker
,
self
.
poetry
.
pool
...
...
poetry/console/commands/remove.py
View file @
6b096390
...
...
@@ -28,7 +28,7 @@ list of installed packages
loggers
=
[
"poetry.repositories.pypi_repository"
]
def
handle
(
self
):
from
poetry.installation
import
Installer
from
poetry.installation
.installer
import
Installer
packages
=
self
.
argument
(
"packages"
)
is_dev
=
self
.
option
(
"dev"
)
...
...
poetry/console/commands/self/__init__.py
View file @
6b096390
from
.self
import
SelfCommand
poetry/console/commands/self/self.py
View file @
6b096390
from
..command
import
Command
from
.update
import
SelfUpdateCommand
...
...
poetry/console/commands/self/update.py
View file @
6b096390
...
...
@@ -8,6 +8,12 @@ import tarfile
from
functools
import
cmp_to_key
from
gzip
import
GzipFile
from
cleo
import
argument
from
cleo
import
option
from
..command
import
Command
try
:
from
urllib.error
import
HTTPError
from
urllib.request
import
urlopen
...
...
@@ -15,11 +21,6 @@ except ImportError:
from
urllib2
import
HTTPError
from
urllib2
import
urlopen
from
cleo
import
argument
from
cleo
import
option
from
..command
import
Command
class
SelfUpdateCommand
(
Command
):
...
...
poetry/console/commands/shell.py
View file @
6b096390
import
sys
from
os
import
environ
from
distutils.util
import
strtobool
from
os
import
environ
from
.env_command
import
EnvCommand
...
...
poetry/console/commands/update.py
View file @
6b096390
...
...
@@ -28,7 +28,7 @@ class UpdateCommand(EnvCommand):
loggers
=
[
"poetry.repositories.pypi_repository"
]
def
handle
(
self
):
from
poetry.installation
import
Installer
from
poetry.installation
.installer
import
Installer
packages
=
self
.
argument
(
"packages"
)
...
...
poetry/console/commands/version.py
View file @
6b096390
...
...
@@ -20,7 +20,7 @@ class VersionCommand(Command):
]
help
=
"""
\
The version command shows the current version of the project or bumps the version of
The version command shows the current version of the project or bumps the version of
the project and writes the new version back to <comment>pyproject.toml</> if a valid
bump rule is provided.
...
...
poetry/console/config/application_config.py
View file @
6b096390
import
logging
from
cleo.config
import
ApplicationConfig
as
BaseApplicationConfig
from
clikit.api.application.application
import
Application
from
clikit.api.args.raw_args
import
RawArgs
from
clikit.api.event
import
PRE_HANDLE
from
clikit.api.event
import
PreHandleEvent
from
clikit.api.event
import
PreResolveEvent
from
clikit.api.event.event_dispatcher
import
EventDispatcher
from
clikit.api.formatter
import
Style
from
clikit.api.io
import
Input
from
clikit.api.io
import
InputStream
...
...
@@ -11,6 +15,7 @@ from clikit.api.io import OutputStream
from
clikit.api.io.flags
import
DEBUG
from
clikit.api.io.flags
import
VERBOSE
from
clikit.api.io.flags
import
VERY_VERBOSE
from
clikit.api.io.io
import
IO
from
clikit.formatter
import
AnsiFormatter
from
clikit.formatter
import
PlainFormatter
from
clikit.io.input_stream
import
StandardInputStream
...
...
@@ -19,8 +24,8 @@ from clikit.io.output_stream import StandardOutputStream
from
poetry.console.commands.command
import
Command
from
poetry.console.commands.env_command
import
EnvCommand
from
poetry.console.logging
import
IOFormatter
from
poetry.console.logging
import
IOHandler
from
poetry.console.logging
.io_formatter
import
IOFormatter
from
poetry.console.logging
.io_handler
import
IOHandler
class
ApplicationConfig
(
BaseApplicationConfig
):
...
...
@@ -68,7 +73,6 @@ class ApplicationConfig(BaseApplicationConfig):
logger
.
setLevel
(
level
)
def
set_env
(
self
,
event
,
event_name
,
_
):
# type: (PreHandleEvent, str, _) -> None
from
poetry.semver
import
parse_constraint
from
poetry.utils.env
import
EnvManager
command
=
event
.
command
.
config
.
handler
# type: EnvCommand
...
...
poetry/console/logging/__init__.py
View file @
6b096390
from
.io_formatter
import
IOFormatter
from
.io_handler
import
IOHandler
poetry/installation/pip_installer.py
View file @
6b096390
import
os
import
tempfile
from
io
import
open
from
io
import
open
from
subprocess
import
CalledProcessError
from
clikit.api.io
import
IO
from
clikit.io
import
NullIO
from
poetry.repositories.pool
import
Pool
from
poetry.utils._compat
import
encode
from
poetry.utils.env
import
Env
from
poetry.utils.helpers
import
safe_rmtree
from
.base_installer
import
BaseInstaller
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
from
poetry.repositories.pool
import
Pool
from
poetry.utils._compat
import
encode
from
poetry.utils.env
import
Env
from
.base_installer
import
BaseInstaller
class
PipInstaller
(
BaseInstaller
):
def
__init__
(
self
,
env
,
io
,
pool
):
# type: (Env, IO, Pool) -> None
...
...
poetry/json/__init__.py
View file @
6b096390
import
json
import
os
import
jsonschema
from
io
import
open
from
typing
import
List
import
jsonschema
SCHEMA_DIR
=
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
"schemas"
)
...
...
poetry/layouts/src.py
View file @
6b096390
...
...
@@ -2,6 +2,7 @@
from
.layout
import
Layout
DEFAULT
=
u"""__version__ = '{version}'
"""
...
...
poetry/layouts/standard.py
View file @
6b096390
...
...
@@ -2,6 +2,7 @@
from
.layout
import
Layout
DEFAULT
=
u"""__version__ = '{version}'
"""
...
...
poetry/masonry/api.py
View file @
6b096390
...
...
@@ -11,8 +11,9 @@ from poetry.utils._compat import Path
from
poetry.utils._compat
import
unicode
from
poetry.utils.env
import
SystemEnv
from
.builders
import
SdistBuilder
from
.builders
import
WheelBuilder
from
.builders.sdist
import
SdistBuilder
from
.builders.wheel
import
WheelBuilder
log
=
logging
.
getLogger
(
__name__
)
...
...
poetry/masonry/builder.py
View file @
6b096390
from
.builders
import
CompleteBuilder
from
.builders
import
SdistBuilder
from
.builders
import
WheelBuilder
from
.builders
.complete
import
CompleteBuilder
from
.builders
.sdist
import
SdistBuilder
from
.builders
.wheel
import
WheelBuilder
class
Builder
:
...
...
poetry/masonry/builders/builder.py
View file @
6b096390
...
...
@@ -41,7 +41,7 @@ class Builder(object):
def
__init__
(
self
,
poetry
,
env
,
io
,
ignore_packages_formats
=
False
):
# type: (
Poetry, Env, IO
) -> None
):
# type: (
"Poetry", "Env", "IO", bool
) -> None
self
.
_poetry
=
poetry
self
.
_env
=
env
self
.
_io
=
io
...
...
poetry/masonry/builders/complete.py
View file @
6b096390
import
os
import
tarfile
from
contextlib
import
contextmanager
from
poetry.factory
import
Factory
from
poetry.io.null_io
import
NullIO
from
poetry.utils._compat
import
Path
from
poetry.utils.helpers
import
temporary_directory
from
contextlib
import
contextmanager
from
.builder
import
Builder
from
.sdist
import
SdistBuilder
from
.wheel
import
WheelBuilder
...
...
poetry/masonry/builders/sdist.py
View file @
6b096390
...
...
@@ -16,7 +16,6 @@ from poetry.utils._compat import to_str
from
..utils.helpers
import
normalize_file_permissions
from
..utils.package_include
import
PackageInclude
from
.builder
import
Builder
...
...
@@ -268,9 +267,7 @@ class SdistBuilder(Builder):
return
pkgdir
,
sorted
(
packages
),
pkg_data
@classmethod
def
convert_dependencies
(
cls
,
package
,
dependencies
# type: Package # type: List[Dependency]
):
def
convert_dependencies
(
cls
,
package
,
dependencies
):
main
=
[]
extras
=
defaultdict
(
list
)
req_regex
=
re
.
compile
(
r"^(.+) \((.+)\)$"
)
...
...
poetry/masonry/builders/wheel.py
View file @
6b096390
...
...
@@ -3,10 +3,9 @@ from __future__ import unicode_literals
import
contextlib
import
hashlib
import
os
import
re
import
tempfile
import
shutil
import
stat
import
tempfile
import
zipfile
from
base64
import
urlsafe_b64encode
...
...
@@ -19,7 +18,9 @@ from poetry.__version__ import __version__
from
poetry.semver
import
parse_constraint
from
poetry.utils._compat
import
decode
from
..utils.helpers
import
normalize_file_permissions
,
escape_name
,
escape_version
from
..utils.helpers
import
escape_name
from
..utils.helpers
import
escape_version
from
..utils.helpers
import
normalize_file_permissions
from
..utils.package_include
import
PackageInclude
from
..utils.tags
import
get_abbr_impl
from
..utils.tags
import
get_abi_tag
...
...
poetry/masonry/publishing/publisher.py
View file @
6b096390
import
logging
from
poetry.utils.helpers
import
get_client_cert
,
get_cert
,
get_http_basic_auth
from
poetry.utils.helpers
import
get_cert
from
poetry.utils.helpers
import
get_client_cert
from
poetry.utils.helpers
import
get_http_basic_auth
from
.uploader
import
Uploader
...
...
poetry/masonry/publishing/uploader.py
View file @
6b096390
import
hashlib
import
io
import
math
import
re
from
typing
import
List
,
Optional
from
typing
import
List
from
typing
import
Optional
import
requests
...
...
@@ -11,7 +11,8 @@ from requests import adapters
from
requests.exceptions
import
HTTPError
from
requests.packages.urllib3
import
util
from
requests_toolbelt
import
user_agent
from
requests_toolbelt.multipart
import
MultipartEncoder
,
MultipartEncoderMonitor
from
requests_toolbelt.multipart
import
MultipartEncoder
from
requests_toolbelt.multipart
import
MultipartEncoderMonitor
from
poetry.__version__
import
__version__
from
poetry.utils._compat
import
Path
...
...
@@ -19,7 +20,8 @@ from poetry.utils.helpers import normalize_version
from
poetry.utils.patterns
import
wheel_file_re
from
..metadata
import
Metadata
from
..utils.helpers
import
escape_name
,
escape_version
from
..utils.helpers
import
escape_name
from
..utils.helpers
import
escape_version
_has_blake2
=
hasattr
(
hashlib
,
"blake2b"
)
...
...
poetry/masonry/utils/module.py
View file @
6b096390
from
typing
import
List
from
poetry.utils._compat
import
Path
from
poetry.utils.helpers
import
module_name
...
...
poetry/mixology/incompatibility.py
View file @
6b096390
from
typing
import
Dict
from
typing
import
Generator
from
typing
import
List
from
.incompatibility_cause
import
ConflictCause
...
...
poetry/mixology/partial_solution.py
View file @
6b096390
from
collections
import
OrderedDict
from
typing
import
Any
from
typing
import
Dict
from
typing
import
List
...
...
poetry/mixology/version_solver.py
View file @
6b096390
# -*- coding: utf-8 -*-
import
time
from
typing
import
Any
from
typing
import
Dict
from
typing
import
List
from
typing
import
Union
from
poetry.packages
import
Dependency
from
poetry.packages
import
ProjectPackage
from
poetry.packages
import
Package
from
poetry.packages
import
ProjectPackage
from
poetry.puzzle.provider
import
Provider
from
poetry.semver
import
Version
from
poetry.semver
import
VersionRange
...
...
poetry/packages/__init__.py
View file @
6b096390
...
...
@@ -12,6 +12,7 @@ from .locker import Locker
from
.package
import
Package
from
.package_collection
import
PackageCollection
from
.project_package
import
ProjectPackage
from
.url_dependency
import
URLDependency
from
.utils.link
import
Link
from
.utils.utils
import
convert_markers
from
.utils.utils
import
group_markers
...
...
@@ -20,7 +21,6 @@ from .utils.utils import is_installable_dir
from
.utils.utils
import
is_url
from
.utils.utils
import
path_to_url
from
.utils.utils
import
strip_extras
from
.url_dependency
import
URLDependency
from
.vcs_dependency
import
VCSDependency
...
...
poetry/packages/constraints/__init__.py
View file @
6b096390
import
re
from
.any_constraint
import
AnyConstraint
from
.base_constraint
import
BaseConstraint
from
.constraint
import
Constraint
from
.union_constraint
import
UnionConstraint
...
...
poetry/packages/constraints/multi_constraint.py
View file @
6b096390
...
...
@@ -65,7 +65,11 @@ class MultiConstraint(BaseConstraint):
def
intersect
(
self
,
other
):
if
isinstance
(
other
,
Constraint
):
constraints
=
[
c
for
c
in
self
.
_constraints
if
c
==
other
]
constraints
=
self
.
_constraints
if
other
not
in
constraints
:
constraints
+=
(
other
,)
else
:
constraints
=
(
other
,)
if
len
(
constraints
)
==
1
:
return
constraints
[
0
]
...
...
poetry/packages/constraints/union_constraint.py
View file @
6b096390
from
.base_constraint
import
BaseConstraint
from
.constraint
import
Constraint
from
.empty_constraint
import
EmptyConstraint
from
.multi_constraint
import
MultiConstraint
class
UnionConstraint
(
BaseConstraint
):
...
...
poetry/packages/dependency.py
View file @
6b096390
...
...
@@ -2,11 +2,11 @@ from typing import Optional
import
poetry.packages
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
Version
from
poetry.semver
import
VersionConstraint
from
poetry.semver
import
VersionRange
from
poetry.semver
import
VersionUnion
from
poetry.semver
import
parse_constraint
from
poetry.utils.helpers
import
canonicalize_name
from
poetry.version.markers
import
AnyMarker
from
poetry.version.markers
import
parse_marker
...
...
poetry/packages/directory_dependency.py
View file @
6b096390
...
...
@@ -6,6 +6,7 @@ from poetry.utils.toml_file import TomlFile
from
.dependency
import
Dependency
# Patching pkginfo to support Metadata version 2.1 (PEP 566)
HEADER_ATTRS
.
update
(
{
"2.1"
:
HEADER_ATTRS_2_0
+
((
"Provides-Extra"
,
"provides_extra"
,
True
),)}
...
...
poetry/packages/file_dependency.py
View file @
6b096390
...
...
@@ -8,6 +8,7 @@ from poetry.utils._compat import Path
from
.dependency
import
Dependency
# Patching pkginfo to support Metadata version 2.1 (PEP 566)
HEADER_ATTRS
.
update
(
{
"2.1"
:
HEADER_ATTRS_2_0
+
((
"Provides-Extra"
,
"provides_extra"
,
True
),)}
...
...
poetry/packages/locker.py
View file @
6b096390
import
json
import
re
import
poetry.packages
import
poetry.repositories
from
hashlib
import
sha256
from
typing
import
List
from
tomlkit
import
document
from
tomlkit
import
inline_table
from
tomlkit
import
item
from
tomlkit
import
table
from
typing
import
List
import
poetry.packages
import
poetry.repositories
from
poetry.utils._compat
import
Path
from
poetry.utils.toml_file
import
TomlFile
...
...
poetry/packages/package.py
View file @
6b096390
...
...
@@ -9,8 +9,8 @@ from warnings import warn
from
poetry.semver
import
Version
from
poetry.semver
import
parse_constraint
from
poetry.spdx
import
license_by_id
from
poetry.spdx
import
License
from
poetry.spdx
import
license_by_id
from
poetry.utils._compat
import
Path
from
poetry.utils.helpers
import
canonicalize_name
from
poetry.version.markers
import
AnyMarker
...
...
@@ -21,8 +21,9 @@ from .dependency import Dependency
from
.directory_dependency
import
DirectoryDependency
from
.file_dependency
import
FileDependency
from
.url_dependency
import
URLDependency
from
.vcs_dependency
import
VCSDependency
from
.utils.utils
import
create_nested_marker
from
.vcs_dependency
import
VCSDependency
AUTHOR_REGEX
=
re
.
compile
(
r"(?u)^(?P<name>[- .,\w\d'’\"()]+)(?: <(?P<email>.+?)>)?$"
)
...
...
poetry/packages/utils/link.py
View file @
6b096390
import
posixpath
import
re
from
.utils
import
path_to_url
from
.utils
import
splitext
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
import
re
from
.utils
import
path_to_url
from
.utils
import
splitext
class
Link
:
def
__init__
(
self
,
url
,
comes_from
=
None
,
requires_python
=
None
):
...
...
poetry/packages/utils/utils.py
View file @
6b096390
...
...
@@ -11,6 +11,7 @@ from poetry.version.markers import MarkerUnion
from
poetry.version.markers
import
MultiMarker
from
poetry.version.markers
import
SingleMarker
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
...
...
poetry/poetry.py
View file @
6b096390
from
__future__
import
absolute_import
from
__future__
import
unicode_literals
from
typing
import
Optional
from
.__version__
import
__version__
from
.config.config
import
Config
from
.packages
import
Locker
...
...
poetry/puzzle/provider.py
View file @
6b096390
import
glob
import
logging
import
os
import
pkginfo
import
re
import
time
from
clikit.ui.components
import
ProgressIndicator
from
contextlib
import
contextmanager
from
tempfile
import
mkdtemp
from
typing
import
List
from
typing
import
Optional
import
pkginfo
from
clikit.ui.components
import
ProgressIndicator
from
poetry.factory
import
Factory
from
poetry.mixology.incompatibility
import
Incompatibility
from
poetry.mixology.incompatibility_cause
import
DependencyCause
from
poetry.mixology.incompatibility_cause
import
PythonCause
from
poetry.mixology.term
import
Term
from
poetry.packages
import
Dependency
from
poetry.packages
import
DependencyPackage
from
poetry.packages
import
DirectoryDependency
...
...
@@ -21,30 +27,22 @@ from poetry.packages import PackageCollection
from
poetry.packages
import
URLDependency
from
poetry.packages
import
VCSDependency
from
poetry.packages
import
dependency_from_pep_508
from
poetry.mixology.incompatibility
import
Incompatibility
from
poetry.mixology.incompatibility_cause
import
DependencyCause
from
poetry.mixology.incompatibility_cause
import
PythonCause
from
poetry.mixology.term
import
Term
from
poetry.repositories
import
Pool
from
poetry.utils._compat
import
PY35
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
OrderedDict
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
urlparse
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.env
import
EnvManager
from
poetry.utils.env
import
VirtualEnv
from
poetry.utils.helpers
import
parse_requires
from
poetry.utils.helpers
import
safe_rmtree
from
poetry.utils.helpers
import
temporary_directory
from
poetry.utils.env
import
EnvManager
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.env
import
VirtualEnv
from
poetry.utils.inspector
import
Inspector
from
poetry.utils.setup_reader
import
SetupReader
from
poetry.utils.toml_file
import
TomlFile
from
poetry.version.markers
import
MarkerUnion
from
poetry.vcs.git
import
Git
from
poetry.version.markers
import
MarkerUnion
from
.exceptions
import
CompatibilityError
...
...
@@ -278,7 +276,7 @@ class Provider:
package
.
source_url
=
dependency
.
path
.
as_posix
()
if
dependency
.
base
!=
None
:
if
dependency
.
base
is
not
None
:
package
.
root_dir
=
dependency
.
base
.
as_posix
()
for
extra
in
dependency
.
extras
:
...
...
poetry/puzzle/solver.py
View file @
6b096390
...
...
@@ -13,12 +13,10 @@ from poetry.version.markers import AnyMarker
from
.exceptions
import
CompatibilityError
from
.exceptions
import
SolverProblemError
from
.operations
import
Install
from
.operations
import
Uninstall
from
.operations
import
Update
from
.operations.operation
import
Operation
from
.provider
import
Provider
...
...
poetry/repositories/legacy_repository.py
View file @
6b096390
import
cgi
import
re
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
try
:
from
html
import
unescape
except
ImportError
:
try
:
from
html.parser
import
HTMLParser
except
ImportError
:
from
HTMLParser
import
HTMLParser
unescape
=
HTMLParser
()
.
unescape
import
warnings
from
collections
import
defaultdict
from
typing
import
Generator
from
typing
import
Optional
from
typing
import
Union
try
:
from
urllib.parse
import
quote
except
ImportError
:
from
urllib
import
quote
import
requests
from
cachecontrol
import
CacheControl
...
...
@@ -38,10 +19,10 @@ from poetry.locations import CACHE_DIR
from
poetry.packages
import
Package
from
poetry.packages
import
dependency_from_pep_508
from
poetry.packages.utils.link
import
Link
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
Version
from
poetry.semver
import
VersionConstraint
from
poetry.semver
import
VersionRange
from
poetry.semver
import
parse_constraint
from
poetry.utils._compat
import
Path
from
poetry.utils.helpers
import
canonicalize_name
from
poetry.utils.inspector
import
Inspector
...
...
@@ -52,7 +33,28 @@ from .auth import Auth
from
.exceptions
import
PackageNotFound
from
.pypi_repository
import
PyPiRepository
import
warnings
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
try
:
from
html
import
unescape
except
ImportError
:
try
:
from
html.parser
import
HTMLParser
except
ImportError
:
from
HTMLParser
import
HTMLParser
unescape
=
HTMLParser
()
.
unescape
try
:
from
urllib.parse
import
quote
except
ImportError
:
from
urllib
import
quote
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
"ignore"
)
...
...
poetry/repositories/pool.py
View file @
6b096390
...
...
@@ -94,7 +94,7 @@ class Pool(BaseRepository):
def
package
(
self
,
name
,
version
,
extras
=
None
,
repository
=
None
):
# type: (str, str, List[str], str) ->
Package
):
# type: (str, str, List[str], str) ->
"Package"
if
(
repository
is
not
None
and
repository
not
in
self
.
_lookup
...
...
poetry/repositories/pypi_repository.py
View file @
6b096390
...
...
@@ -6,11 +6,6 @@ from typing import Dict
from
typing
import
List
from
typing
import
Union
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
from
cachecontrol
import
CacheControl
from
cachecontrol.caches.file_cache
import
FileCache
from
cachy
import
CacheManager
...
...
@@ -19,12 +14,12 @@ from requests import get
from
requests
import
session
from
poetry.locations
import
CACHE_DIR
from
poetry.packages
import
dependency_from_pep_508
from
poetry.packages
import
Package
from
poetry.packages
import
dependency_from_pep_508
from
poetry.packages.utils.link
import
Link
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
VersionConstraint
from
poetry.semver
import
VersionRange
from
poetry.semver
import
parse_constraint
from
poetry.semver.exceptions
import
ParseVersionError
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
to_str
...
...
@@ -38,6 +33,12 @@ from .exceptions import PackageNotFound
from
.repository
import
Repository
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
logger
=
logging
.
getLogger
(
__name__
)
...
...
poetry/repositories/repository.py
View file @
6b096390
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
VersionConstraint
from
poetry.semver
import
VersionRange
from
poetry.semver
import
parse_constraint
from
.base_repository
import
BaseRepository
...
...
poetry/semver/patterns.py
View file @
6b096390
import
re
MODIFIERS
=
(
"[._-]?"
r"((?!post)(?:beta|b|c|pre|RC|alpha|a|patch|pl|p|dev)(?:(?:[.-]?\d+)*)?)?"
...
...
poetry/semver/version.py
View file @
6b096390
...
...
@@ -2,6 +2,7 @@ import re
from
typing
import
List
from
typing
import
Optional
from
typing
import
Union
from
.empty_constraint
import
EmptyConstraint
from
.exceptions
import
ParseVersionError
...
...
poetry/semver/version_constraint.py
View file @
6b096390
...
...
@@ -5,7 +5,7 @@ class VersionConstraint:
def
is_any
(
self
):
# type: () -> bool
raise
NotImplementedError
()
def
allows
(
self
,
version
):
# type: (
Version
) -> bool
def
allows
(
self
,
version
):
# type: (
"Version"
) -> bool
raise
NotImplementedError
()
def
allows_all
(
self
,
other
):
# type: (VersionConstraint) -> bool
...
...
poetry/semver/version_range.py
View file @
6b096390
from
typing
import
List
from
.empty_constraint
import
EmptyConstraint
from
.version_constraint
import
VersionConstraint
from
.version_union
import
VersionUnion
...
...
@@ -58,7 +60,7 @@ class VersionRange(VersionConstraint):
def
is_any
(
self
):
return
self
.
_min
is
None
and
self
.
_max
is
None
def
allows
(
self
,
other
):
# type: (
Version
) -> bool
def
allows
(
self
,
other
):
# type: (
"Version"
) -> bool
if
self
.
_min
is
not
None
:
if
other
<
self
.
_min
:
return
False
...
...
poetry/semver/version_union.py
View file @
6b096390
from
typing
import
List
from
.empty_constraint
import
EmptyConstraint
from
.version_constraint
import
VersionConstraint
...
...
@@ -72,7 +74,7 @@ class VersionUnion(VersionConstraint):
def
is_any
(
self
):
return
False
def
allows
(
self
,
version
):
# type: (
Version
) -> bool
def
allows
(
self
,
version
):
# type: (
"Version"
) -> bool
return
any
([
constraint
.
allows
(
version
)
for
constraint
in
self
.
_ranges
])
def
allows_all
(
self
,
other
):
# type: (VersionConstraint) -> bool
...
...
@@ -214,7 +216,7 @@ class VersionUnion(VersionConstraint):
def
_ranges_for
(
self
,
constraint
):
# type: (VersionConstraint) -> List[
VersionRange
]
):
# type: (VersionConstraint) -> List[
"VersionRange"
]
from
.version_range
import
VersionRange
if
constraint
.
is_empty
():
...
...
poetry/spdx/__init__.py
View file @
6b096390
...
...
@@ -6,6 +6,7 @@ from io import open
from
.license
import
License
from
.updater
import
Updater
_licenses
=
None
...
...
poetry/spdx/data/licenses.json
View file @
6b096390
...
...
@@ -1844,4 +1844,4 @@
false
,
false
]
}
\ No newline at end of file
}
poetry/spdx/updater.py
View file @
6b096390
...
...
@@ -3,6 +3,7 @@ import os
from
io
import
open
try
:
from
urllib.request
import
urlopen
except
ImportError
:
...
...
poetry/utils/_compat.py
View file @
6b096390
import
sys
try
:
from
functools32
import
lru_cache
except
ImportError
:
...
...
poetry/utils/appdirs.py
View file @
6b096390
...
...
@@ -5,6 +5,7 @@ to suit our purposes.
import
os
import
sys
WINDOWS
=
sys
.
platform
.
startswith
(
"win"
)
or
(
sys
.
platform
==
"cli"
and
os
.
name
==
"nt"
)
...
...
poetry/utils/env.py
View file @
6b096390
...
...
@@ -9,8 +9,6 @@ import sys
import
sysconfig
import
warnings
import
tomlkit
from
contextlib
import
contextmanager
from
typing
import
Any
from
typing
import
Dict
...
...
@@ -18,6 +16,8 @@ from typing import List
from
typing
import
Optional
from
typing
import
Tuple
import
tomlkit
from
clikit.api.io
import
IO
from
poetry.locations
import
CACHE_DIR
...
...
poetry/utils/helpers.py
View file @
6b096390
...
...
@@ -4,21 +4,25 @@ import shutil
import
stat
import
tempfile
try
:
from
collections.abc
import
Mapping
except
ImportError
:
from
collections
import
Mapping
from
contextlib
import
contextmanager
from
typing
import
List
from
typing
import
Optional
from
keyring
import
delete_password
,
set_password
,
get_password
from
keyring
import
delete_password
from
keyring
import
get_password
from
keyring
import
set_password
from
keyring.errors
import
KeyringError
from
poetry.config.config
import
Config
from
poetry.version
import
Version
from
poetry.utils._compat
import
Path
from
poetry.version
import
Version
try
:
from
collections.abc
import
Mapping
except
ImportError
:
from
collections
import
Mapping
_canonicalize_regex
=
re
.
compile
(
"[-_]+"
)
...
...
poetry/utils/inspector.py
View file @
6b096390
from
typing
import
Dict
from
typing
import
List
from
typing
import
Union
import
logging
import
os
import
tarfile
import
zipfile
from
bz2
import
BZ2File
from
gzip
import
GzipFile
from
typing
import
Dict
from
typing
import
List
from
typing
import
Union
import
pkginfo
from
requests
import
get
from
._compat
import
Path
...
...
@@ -17,6 +18,7 @@ from .helpers import parse_requires
from
.setup_reader
import
SetupReader
from
.toml_file
import
TomlFile
logger
=
logging
.
getLogger
(
__name__
)
...
...
poetry/utils/setup_reader.py
View file @
6b096390
import
ast
try
:
from
configparser
import
ConfigParser
except
ImportError
:
from
ConfigParser
import
ConfigParser
from
typing
import
Any
from
typing
import
Dict
from
typing
import
Iterable
...
...
@@ -14,8 +9,14 @@ from typing import Tuple
from
typing
import
Union
from
._compat
import
PY35
from
._compat
import
basestring
from
._compat
import
Path
from
._compat
import
basestring
try
:
from
configparser
import
ConfigParser
except
ImportError
:
from
ConfigParser
import
ConfigParser
class
SetupReader
(
object
):
...
...
poetry/utils/shell.py
View file @
6b096390
...
...
@@ -5,8 +5,8 @@ import sys
import
pexpect
from
clikit.utils.terminal
import
Terminal
from
shellingham
import
detect_shell
from
shellingham
import
ShellDetectionFailure
from
shellingham
import
detect_shell
from
._compat
import
WINDOWS
from
.env
import
VirtualEnv
...
...
poetry/utils/toml_file.py
View file @
6b096390
# -*- coding: utf-8 -*-
from
tomlkit.toml_file
import
TOMLFile
as
BaseTOMLFile
from
typing
import
Union
from
tomlkit.toml_file
import
TOMLFile
as
BaseTOMLFile
from
._compat
import
Path
...
...
poetry/vcs/git.py
View file @
6b096390
...
...
@@ -2,7 +2,6 @@
import
re
import
subprocess
from
poetry.utils._compat
import
decode
...
...
poetry/version/helpers.py
View file @
6b096390
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
Version
from
poetry.semver
import
VersionUnion
from
poetry.semver
import
parse_constraint
PYTHON_VERSION
=
[
"2.7.*"
,
...
...
poetry/version/markers.py
View file @
6b096390
import
re
from
pyparsing
import
ParseException
,
ParseResults
,
stringStart
,
stringEnd
from
pyparsing
import
ZeroOrMore
,
Group
,
Forward
,
QuotedString
from
pyparsing
import
Literal
as
L
# noqa
from
typing
import
Any
from
typing
import
Dict
from
typing
import
Iterator
from
typing
import
List
from
pyparsing
import
Forward
from
pyparsing
import
Group
from
pyparsing
import
Literal
as
L
# noqa
from
pyparsing
import
ParseResults
from
pyparsing
import
QuotedString
from
pyparsing
import
ZeroOrMore
from
pyparsing
import
stringEnd
from
pyparsing
import
stringStart
class
InvalidMarker
(
ValueError
):
"""
...
...
poetry/version/requirements.py
View file @
6b096390
# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.
from
__future__
import
absolute_import
,
division
,
print_function
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
string
import
re
import
string
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
from
urlparse
import
urlparse
from
pyparsing
import
stringStart
,
stringEnd
,
originalTextFor
,
ParseException
from
pyparsing
import
ZeroOrMore
,
Word
,
Optional
,
Regex
,
Combine
from
pyparsing
import
Combine
from
pyparsing
import
Literal
as
L
# noqa
from
pyparsing
import
Optional
from
pyparsing
import
ParseException
from
pyparsing
import
Regex
from
pyparsing
import
Word
from
pyparsing
import
ZeroOrMore
from
pyparsing
import
originalTextFor
from
pyparsing
import
stringEnd
from
pyparsing
import
stringStart
from
poetry.semver
import
parse_constraint
...
...
@@ -21,6 +25,12 @@ from .markers import MARKER_EXPR
from
.markers
import
parse_marker
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
from
urlparse
import
urlparse
LEGACY_REGEX
=
r"""
(?P<operator>(==|!=|<=|>=|<|>))
\s*
...
...
poetry/version/specifiers.py
View file @
6b096390
# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.
from
__future__
import
absolute_import
,
division
,
print_function
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
abc
import
functools
...
...
poetry/version/version_selector.py
View file @
6b096390
...
...
@@ -2,8 +2,8 @@ from typing import Union
from
poetry.packages
import
Dependency
from
poetry.packages
import
Package
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
Version
from
poetry.semver
import
parse_constraint
class
VersionSelector
(
object
):
...
...
pyproject.toml
View file @
6b096390
...
...
@@ -70,6 +70,39 @@ tox = "^3.0"
pytest-sugar
=
"^0.9.2"
httpretty
=
"^0.9.6"
[tool.poetry.scripts]
poetry
=
"poetry.console:main"
[tool.isort]
line_length
=
88
force_single_line
=
true
atomic
=
true
include_trailing_comma
=
true
lines_after_imports
=
2
lines_between_types
=
1
multi_line_output
=
3
use_parentheses
=
true
not_skip
=
"__init__.py"
skip_glob
=
["*/setup.py"]
filter_files
=
true
known_first_party
=
"poetry"
known_third_party
=
[
"cachecontrol"
,
"cachy"
,
"cleo"
,
"clikit"
,
"html5lib"
,
"httpretty"
,
"jsonschema"
,
"keyring"
,
"pexpect"
,
"pkginfo"
,
"pyparsing"
,
"pytest"
,
"requests"
,
"requests_toolbelt"
,
"shellingham"
,
"tomlkit"
,
]
sonnet
View file @
6b096390
...
...
@@ -11,6 +11,7 @@ from gzip import GzipFile
from
cleo
import
Application
from
cleo
import
Command
WINDOWS
=
sys
.
platform
.
startswith
(
"win"
)
or
(
sys
.
platform
==
"cli"
and
os
.
name
==
"nt"
)
...
...
tests/config/test_config.py
View file @
6b096390
import
os
from
poetry.locations
import
CACHE_DIR
def
test_config_get_default_value
(
config
):
assert
config
.
get
(
"virtualenvs.create"
)
is
True
...
...
tests/conftest.py
View file @
6b096390
...
...
@@ -2,17 +2,12 @@ import os
import
shutil
import
tempfile
import
httpretty
import
pytest
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
from
typing
import
Any
from
typing
import
Dict
import
httpretty
import
pytest
from
poetry.config.config
import
Config
as
BaseConfig
from
poetry.config.dict_config_source
import
DictConfigSource
from
poetry.utils._compat
import
PY2
...
...
@@ -20,6 +15,12 @@ from poetry.utils._compat import WINDOWS
from
poetry.utils._compat
import
Path
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
class
Config
(
BaseConfig
):
def
get
(
self
,
setting_name
,
default
=
None
):
# type: (str, Any) -> Any
self
.
merge
(
self
.
_config_source
.
config
)
...
...
@@ -40,14 +41,6 @@ class Config(BaseConfig):
return
super
(
Config
,
self
)
.
all
()
def
tmp_dir
():
dir_
=
tempfile
.
mkdtemp
(
prefix
=
"poetry_"
)
yield
dir_
shutil
.
rmtree
(
dir_
)
@pytest.fixture
def
config_source
():
source
=
DictConfigSource
()
...
...
tests/console/commands/test_add.py
View file @
6b096390
import
sys
import
pytest
from
cleo.testers
import
CommandTester
from
poetry.utils._compat
import
Path
from
tests.helpers
import
get_dependency
from
tests.helpers
import
get_package
...
...
tests/console/commands/test_config.py
View file @
6b096390
...
...
@@ -102,7 +102,7 @@ def test_set_pypi_token(app, config, config_source, auth_config_source):
def
test_set_client_cert
(
app
,
config_source
,
auth_config_source
,
mocker
):
init
=
mocker
.
spy
(
ConfigSource
,
"__init__"
)
mocker
.
spy
(
ConfigSource
,
"__init__"
)
command
=
app
.
find
(
"config"
)
tester
=
CommandTester
(
command
)
...
...
@@ -115,7 +115,7 @@ def test_set_client_cert(app, config_source, auth_config_source, mocker):
def
test_set_cert
(
app
,
config_source
,
auth_config_source
,
mocker
):
init
=
mocker
.
spy
(
ConfigSource
,
"__init__"
)
mocker
.
spy
(
ConfigSource
,
"__init__"
)
command
=
app
.
find
(
"config"
)
tester
=
CommandTester
(
command
)
...
...
tests/console/commands/test_init.py
View file @
6b096390
import
sys
from
cleo.testers
import
CommandTester
from
poetry.utils._compat
import
Path
from
tests.helpers
import
get_package
...
...
tests/console/commands/test_show.py
View file @
6b096390
...
...
@@ -538,10 +538,12 @@ def test_show_outdated_local_dependencies(app, poetry, installed, repo):
tester
.
execute
(
"--outdated"
)
expected
=
"""
\
cachy 0.1.0 0.2.0
cachy 0.1.0 0.2.0
my-package 0.1.1 ../project_with_setup 0.1.2 ../project_with_setup
"""
assert
expected
==
tester
.
io
.
fetch_output
()
assert
expected
.
rstrip
()
==
"
\n
"
.
join
(
l
.
rstrip
()
for
l
in
tester
.
io
.
fetch_output
()
.
splitlines
()
)
@pytest.mark.parametrize
(
"project_directory"
,
[
"project_with_git_dev_dependency"
])
...
...
tests/console/commands/test_version.py
View file @
6b096390
import
pytest
from
cleo
import
CommandTester
from
poetry.console.commands
import
VersionCommand
...
...
tests/console/conftest.py
View file @
6b096390
import
os
import
pytest
import
shutil
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
import
pytest
from
cleo
import
ApplicationTester
from
poetry.console
import
Application
as
BaseApplication
from
poetry.factory
import
Factory
from
poetry.installation.noop_installer
import
NoopInstaller
from
poetry.poetry
import
Poetry
as
BasePoetry
from
poetry.packages
import
Locker
as
BaseLocker
from
poetry.poetry
import
Poetry
as
BasePoetry
from
poetry.repositories
import
Pool
from
poetry.repositories
import
Repository
as
BaseRepository
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.utils._compat
import
PY2
from
poetry.utils._compat
import
WINDOWS
from
poetry.utils._compat
import
Path
from
poetry.utils.toml_file
import
TomlFile
from
poetry.repositories.exceptions
import
PackageNotFound
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
@pytest.fixture
()
...
...
tests/helpers.py
View file @
6b096390
from
poetry.packages
import
Dependency
from
poetry.packages
import
Package
from
poetry.utils._compat
import
Path
...
...
tests/installation/test_installer.py
View file @
6b096390
...
...
@@ -13,11 +13,10 @@ from poetry.packages import ProjectPackage
from
poetry.repositories
import
Pool
from
poetry.repositories
import
Repository
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
PY2
from
poetry.utils.
toml_file
import
TomlFile
from
poetry.utils.
_compat
import
Path
from
poetry.utils.env
import
NullEnv
from
poetry.utils.toml_file
import
TomlFile
from
tests.helpers
import
get_dependency
from
tests.helpers
import
get_package
from
tests.repositories.test_legacy_repository
import
(
...
...
tests/masonry/builders/fixtures/extended/build.py
View file @
6b096390
from
distutils.core
import
Extension
extensions
=
[
Extension
(
"extended.extended"
,
[
"extended/extended.c"
])]
...
...
tests/masonry/builders/fixtures/localversionlabel/pyproject.toml
View file @
6b096390
...
...
@@ -3,4 +3,3 @@ name = "localversionlabel"
description
=
"Local Version Label"
version
=
"0.1-beta.1+gitbranch-buildno-1"
authors
=
[]
tests/masonry/builders/fixtures/src_extended/build.py
View file @
6b096390
from
distutils.core
import
Extension
extensions
=
[
Extension
(
"extended.extended"
,
[
"src/extended/extended.c"
])]
...
...
tests/masonry/builders/test_builder.py
View file @
6b096390
# -*- coding: utf-8 -*-
from
clikit.io
import
NullIO
from
email.parser
import
Parser
from
clikit.io
import
NullIO
from
poetry.factory
import
Factory
from
poetry.masonry.builders.builder
import
Builder
from
poetry.utils._compat
import
Path
...
...
tests/masonry/builders/test_complete.py
View file @
6b096390
...
...
@@ -3,13 +3,14 @@ from __future__ import unicode_literals
import
ast
import
os
import
pytest
import
re
import
shutil
import
sys
import
tarfile
import
zipfile
import
tempfile
import
zipfile
import
pytest
from
clikit.io
import
NullIO
...
...
@@ -20,6 +21,7 @@ from poetry.utils._compat import Path
from
poetry.utils._compat
import
decode
from
poetry.utils.env
import
NullEnv
fixtures_dir
=
Path
(
__file__
)
.
parent
/
"fixtures"
...
...
tests/masonry/builders/test_editable.py
View file @
6b096390
...
...
@@ -8,6 +8,7 @@ from poetry.masonry.builders import EditableBuilder
from
poetry.utils._compat
import
Path
from
poetry.utils.env
import
MockEnv
fixtures_dir
=
Path
(
__file__
)
.
parent
/
"fixtures"
...
...
tests/masonry/builders/test_sdist.py
View file @
6b096390
# -*- coding: utf-8 -*-
import
ast
import
pytest
import
shutil
import
tarfile
from
email.parser
import
Parser
import
pytest
from
clikit.io
import
NullIO
from
poetry.factory
import
Factory
...
...
@@ -16,7 +17,6 @@ from poetry.packages.vcs_dependency import VCSDependency
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
to_str
from
poetry.utils.env
import
NullEnv
from
tests.helpers
import
get_dependency
...
...
tests/masonry/builders/test_wheel.py
View file @
6b096390
# -*- coding: utf-8 -*-
import
pytest
import
shutil
import
zipfile
import
pytest
from
clikit.io
import
NullIO
from
poetry.factory
import
Factory
from
poetry.masonry.builders
import
WheelBuilder
from
poetry.masonry.builders
.wheel
import
WheelBuilder
from
poetry.masonry.publishing.uploader
import
Uploader
from
poetry.utils._compat
import
Path
from
poetry.utils.env
import
NullEnv
...
...
tests/masonry/publishing/test_uploader.py
View file @
6b096390
...
...
@@ -2,8 +2,8 @@ import pytest
from
poetry.factory
import
Factory
from
poetry.io.null_io
import
NullIO
from
poetry.masonry.publishing.uploader
import
UploadError
from
poetry.masonry.publishing.uploader
import
Uploader
from
poetry.masonry.publishing.uploader
import
UploadError
from
poetry.utils._compat
import
Path
...
...
tests/mixology/helpers.py
View file @
6b096390
from
poetry.packages
import
DependencyPackage
from
poetry.packages
import
Package
from
poetry.mixology.failure
import
SolveFailure
from
poetry.mixology.version_solver
import
VersionSolver
from
poetry.packages
import
DependencyPackage
from
poetry.packages
import
Package
def
add_to_repo
(
repository
,
name
,
version
,
deps
=
None
,
python
=
None
):
...
...
tests/mixology/version_solver/conftest.py
View file @
6b096390
import
pytest
from
clikit.io
import
NullIO
from
poetry.packages.project_package
import
ProjectPackage
from
poetry.puzzle.provider
import
Provider
from
poetry.repositories
import
Pool
from
poetry.repositories
import
Repository
from
poetry.puzzle.provider
import
Provider
@pytest.fixture
def
repo
():
...
...
tests/mixology/version_solver/test_with_lock.py
View file @
6b096390
from
...helpers
import
get_package
from
..helpers
import
add_to_repo
from
..helpers
import
check_solver_result
...
...
tests/packages/constraints/test_main.py
View file @
6b096390
...
...
@@ -53,5 +53,5 @@ def test_parse_constraint_multi(input, constraint):
),
],
)
def
test_parse_constraint_
multi
(
input
,
constraint
):
def
test_parse_constraint_
union
(
input
,
constraint
):
assert
parse_constraint
(
input
)
==
constraint
tests/packages/test_directory_dependency.py
View file @
6b096390
from
subprocess
import
CalledProcessError
import
pytest
from
poetry.packages.directory_dependency
import
DirectoryDependency
...
...
@@ -5,8 +7,6 @@ from poetry.utils._compat import Path
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.env
import
MockEnv
as
BaseMockEnv
from
subprocess
import
CalledProcessError
class
MockEnv
(
BaseMockEnv
):
def
run
(
self
,
bin
,
*
args
):
...
...
tests/packages/test_file_dependency.py
View file @
6b096390
...
...
@@ -3,6 +3,7 @@ import pytest
from
poetry.packages
import
FileDependency
from
poetry.utils._compat
import
Path
DIST_PATH
=
Path
(
__file__
)
.
parent
.
parent
/
"fixtures"
/
"distributions"
...
...
tests/packages/test_locker.py
View file @
6b096390
import
pytest
import
tempfile
import
pytest
import
tomlkit
from
poetry.packages.locker
import
Locker
...
...
tests/puzzle/conftest.py
View file @
6b096390
import
pytest
import
shutil
import
pytest
from
poetry.utils._compat
import
Path
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
from
poetry.utils._compat
import
Path
def
mock_clone
(
self
,
source
,
dest
):
# Checking source to determine which folder we need to copy
...
...
tests/puzzle/test_provider.py
View file @
6b096390
from
subprocess
import
CalledProcessError
import
pytest
from
clikit.io
import
NullIO
...
...
@@ -13,11 +15,8 @@ from poetry.utils._compat import PY35
from
poetry.utils._compat
import
Path
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.env
import
MockEnv
as
BaseMockEnv
from
tests.helpers
import
get_dependency
from
subprocess
import
CalledProcessError
class
MockEnv
(
BaseMockEnv
):
def
run
(
self
,
bin
,
*
args
):
...
...
tests/puzzle/test_solver.py
View file @
6b096390
...
...
@@ -2,16 +2,15 @@ import pytest
from
clikit.io
import
NullIO
from
poetry.packages
import
dependency_from_pep_508
from
poetry.packages
import
ProjectPackage
from
poetry.packages
import
dependency_from_pep_508
from
poetry.puzzle
import
Solver
from
poetry.puzzle.exceptions
import
SolverProblemError
from
poetry.repositories.installed_repository
import
InstalledRepository
from
poetry.repositories.pool
import
Pool
from
poetry.repositories.repository
import
Repository
from
poetry.puzzle
import
Solver
from
poetry.puzzle.exceptions
import
SolverProblemError
from
poetry.utils._compat
import
Path
from
poetry.version.markers
import
parse_marker
from
tests.helpers
import
get_dependency
from
tests.helpers
import
get_package
from
tests.repositories.test_legacy_repository
import
(
...
...
tests/repositories/fixtures/legacy/missing-version.html
View file @
6b096390
...
...
@@ -8,4 +8,4 @@
<a
href=
"poetry-0.1.0-py3-none-any.whl#sha256=1d85132efab8ead3c6f69202843da40a03823992091c29f8d65a31af68940163"
data-requires-python=
">=3.6.0"
>
poetry-0.1.0-py3-none-any.whl
</a><br/>
</body>
</html>
<!--SERIAL 3907384-->
\ No newline at end of file
<!--SERIAL 3907384-->
tests/repositories/fixtures/pypi.org/json/ipython/4.1.0rc1.json
View file @
6b096390
...
...
@@ -257,4 +257,4 @@
"url"
:
"https://files.pythonhosted.org/packages/71/f0/9d670266b840b8b921dc7106ecddd892f6fb893424883498e1ba3ec3a3a1/ipython-4.1.0rc1.zip"
}
]
}
\ No newline at end of file
}
tests/repositories/fixtures/pypi.org/search/search.html
View file @
6b096390
This source diff could not be displayed because it is too large. You can
view the blob
instead.
tests/repositories/test_legacy_repository.py
View file @
6b096390
import
pytest
import
shutil
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
import
pytest
from
poetry.packages
import
Dependency
from
poetry.repositories.auth
import
Auth
...
...
@@ -15,6 +11,12 @@ from poetry.utils._compat import PY35
from
poetry.utils._compat
import
Path
try
:
import
urllib.parse
as
urlparse
except
ImportError
:
import
urlparse
class
MockRepository
(
LegacyRepository
):
FIXTURES
=
Path
(
__file__
)
.
parent
/
"fixtures"
/
"legacy"
...
...
tests/repositories/test_pool.py
View file @
6b096390
...
...
@@ -2,8 +2,8 @@ import pytest
from
poetry.repositories
import
Pool
from
poetry.repositories
import
Repository
from
poetry.repositories.legacy_repository
import
LegacyRepository
from
poetry.repositories.exceptions
import
PackageNotFound
from
poetry.repositories.legacy_repository
import
LegacyRepository
def
test_pool_raises_package_not_found_when_no_package_is_found
():
...
...
tests/repositories/test_pypi_repository.py
View file @
6b096390
import
json
import
pytest
import
shutil
import
pytest
from
poetry.packages
import
Dependency
from
poetry.repositories.pypi_repository
import
PyPiRepository
from
poetry.utils._compat
import
PY35
...
...
tests/semver/test_main.py
View file @
6b096390
import
pytest
from
poetry.semver
import
parse_constraint
from
poetry.semver
import
Version
from
poetry.semver
import
VersionRange
from
poetry.semver
import
VersionUnion
from
poetry.semver
import
parse_constraint
@pytest.mark.parametrize
(
...
...
tests/test_factory.py
View file @
6b096390
...
...
@@ -4,7 +4,6 @@ from __future__ import unicode_literals
import
pytest
from
poetry.io.null_io
import
NullIO
from
poetry.factory
import
Factory
from
poetry.utils._compat
import
PY2
from
poetry.utils._compat
import
Path
...
...
tests/utils/fixtures/test.toml
View file @
6b096390
...
...
@@ -89,5 +89,3 @@ trimmed in raw strings.
points
=
[
{
x
=
1
,
y
=
2
,
z
=
3
}
,
# This value is so special to me
{
x
=
7
,
y
=
8
,
z
=
9
}
,
{
x
=
2
,
y
=
4
,
z
=
8
}
]
tests/utils/test_env.py
View file @
6b096390
import
os
import
pytest
import
shutil
import
sys
import
pytest
import
tomlkit
from
clikit.io
import
NullIO
from
poetry.semver
import
Version
from
poetry.factory
import
Factory
from
poetry.semver
import
Version
from
poetry.utils._compat
import
Path
from
poetry.utils.env
import
EnvManager
from
poetry.utils.env
import
EnvCommandError
from
poetry.utils.env
import
EnvManager
from
poetry.utils.env
import
NoCompatiblePythonVersionFound
from
poetry.utils.env
import
VirtualEnv
from
poetry.utils.toml_file
import
TomlFile
MINIMAL_SCRIPT
=
"""
\
print("Minimal Output"),
...
...
@@ -532,7 +535,7 @@ def test_remove_also_deactivates(tmp_dir, manager, poetry, config, mocker):
def
test_env_has_symlinks_on_nix
(
tmp_dir
,
tmp_venv
):
venv_available
=
False
try
:
from
venv
import
EnvBuilder
from
venv
import
EnvBuilder
# noqa
venv_available
=
True
except
ImportError
:
...
...
tests/utils/test_helpers.py
View file @
6b096390
from
poetry.utils._compat
import
Path
from
poetry.utils.helpers
import
get_client_cert
,
get_cert
,
get_http_basic_auth
from
poetry.utils.helpers
import
get_cert
from
poetry.utils.helpers
import
get_client_cert
from
poetry.utils.helpers
import
get_http_basic_auth
from
poetry.utils.helpers
import
parse_requires
...
...
@@ -27,7 +29,7 @@ virtualenv>=15.2.0.0,<16.0.0.0
pathlib2>=2.3.0.0,<3.0.0.0
[:python_version >= "3.4.0.0" and python_version < "3.6.0.0"]
zipfile36>=0.1.0.0,<0.2.0.0
zipfile36>=0.1.0.0,<0.2.0.0
"""
result
=
parse_requires
(
requires
)
expected
=
[
...
...
tests/utils/test_helpers_keyring.py
View file @
6b096390
from
uuid
import
uuid4
import
pytest
from
keyring
import
set_keyring
,
get_keyring
from
keyring
import
get_keyring
from
keyring
import
set_keyring
from
keyring.backend
import
KeyringBackend
from
keyring.errors
import
KeyringError
from
poetry.utils.helpers
import
(
keyring_service_name
,
keyring_repository_password_get
,
keyring_repository_password_set
,
keyring_repository_password_del
,
)
from
poetry.utils.helpers
import
keyring_repository_password_del
from
poetry.utils.helpers
import
keyring_repository_password_get
from
poetry.utils.helpers
import
keyring_repository_password_set
from
poetry.utils.helpers
import
keyring_service_name
class
DictKeyring
(
KeyringBackend
):
...
...
tests/version/test_helpers.py
View file @
6b096390
from
poetry.version.helpers
import
format_python_constraint
from
poetry.semver
import
parse_constraint
from
poetry.version.helpers
import
format_python_constraint
def
test_format_python_constraint
():
...
...
tests/version/test_markers.py
View file @
6b096390
import
os
import
pytest
from
poetry.version.markers
import
MarkerUnion
...
...
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