Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when invalid groups are referenced #7529

Merged

Conversation

samypr100
Copy link
Contributor

@samypr100 samypr100 commented Feb 17, 2023

Pull Request Check List

Resolves: #7303

Edit (Apr 3rd 2023): Changed implementation from warning to an error.

  • Added tests for changed code.
  • Updated documentation for changed code.

This PR raises a new GroupNotFound error when groups that do not exist in pyproject.toml are used with --with, --without, and --only flags as indicated in #7303 to help the user encounter mistakes related to this early on (instead of silently proceeding as it does now).

Edit (Apr 4th 2023): Latest Output Below

latest_output

@johnthagen
Copy link
Contributor

johnthagen commented Feb 20, 2023

My personal preference would be for an error here as it seems like an error would only catch legitimate typos (in CI configurations, etc), but happy to hear what the Poetry devs think. I think an error would help projects keep typos out of their project CI if typos trigger failures in their CI.

@adriangb
Copy link
Contributor

I would also vote for an error.

@johnthagen
Copy link
Contributor

@radoering Would you or someone on the Poetry team be able to review this PR? We'd really appreciate having Poetry catch more typos in CI configurations and end user machines. Thanks.

Copy link
Member

@radoering radoering left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although I'd also prefer an error, it's true that it can be considered a breaking change. So maybe we leave it a warning for now and add to it something like "This may lead to an error in an upcoming minor release."?

src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
@radoering
Copy link
Member

@johnthagen You have convinced me. Any change (or even bugfix) is a breaking change for someone out there. I can't imagine non-existent groups being intentionally used in a meaningful way by someone. So let's consider it a bug that invalid groups are accepted and make it an error.

@samypr100 samypr100 force-pushed the invalid-group-names-warning branch from e5e811b to f80e97a Compare April 3, 2023 14:06
@samypr100 samypr100 changed the title Warning when invalid groups are referenced Error when invalid groups are referenced Apr 3, 2023
@samypr100
Copy link
Contributor Author

samypr100 commented Apr 3, 2023

@radoering I've updated the implementation in 489c466 to raise an error, thanks!

docs/managing-dependencies.md Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/exceptions.py Outdated Show resolved Hide resolved
@samypr100 samypr100 requested a review from radoering April 4, 2023 13:59
@samypr100
Copy link
Contributor Author

@radoering Should be ready

src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
src/poetry/console/commands/group_command.py Outdated Show resolved Hide resolved
samypr100 and others added 7 commits April 5, 2023 09:36
Co-authored-by: Randy Döring <30527984+radoering@users.noreply.github.com>
Removing extraneous docs
Collapsing error output into single Exception
Migrating GroupNotFound to console.exceptions
Co-authored-by: Randy Döring <30527984+radoering@users.noreply.github.com>
@samypr100 samypr100 force-pushed the invalid-group-names-warning branch from 6201edb to 25ae7c7 Compare April 5, 2023 13:37
@samypr100
Copy link
Contributor Author

@radoering Applied suggestions and rebased

@radoering radoering enabled auto-merge (squash) April 5, 2023 13:47
@radoering radoering merged commit 7585c37 into python-poetry:master Apr 5, 2023
mwalbeck pushed a commit to mwalbeck/docker-python-poetry that referenced this pull request May 23, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [poetry](https://python-poetry.org/) ([source](https://github.com/python-poetry/poetry), [changelog](https://python-poetry.org/history/)) | minor | `1.4.2` -> `1.5.0` |

---

### Release Notes

<details>
<summary>python-poetry/poetry</summary>

### [`v1.5.0`](https://github.com/python-poetry/poetry/blob/HEAD/CHANGELOG.md#&#8203;150---2023-05-19)

[Compare Source](python-poetry/poetry@1.4.2...1.5.0)

##### Added

-   **Introduce the new source priorities `explicit` and `supplemental`** ([#&#8203;7658](python-poetry/poetry#7658),
    [#&#8203;6879](python-poetry/poetry#6879)).
-   **Introduce the option to configure the priority of the implicit PyPI source** ([#&#8203;7801](python-poetry/poetry#7801)).
-   Add handling for corrupt cache files ([#&#8203;7453](python-poetry/poetry#7453)).
-   Improve caching of URL and git dependencies ([#&#8203;7693](python-poetry/poetry#7693),
    [#&#8203;7473](python-poetry/poetry#7473)).
-   Add option to skip installing directory dependencies ([#&#8203;6845](python-poetry/poetry#6845),
    [#&#8203;7923](python-poetry/poetry#7923)).
-   Add `--executable` option to `poetry env info` ([#&#8203;7547](python-poetry/poetry#7547)).
-   Add `--top-level` option to `poetry show` ([#&#8203;7415](python-poetry/poetry#7415)).
-   Add `--lock` option to `poetry remove` ([#&#8203;7917](python-poetry/poetry#7917)).
-   Add experimental `POETRY_REQUESTS_TIMEOUT` option ([#&#8203;7081](python-poetry/poetry#7081)).
-   Improve performance of wheel inspection by avoiding unnecessary file copy operations ([#&#8203;7916](python-poetry/poetry#7916)).

##### Changed

-   **Remove the old deprecated installer and the corresponding setting `experimental.new-installer`** ([#&#8203;7356](python-poetry/poetry#7356)).
-   **Introduce `priority` key for sources and deprecate flags `default` and `secondary`** ([#&#8203;7658](python-poetry/poetry#7658)).
-   Deprecate `poetry run <entry point>` if the entry point was not previously installed via `poetry install` ([#&#8203;7606](python-poetry/poetry#7606)).
-   Only write the lock file if the installation succeeds ([#&#8203;7498](python-poetry/poetry#7498)).
-   Do not write the unused package category into the lock file ([#&#8203;7637](python-poetry/poetry#7637)).

##### Fixed

-   Fix an issue where Poetry's internal pyproject.toml continually grows larger with empty lines ([#&#8203;7705](python-poetry/poetry#7705)).
-   Fix an issue where Poetry crashes due to corrupt cache files ([#&#8203;7453](python-poetry/poetry#7453)).
-   Fix an issue where the `Retry-After` in HTTP responses was not respected and retries were handled inconsistently ([#&#8203;7072](python-poetry/poetry#7072)).
-   Fix an issue where Poetry silently ignored invalid groups ([#&#8203;7529](python-poetry/poetry#7529)).
-   Fix an issue where Poetry does not find a compatible Python version if not given explicitly ([#&#8203;7771](python-poetry/poetry#7771)).
-   Fix an issue where the `direct_url.json` of an editable install from a git dependency was invalid ([#&#8203;7473](python-poetry/poetry#7473)).
-   Fix an issue where error messages from build backends were not decoded correctly ([#&#8203;7781](python-poetry/poetry#7781)).
-   Fix an infinite loop when adding certain dependencies ([#&#8203;7405](python-poetry/poetry#7405)).
-   Fix an issue where pre-commit hooks skip pyproject.toml files in subdirectories ([#&#8203;7239](python-poetry/poetry#7239)).
-   Fix an issue where pre-commit hooks do not use the expected Python version ([#&#8203;6989](python-poetry/poetry#6989)).
-   Fix an issue where an unclear error message is printed if the project name is the same as one of its dependencies ([#&#8203;7757](python-poetry/poetry#7757)).
-   Fix an issue where `poetry install` returns a zero exit status even though the build script failed ([#&#8203;7812](python-poetry/poetry#7812)).
-   Fix an issue where an existing `.venv` was not used if `in-project` was not set ([#&#8203;7792](python-poetry/poetry#7792)).
-   Fix an issue where multiple extras passed to `poetry add` were not parsed correctly ([#&#8203;7836](python-poetry/poetry#7836)).
-   Fix an issue where `poetry shell` did not send a newline to `fish` ([#&#8203;7884](python-poetry/poetry#7884)).
-   Fix an issue where `poetry update --lock` printed operations that were not executed ([#&#8203;7915](python-poetry/poetry#7915)).
-   Fix an issue where `poetry add --lock` did perform a full update of all dependencies ([#&#8203;7920](python-poetry/poetry#7920)).
-   Fix an issue where `poetry shell` did not work with `nushell` ([#&#8203;7919](python-poetry/poetry#7919)).
-   Fix an issue where subprocess calls failed on Python 3.7 ([#&#8203;7932](python-poetry/poetry#7932)).
-   Fix an issue where keyring was called even though the password was stored in an environment variable ([#&#8203;7928](python-poetry/poetry#7928)).

##### Docs

-   Add information about what to use instead of `--dev` ([#&#8203;7647](python-poetry/poetry#7647)).
-   Promote semantic versioning less aggressively ([#&#8203;7517](python-poetry/poetry#7517)).
-   Explain Poetry's own versioning scheme in the FAQ ([#&#8203;7517](python-poetry/poetry#7517)).
-   Update documentation for configuration with environment variables ([#&#8203;6711](python-poetry/poetry#6711)).
-   Add details how to disable the virtualenv prompt ([#&#8203;7874](python-poetry/poetry#7874)).
-   Improve documentation on whether to commit `poetry.lock` ([#&#8203;7506](python-poetry/poetry#7506)).
-   Improve documentation of `virtualenv.create` ([#&#8203;7608](python-poetry/poetry#7608)).

##### poetry-core ([`1.6.0`](https://github.com/python-poetry/poetry-core/releases/tag/1.6.0))

-   Improve error message for invalid markers ([#&#8203;569](python-poetry/poetry-core#569)).
-   Increase robustness when deleting temporary directories on Windows ([#&#8203;460](python-poetry/poetry-core#460)).
-   Replace `tomlkit` with `tomli`, which changes the interface of some *internal* classes ([#&#8203;483](python-poetry/poetry-core#483)).
-   Deprecate `Package.category` ([#&#8203;561](python-poetry/poetry-core#561)).
-   Fix a performance regression in marker handling ([#&#8203;568](python-poetry/poetry-core#568)).
-   Fix an issue where wildcard version constraints were not handled correctly ([#&#8203;402](python-poetry/poetry-core#402)).
-   Fix an issue where `poetry build` created duplicate Python classifiers if they were specified manually ([#&#8203;578](python-poetry/poetry-core#578)).
-   Fix an issue where local versions where not handled correctly ([#&#8203;579](python-poetry/poetry-core#579)).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS44Mi4wIiwidXBkYXRlZEluVmVyIjoiMzUuODIuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->

Reviewed-on: https://git.walbeck.it/walbeck-it/docker-python-poetry/pulls/717
Co-authored-by: renovate-bot <bot@walbeck.it>
Co-committed-by: renovate-bot <bot@walbeck.it>
@samypr100 samypr100 deleted the invalid-group-names-warning branch June 2, 2023 16:50
andyi2it added a commit to andyi2it/kserve that referenced this pull request Dec 7, 2023
python-poetry/poetry#7529

Signed-off-by: Andrews Arokiam <andrews.arokiam@ideas2it.com>
oss-prow-bot bot pushed a commit to kserve/kserve that referenced this pull request Dec 23, 2023
* Upgraded poetry version to 1.7.1

Signed-off-by: Andrews Arokiam <andrews.arokiam@ideas2it.com>

* fixed poetry install with invalid group.

python-poetry/poetry#7529

Signed-off-by: Andrews Arokiam <andrews.arokiam@ideas2it.com>

---------

Signed-off-by: Andrews Arokiam <andrews.arokiam@ideas2it.com>
Copy link

github-actions bot commented Mar 3, 2024

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Invalid group names in poetry install --only are silently ignored
4 participants