Poetry: Feature roadmap

Created on 9 Jan 2020  Â·  7Comments  Â·  Source: python-poetry/poetry

This is the official feature roadmap for Poetry. This gives an overview of future features and ideas that will be implemented in Poetry and in which release they will be available.

Each feature release will have its own Github project to track the progress being made on these new features

This roadmap is subject to change and features will be added as needed.

1.1

  • [x] Lightweight core library (#1993).
  • [x] First phase of improving the packages installation speed : Download distributions separately before installing them (#2595).
  • [x] Opt-in option to disable the generation of the setup.py file.
  • [x] Drop Python 3.4 support. Note that Poetry will still be able to manage Python 3.4 environments.
  • [x] Python 2.7 and 3.5 deprecation (#2683).

1.2

  • [ ] Plugin system (#693, #1237).
  • [ ] Implementation of a bundle command, see #537 for more context. This command should be pluggable via the plugin system (#1992, #2682).
  • [ ] Improve dependency resolution. Better support for system specific wheels and speed improvements.
  • [ ] Development of a package registry to speed up dependency resolution of packages with missing metadata.
  • [ ] Second phase of improving the packages installation speed: Implementation of a separate library to replace calls to pip for installation. This will be an opt-in feature in this release.
  • [ ] Add support for dependency groups (#1644).
  • [ ] Drop Python 2.7 and 3.5 support.

    1.3

  • [ ] Third phase of improving the package installation speed : Make the phase 2 feature the default one with the possibility to opt out.

1.4

  • [ ] Fourth phase of improving the package installation speed : Disable the possibility to opt out of the phase 2 feature as it should be stable by now.

2.0

Most helpful comment

Small note: Python 3.4 is already EOL as of March 2019, so if it's causing you trouble, seems reasonable to drop support for it - see Python announcement here - https://www.python.org/downloads/release/python-3410/

All 7 comments

Something I would like to see is the ability to use different channels. In conda you can specify e.g.

name: dslib
channels:
  - anaconda
  - conda-forge
dependencies:
  # python related packages
  - python==3.6.5
  - scikit-learn 

However, you cannot install anything outside of conda, which is really bad. That's why (among other things) I and other people I know use poetry.

On the other hand, poetry only supports pip, which is not perfect as explained here https://www.anaconda.com/understanding-conda-and-pip/

TLDR:

  • There is never a need to have compilers available to install them. You download binaries directly, so installation is cleaner and faster
  • Additionally conda packages are not limited to Python software.

Is there any chance to get support for conda? I would like to see something like channels, and poetry checking first conda, then pip. This would probably improve installation speed as well

What do you reckon? (I'm not an full-time dev, so please let me know if something stated above is wrong)

I fully support this request. It is very reasonable and will serve many users.
Kindest regards,

Dr [Engel]bert Tijskens - HPC Analyst/Consultant
Flemish Supercomputer Center
University of Antwerp / Computational mathematics
++32 3 265 3879, ++32 494 664408

On 12 Jan 2020, at 14:16, Marc Torrellas <[email protected]notifications@github.com> wrote:

Something I would like to see is the ability to use different channels. In conda you can specify e.g.

name: dslib
channels:

  • anaconda
  • conda-forge
    dependencies:
    # python related packages
  • python==3.6.5
  • scikit-learn

However, you cannot install anything outside of conda, which is really bad. That's why (among other things) I and other people I know use poetry.

On the other hand, poetry only supports pip, which is not perfect as explained here https://www.anaconda.com/understanding-conda-and-pip/https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.anaconda.com%2Funderstanding-conda-and-pip%2F&data=02%7C01%7Cengelbert.tijskens%40uantwerpen.be%7C9cb0fdc766c8425dd63a08d7976198c3%7C792e08fb2d544a8eaf72202548136ef6%7C0%7C0%7C637144317741297240&sdata=ihwfbq5eH0NHrxYSi7AZz9HqFriSnPiF5s5fJFhssPY%3D&reserved=0

TLDR:

  • There is never a need to have compilers available to install them. You download binaries directly, so installation is cleaner and faster
  • Additionally conda packages are not limited to Python software.

Is there any chance to get support for conda? I would like to see something like channels, and poetry checking first conda, then pip. This would probably improve installation speed as well

What do you reckon? (I'm not an full-time dev, so please let me know if something stated above is wrong)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpython-poetry%2Fpoetry%2Fissues%2F1856%3Femail_source%3Dnotifications%26email_token%3DACRDDFU5XOAIMSMWNYN6ZPLQ5MJZVA5CNFSM4KE52MRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWZX3Y%23issuecomment-573414383&data=02%7C01%7Cengelbert.tijskens%40uantwerpen.be%7C9cb0fdc766c8425dd63a08d7976198c3%7C792e08fb2d544a8eaf72202548136ef6%7C0%7C0%7C637144317741307235&sdata=W7jy9YPssAmbhtQof8APj3ZEQek7cEsTKROilS4mMZ0%3D&reserved=0, or unsubscribehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACRDDFVNVUUJ4XJKKV3RDBLQ5MJZVANCNFSM4KE52MRA&data=02%7C01%7Cengelbert.tijskens%40uantwerpen.be%7C9cb0fdc766c8425dd63a08d7976198c3%7C792e08fb2d544a8eaf72202548136ef6%7C0%7C0%7C637144317741317225&sdata=Uv5G8B6G6MSEpOuP%2B0XIj%2Bcsp83Vm%2BBCrtj8HXD1%2F7k%3D&reserved=0.

Thanks for your interest in Poetry and for your feedback.

However, this issue is not the place to make feature requests but is reserved for discussion about the current roadmap detailed above. If you want to make a feature request, please open a proper issue with the appropriate template.

That being said there is no plan to add support for conda at the moment.

I'm curious about these 1.1 roadmap items:

  • Improve dependency resolution. Better support for system specific wheels and speed improvements.
  • First phase of improving the packages installation speed: Download distributions separately before installing them.

Do we have hard numbers on how long % wise each of these steps take? I'm not saying we have to, but it would be interesting to note. My guess would be on package installation speed.

Is something along the lines of "refine the CLI's UX" suitable for the roadmap? Most of the internals of Poetry I'm quite happy with (well, except for the speed issues already covered), but I find myself cobbling together workflows from commands that aren't _quite_ what I need, but can be abused to make it so.

Small note: Python 3.4 is already EOL as of March 2019, so if it's causing you trouble, seems reasonable to drop support for it - see Python announcement here - https://www.python.org/downloads/release/python-3410/

@jtratner Yes, we will drop support for Python 3.4 in the next feature release without going through a deprecation plan.

This decision was taken because, as mentioned above, it was cumbersome and it seems that people have already moved on to more recent versions (see https://pypistats.org/packages/poetry)

I'll update the roadmap to reflect that.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

etijskens picture etijskens  Â·  3Comments

mozartilize picture mozartilize  Â·  3Comments

ulope picture ulope  Â·  3Comments

ghost picture ghost  Â·  3Comments

ambv picture ambv  Â·  3Comments