ebresie / python4nb

This is a Python Plugin for Netbeans.
Apache License 2.0
13 stars 1 forks source link

Python Project Setup #8

Open ebresie opened 2 years ago

ebresie commented 2 years ago

This will track Python project related features to include

ebresie commented 2 years ago

May need to consider Python project conventions like those discussed in the following

ebresie commented 2 years ago

This may involve separate issues but may also look into the below references

This may include (1) integrate pyenv for environment setup, (2) integrate setuptools for project dependency setup, (3) compliance with pep-0621 project metadata

https://eugeneyan.com/writing/setting-up-python-project-for-automation-and-collaboration/ https://github.com/pyenv/pyenv https://peps.python.org/pep-0621/ https://pypi.org/project/setuptools/

May want to create "New Project Templates" for assorted configurations including setuptools, setup.py, requirements.txt, and related pyenv (environment) setup element as well.

ebresie commented 2 years ago

May need to provide pip interface as well (likely part of "module" setup functionality) with "requirements.txt" compatibility/interface (i.e. new "requirements.txt" file option)

ebresie commented 2 years ago

Background

ebresie commented 2 years ago

Reference:

  1. https://realpython.com/pipenv-guide/
  2. https://github.com/pdm-project/pdm
  3. https://github.com/David-OConnor/pyflow
  4. https://eugeneyan.com/writing/setting-up-python-project-for-automation-and-collaboration/
  5. https://github.com/pyenv/pyenv
  6. https://peps.python.org/pep-0621/
  7. https://pypi.org/project/setuptools/
ebresie commented 2 years ago

There may be overlap here with

ebresie commented 1 year ago

Some updates for this are captured as part of v0.3.0 release specifically adding a "setup" based project available within "File...New File...Python Setup Based file" context.

image

Which provides a basic template like the following

image

ebresie commented 1 year ago

May want to allow project configuration using pyproject.toml configuration file.

See https://packaging.python.org/en/latest/specifications/declaring-project-metadata/