This version brings some improvements and a bunch of bugfixes.

New Features

Support for Python 3.4+

Previously, Poetry supported Python 3.6+ but after some consideration it was decided that it would support all Python 3 versions currently by the Python core team (see https://devguide.python.org/#status-of-python-branches).

So now, Poetry supports Python 3.4+.

New standalone installer

Poetry now provides a custom installer that will install poetry isolated from the rest of your system by vendorizing its dependencies. This is the recommended way of installing poetry.

curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python

Alternatively, you can download the get-poetry.py file and execute it separately.

If you want to install prerelease versions, you can do so by passing --preview to get-poetry.py:

python get-poetry.py --preview

Similarly, if you want to install a specific version, you can use --version:

python get-poetry.py --version 0.7.0

New version command

The version has been added which allows you to bump automatically the version of the project and write the new version back to pyproject.toml

The new version should ideally be a valid semver string or a valid bump rule: patch, minor, major, prepatch, preminor, premajor, prerelease.

New script command

The script command executes one of the scripts defined in pyproject.toml.

So, if you have a script defined like this:

[tool.poetry.scripts]
my-script = "my_module:main"

You can execute it like so:

poetry script my-script

Support for trove classifiers

The tool.poetry section of the pyproject.toml file now accepts a classifiers property which allows you to specify trove classifiers.

classifiers = [
    "Topic :: Software Development :: Build Tools",
    "Topic :: Software Development :: Libraries :: Python Modules"
]

Note that Python classifiers are still automatically added for you and are determined by your python requirement.

The license property will also set the License classifer automatically.

Changes

  • Improved dependency resolution to avoid unnecessary operations.
  • Improved dependency resolution speed.
  • Improved CLI reactivity by deferring imports.

Fixes

  • Fixed handling of markers with the in operator.
  • Fixed update not properly adding new packages to the lock file.
  • Fixed solver adding uninstall operations for non-installed packages.
  • Fixed new command creating invalid pyproject.toml files.
View Comments