Skip to content

Commit

Permalink
Merge branch 'master' into use-existing-venv
Browse files Browse the repository at this point in the history
  • Loading branch information
Secrus authored Apr 18, 2023
2 parents c5d0998 + ec35b83 commit b927149
Show file tree
Hide file tree
Showing 94 changed files with 2,306 additions and 1,270 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ jobs:
if: ${{ matrix.os == 'Windows' }}
run: echo "$APPDATA\Python\Scripts" >> $GITHUB_PATH

- name: Enable long paths for git on Windows
if: ${{ matrix.os == 'Windows' }}
# Enable handling long path names (+260 char) on the Windows platform
# https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
run: git config --system core.longpaths true

- name: Configure poetry
run: poetry config virtualenvs.in-project true

Expand Down
5 changes: 1 addition & 4 deletions .pre-commit-hooks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,21 @@
description: run poetry check to validate config
entry: poetry check
language: python
language_version: python3
pass_filenames: false
files: ^pyproject.toml$
files: ^(.*/)?pyproject.toml$

- id: poetry-lock
name: poetry-lock
description: run poetry lock to update lock file
entry: poetry lock
language: python
language_version: python3
pass_filenames: false

- id: poetry-export
name: poetry-export
description: run poetry export to sync lock file with requirements.txt
entry: poetry export
language: python
language_version: python3
pass_filenames: false
files: ^poetry.lock$
args: ["-f", "requirements.txt", "-o", "requirements.txt"]
7 changes: 4 additions & 3 deletions docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -784,11 +784,12 @@ You cannot use the name `pypi` as it is reserved for use by the default PyPI sou

#### Options

* `--default`: Set this source as the [default]({{< relref "repositories#disabling-the-pypi-repository" >}}) (disable PyPI).
* `--secondary`: Set this source as a [secondary]({{< relref "repositories#install-dependencies-from-a-private-repository" >}}) source.
* `--default`: Set this source as the [default]({{< relref "repositories#default-package-source" >}}) (disable PyPI). Deprecated in favor of `--priority`.
* `--secondary`: Set this source as a [secondary]({{< relref "repositories#secondary-package-sources" >}}) source. Deprecated in favor of `--priority`.
* `--priority`: Set the priority of this source. Accepted values are: [`default`]({{< relref "repositories#default-package-source" >}}), [`secondary`]({{< relref "repositories#secondary-package-sources" >}}), and [`explicit`]({{< relref "repositories#explicit-package-sources" >}}). Refer to the dedicated sections in [Repositories]({{< relref "repositories" >}}) for more information.

{{% note %}}
You cannot set a source as both `default` and `secondary`.
At most one of the options above can be provided. See [package sources]({{< relref "repositories#package-sources" >}}) for more information.
{{% /note %}}

### source show
Expand Down
38 changes: 38 additions & 0 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ You can override the Cache directory by setting the `POETRY_CACHE_DIR` environme

**Type**: `string`

**Environment Variable**: `POETRY_CACHE_DIR`

The path to the cache directory used by Poetry.

Defaults to one of the following directories:
Expand All @@ -163,6 +165,8 @@ Defaults to one of the following directories:

**Default**: `false`

**Environment Variable**: `POETRY_EXPERIMENTAL_SYSTEM_GIT_CLIENT`

*Introduced in 1.2.0*

Use system git client backend for git related tasks.
Expand All @@ -177,6 +181,8 @@ If you encounter any problems with it, set to `true` to use the system git backe

**Default**: `number_of_cores + 4`

**Environment Variable**: `POETRY_INSTALLER_MAX_WORKERS`

*Introduced in 1.2.0*

Set the maximum number of workers while using the parallel installer.
Expand Down Expand Up @@ -209,6 +215,8 @@ you encounter on the [issue tracker](https://github.com/python-poetry/poetry/iss

**Default**: `false`

**Environment Variable**: `POETRY_INSTALLER_NO_BINARY`

*Introduced in 1.2.0*

When set this configuration allows users to configure package distribution format policy for all or
Expand Down Expand Up @@ -258,6 +266,8 @@ across all your projects if incorrectly set.

**Default**: `true`

**Environment Variable**: `POETRY_INSTALLER_PARALLEL`

*Introduced in 1.1.4*

Use parallel execution when using the new (`>=1.1.0`) installer.
Expand All @@ -268,6 +278,8 @@ Use parallel execution when using the new (`>=1.1.0`) installer.

**Default**: `true`

**Environment Variable**: `POETRY_VIRTUALENVS_CREATE`

Create a new virtual environment if one doesn't already exist.

If set to `false`, Poetry will not create a new virtual environment. If it detects a virtual environment
Expand All @@ -294,6 +306,8 @@ might contain additional Python packages as well.

**Default**: `None`

**Environment Variable**: `POETRY_VIRTUALENVS_IN_PROJECT`

Create the virtualenv inside the project's root directory.

If not set explicitly, `poetry` by default will create virtual environment under
Expand All @@ -310,6 +324,8 @@ If set to `false`, `poetry` will ignore any existing `.venv` directory.

**Default**: `false`

**Environment Variable**: `POETRY_VIRTUALENVS_OPTIONS_ALWAYS_COPY`

*Introduced in 1.2.0*

If set to `true` the `--always-copy` parameter is passed to `virtualenv` on creation of the virtual environment, so that
Expand All @@ -321,6 +337,8 @@ all needed files are copied into it instead of symlinked.

**Default**: `false`

**Environment Variable**: `POETRY_VIRTUALENVS_OPTIONS_NO_PIP`

*Introduced in 1.2.0*

If set to `true` the `--no-pip` parameter is passed to `virtualenv` on creation of the virtual environment. This means
Expand All @@ -341,6 +359,8 @@ packages. This is desirable for production environments.

**Default**: `false`

**Environment Variable**: `POETRY_VIRTUALENVS_OPTIONS_NO_SETUPTOOLS`

*Introduced in 1.2.0*

If set to `true` the `--no-setuptools` parameter is passed to `virtualenv` on creation of the virtual environment. This
Expand All @@ -358,6 +378,8 @@ available within a virtual environment. This can cause some features in these to

**Default**: `false`

**Environment Variable**: `POETRY_VIRTUALENVS_OPTIONS_SYSTEM_SITE_PACKAGES`

Give the virtual environment access to the system site-packages directory.
Applies on virtualenv creation.

Expand All @@ -367,6 +389,8 @@ Applies on virtualenv creation.

**Default**: `{cache-dir}/virtualenvs`

**Environment Variable**: `POETRY_VIRTUALENVS_PATH`

Directory where virtual environments will be created.

{{% note %}}
Expand All @@ -379,6 +403,8 @@ This setting controls the global virtual environment storage path. It most likel

**Default**: `false`

**Environment Variable**: `POETRY_VIRTUALENVS_PREFER_ACTIVE_PYTHON`

*Introduced in 1.2.0*

Use currently activated Python version to create a new virtual environment.
Expand All @@ -390,6 +416,8 @@ If set to `false`, Python version used during Poetry installation is used.

**Default**: `{project_name}-py{python_version}`

**Environment Variable**: `POETRY_VIRTUALENVS_PROMPT`

*Introduced in 1.2.0*

Format string defining the prompt to be displayed when the virtual environment is activated.
Expand All @@ -399,12 +427,16 @@ The variables `project_name` and `python_version` are available for formatting.

**Type**: `string`

**Environment Variable**: `POETRY_REPOSITORIES_<NAME>`

Set a new alternative repository. See [Repositories]({{< relref "repositories" >}}) for more information.

### `http-basic.<name>`:

**Type**: `(string, string)`

**Environment Variable**: `POETRY_HTTP_BASIC_<NAME>`

Set repository credentials (`username` and `password`) for `<name>`.
See [Repositories - Configuring credentials]({{< relref "repositories#configuring-credentials" >}})
for more information.
Expand All @@ -413,6 +445,8 @@ for more information.

**Type**: `string`

**Environment Variable**: `POETRY_PYPI_TOKEN_<NAME>`

Set repository credentials (using an API token) for `<name>`.
See [Repositories - Configuring credentials]({{< relref "repositories#configuring-credentials" >}})
for more information.
Expand All @@ -421,6 +455,8 @@ for more information.

**Type**: `string | boolean`

**Environment Variable**: `POETRY_CERTIFICATES_<NAME>_CERT`

Set custom certificate authority for repository `<name>`.
See [Repositories - Configuring credentials - Custom certificate authority]({{< relref "repositories#custom-certificate-authority-and-mutual-tls-authentication" >}})
for more information.
Expand All @@ -432,6 +468,8 @@ repository.

**Type**: `string`

**Environment Variable**: `POETRY_CERTIFICATES_<NAME>_CLIENT_CERT`

Set client certificate for repository `<name>`.
See [Repositories - Configuring credentials - Custom certificate authority]({{< relref "repositories#custom-certificate-authority-and-mutual-tls-authentication" >}})
for more information.
2 changes: 1 addition & 1 deletion docs/dependency-specification.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ you can use the `source` property:
[[tool.poetry.source]]
name = "foo"
url = "https://foo.bar/simple/"
secondary = true
priority = "secondary"

[tool.poetry.dependencies]
my-cool-package = { version = "*", source = "foo" }
Expand Down
11 changes: 11 additions & 0 deletions docs/managing-environments.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ pyenv install 3.9.8
pyenv local 3.9.8 # Activate Python 3.9 for the current project
poetry install
```

{{% /note %}}

{{% note %}}
Expand Down Expand Up @@ -106,6 +107,13 @@ to `env info`:
poetry env info --path
```

If you only want to know the path to the python executable (useful for running mypy from a global environment without installing it in the virtual environment), you can pass the `--executable` option
to `env info`:

```bash
poetry env info --executable
```

## Listing the environments associated with the project

You can also list all the virtual environments associated with the current project
Expand Down Expand Up @@ -140,10 +148,13 @@ poetry env remove test-O3eWbxRl-py3.7
```

You can delete more than one environment at a time.

```bash
poetry env remove python3.6 python3.7 python3.8
```

Use the `--all` option to delete all virtual environments at once.

```bash
poetry env remove --all
```
Expand Down
3 changes: 3 additions & 0 deletions docs/pre-commit-hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ to make sure the poetry configuration does not get committed in a broken state.
The hook takes the same arguments as the poetry command.
For more information see the [check command]({{< relref "cli#check" >}}).

{{% note %}}
If the `pyproject.toml` file is not in the root directory, you can specify `args: ["-C", "./subdirectory"]`.
{{% /note %}}

## poetry-lock

Expand Down
Loading

0 comments on commit b927149

Please sign in to comment.