Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python Project Setup #8

Open
ebresie opened this issue Mar 6, 2022 · 8 comments
Open

Python Project Setup #8

ebresie opened this issue Mar 6, 2022 · 8 comments

Comments

@ebresie
Copy link
Owner

ebresie commented Mar 6, 2022

This will track Python project related features to include

  • Setup of a new project
  • Configure project specific properties (i.e. version, modules/packages, environment variables, etc.)
@ebresie
Copy link
Owner Author

ebresie commented Mar 6, 2022

@ebresie
Copy link
Owner Author

ebresie commented May 14, 2022

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
Copy link
Owner Author

ebresie commented May 14, 2022

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
Copy link
Owner Author

ebresie commented May 14, 2022

Background

  • setup.py - used to setup packages more for user of python module
  • requirements.txt - used to identify dependency modules for a given project. Usually made up of module==version references. May involve setup for development dependencies (i.e. unit tests, debug, etc.)
  • pyenv - used for virtual environment setup
  • setuptool - "Easily download, build, install, upgrade, and uninstall Python packages"
  • distutil - legacy/deprecated modules for python project distribution functionality. See setuptool
  • pep-0621 - Python Enhancement to standardize project metadata

@ebresie
Copy link
Owner Author

ebresie commented Jun 5, 2022

There may be overlap here with

@ebresie
Copy link
Owner Author

ebresie commented Nov 5, 2022

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
Copy link
Owner Author

ebresie commented Jan 21, 2023

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant