1Password / onepassword-sdk-python

https://developer.1password.com/docs/sdks/
MIT License
74 stars 6 forks source link

Use Python Poetry #113

Open DustinMoriarty opened 2 weeks ago

DustinMoriarty commented 2 weeks ago

Current Behavior

This library is using setuptools. Setuptools is fine. Lots of old projects still use it for legacy reasons. However, why use setuptools for a brand new python project?

Desired Behavior

connect-sdk-python uses python poetry. Why the regression to using setuptools for this project? Python poetry is simply a better tool because it fully manages the development and packaging environment lifecycle. We don't need to cobble together venv, setuptools, pip freeze and twine anymore.

Benefits & Value

  1. Better dependency resolution.
  2. Lock file integration for automatically pegged dependencies for development environment.
  3. Virtual Environment integration.
  4. Virtual environments outside of project folder.
  5. Configuration driven pyproject.toml file per PEP 621 instead of code driven setup.py.
  6. Heavily used by many major python projects now.
  7. Easier to teach new developers the correct flow. Less allowance for anti-patterns.

Additional information

No response

MOmarMiraj commented 1 week ago

Hi Dustin,

Thanks for submitting your question and feedback. I agree with you that poetry is the better tool and setuptools is indeed a legacy tool. I will submit an internal ticket to perform the tool conversion.