piker icon indicating copy to clipboard operation
piker copied to clipboard

Try out `poetry`

Open goodboy opened this issue 2 years ago • 0 comments

Last time i tried one of these "super packaging" projects it was pipenv #82, and it didn't go well.

Given we're likely moving all infra development and deploys to nixos, and given the issues with the normal python packaging nightmare and how it conflicts with nixos style profiles / environments i'd like to give poetry a try:


Wait, why try one of these projects again?

  • it's been a long while, likely this project space has matured and we're very happy with other projects we're using from the same author: pendulum, tomlkit

  • the main pain point we had with pipenv (IIRC) was git deps:

    • https://python-poetry.org/docs/dependency-specification/#git-dependencies
  • nixos has a bunch of 3rd party wrappers for supporting conversion to nix hybrid packaging and dev envs:

    • https://github.com/nix-community/awesome-nix#python

      • pypi2nix: https://github.com/nix-community/pypi2nix
      • https://github.com/DavHau/mach-nix
      • poetry2nix: https://github.com/nix-community/poetry2nix
        • intro blog: https://www.tweag.io/blog/2020-08-12-poetry2nix/
        • 3rd party nix contribber: https://or.computer.surgery/charles/nix-python-quickstart
    • https://nixos.wiki/wiki/Python#Using_alternative_packages

    • lotsa notes on how you have to take special care with python pkging on nixos:

      • https://or.computer.surgery/charles/nix-python-quickstart
      • https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/python.section.md#how-to-consume-python-modules-using-pip-in-a-virtual-environment-like-i-am-used-to-on-other-operating-systems-how-to-consume-python-modules-using-pip-in-a-virtual-environment-like-i-am-used-to-on-other-operating-systems
  • buncha links to useful docs needed during trying to hack xonsh's vox virt envs that will only work if there are no sh-lib deps:

    • https://setuptools.pypa.io/en/latest/userguide/development_mode.html
    • https://docs.python.org/dev/using/cmdline.html#cmdoption-I
    • https://docs.python.org/3/library/site.html#site.addsitedir

goodboy avatar May 15 '23 18:05 goodboy