Skip to content

Commit

Permalink
Disable Poetry "package mode"
Browse files Browse the repository at this point in the history
The project's Python package dependencies are managed using the Poetry tool.

By default, Poetry is configured in "package mode", which is intended for use with projects that are a Python package.
When Poetry is used in a project like this that is a standalone script, this configuration is in appropriate and has the
following effects:

* `poetry install` command installs the project as a Python package in addition to the dependencies.
* `name`, `version`, `description`, and `authors` fields of the pyproject.toml file are required.

Installing the project as a package is completely inappropriate if the project is not a package, and may cause the
command to fail with a cryptic error. This can be avoided by passing the `--no-root` flag to the `install` command, but
that increases the usage complexity and chance for user error.

Although metadata fields under the `tool.poetry` section of the pyproject.toml configuration file are important for a
package, in a non-package project there are better ways to provide that information. Since Git tags are used for
versioning, the presence of a `version` field is especially harmful since it means duplication of information and extra
work for the project maintainer (and likelihood the metadata will not be kept updated).

This "package mode" can be disabled via the pyproject.toml configuration file, which causes Poetry to operate purely in
the sole capacity in which it is used by this project: to manage dependencies.
  • Loading branch information
per1234 committed Jun 14, 2024
1 parent 573eab4 commit 42518d8
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 5 deletions.
1 change: 0 additions & 1 deletion Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,6 @@ tasks:
cmds:
- |
poetry install \
--no-root \
{{if .POETRY_GROUPS}} --only {{.POETRY_GROUPS}} {{end}}
poetry:sync:
Expand Down
5 changes: 1 addition & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@
line-length = 120

[tool.poetry]
name = "compilesketches"
version = "0.0.0"
description = ""
authors = ["Arduino <[email protected]>"]
package-mode = false

[tool.poetry.dependencies]
python = "3.11.2"
Expand Down

0 comments on commit 42518d8

Please sign in to comment.