New scaffolding tool

Hi everyone, I write a new tool for Python that helps the scaffolding the project that anyone writes.
This tool is PSP (Python Scaffolding Projects): GitHub - MatteoGuadrini/psp: PSP (Python Scaffolding Projects)
Naturally this project is born a few days ago and also in Work In Progress…

I hope that this package helps everyone to writes better Python projects.

I don’t know if this place is correct to announce this, but the community of Python users must know.

Thanks to all

Hi everyone,
the PSP project is arrived to sixth version.
Now the possibilities is more complete!

Check this:

psp   # Press Enter
Welcome to PSP (Python Scaffolding Projects): 0.0.6
> Name of Python project: test
> Do you want to start git repository? Yes
> Do you want unit test files? Yes
> Do you want to create a virtual environment? Yes
> Install dependencies: scipy numpy
> Select CI provider: CircleCI
Project `test` created

and this produce:

tree test --filelimit=8 -a
test                  # project folder
β”œβ”€β”€ pyproject.toml    # python package configuration file
β”œβ”€β”€ .circleci         # CI folder
β”‚   └── config.yml    # CI configuration file
β”œβ”€β”€ .git              # git folder
β”‚   β”œβ”€β”€ branches
β”‚   β”œβ”€β”€ config
β”‚   β”œβ”€β”€ description
β”‚   β”œβ”€β”€ HEAD
β”‚   β”œβ”€β”€ hooks  [14 entries exceeds filelimit, not opening dir]
β”‚   β”œβ”€β”€ info
β”‚   β”‚   └── exclude
β”‚   β”œβ”€β”€ objects
β”‚   β”‚   β”œβ”€β”€ info
β”‚   β”‚   └── pack
β”‚   └── refs
β”‚       β”œβ”€β”€ heads
β”‚       └── tags
β”œβ”€β”€ .gitignore        # git ignore file
β”œβ”€β”€ test              # python package
β”‚   └── __init__.py
β”œβ”€β”€ tests             # tests package for modules
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── test_test.py  # test module "test_<name_python_package>"
└── venv              # virtual environment
    β”œβ”€β”€ bin  [12 entries exceeds filelimit, not opening dir]
    β”œβ”€β”€ include
    β”‚   └── python3.12
    β”œβ”€β”€ lib
    β”‚   └── python3.12
    β”‚       └── site-packages
    β”‚           β”œβ”€β”€ numpy  [46 entries exceeds filelimit, not opening dir]
    β”‚           β”œβ”€β”€ numpy-2.1.0.dist-info
    β”‚           β”‚   β”œβ”€β”€ entry_points.txt
    β”‚           β”‚   β”œβ”€β”€ INSTALLER
    β”‚           β”‚   β”œβ”€β”€ LICENSE.txt
    β”‚           β”‚   β”œβ”€β”€ METADATA
    β”‚           β”‚   β”œβ”€β”€ RECORD
    β”‚           β”‚   β”œβ”€β”€ REQUESTED
    β”‚           β”‚   └── WHEEL
    β”‚           β”œβ”€β”€ numpy.libs
    β”‚           β”‚   β”œβ”€β”€ libgfortran-040039e1-0352e75f.so.5.0.0
    β”‚           β”‚   β”œβ”€β”€ libquadmath-96973f99-934c22de.so.0.0.0
    β”‚           β”‚   └── libscipy_openblas64_-ff651d7f.so
    β”‚           β”œβ”€β”€ pip
    β”‚           β”‚   β”œβ”€β”€ __init__.py
    β”‚           β”‚   β”œβ”€β”€ _internal  [23 entries exceeds filelimit, not opening dir]
    β”‚           β”‚   β”œβ”€β”€ __main__.py
    β”‚           β”‚   β”œβ”€β”€ __pip-runner__.py
    β”‚           β”‚   β”œβ”€β”€ __pycache__
    β”‚           β”‚   β”‚   β”œβ”€β”€ __init__.cpython-312.pyc
    β”‚           β”‚   β”‚   β”œβ”€β”€ __main__.cpython-312.pyc
    β”‚           β”‚   β”‚   └── __pip-runner__.cpython-312.pyc
    β”‚           β”‚   β”œβ”€β”€ py.typed
    β”‚           β”‚   └── _vendor  [27 entries exceeds filelimit, not opening dir]
    β”‚           β”œβ”€β”€ pip-23.3.2.dist-info  [9 entries exceeds filelimit, not opening dir]
    β”‚           β”œβ”€β”€ scipy  [28 entries exceeds filelimit, not opening dir]
    β”‚           β”œβ”€β”€ scipy-1.14.1.dist-info
    β”‚           β”‚   β”œβ”€β”€ INSTALLER
    β”‚           β”‚   β”œβ”€β”€ LICENSE.txt
    β”‚           β”‚   β”œβ”€β”€ METADATA
    β”‚           β”‚   β”œβ”€β”€ RECORD
    β”‚           β”‚   β”œβ”€β”€ REQUESTED
    β”‚           β”‚   └── WHEEL
    β”‚           └── scipy.libs
    β”‚               β”œβ”€β”€ libgfortran-040039e1-0352e75f.so.5.0.0
    β”‚               β”œβ”€β”€ libgfortran-040039e1.so.5.0.0
    β”‚               β”œβ”€β”€ libquadmath-96973f99-934c22de.so.0.0.0
    β”‚               β”œβ”€β”€ libquadmath-96973f99.so.0.0.0
    β”‚               └── libscipy_openblas-c128ec02.so
    β”œβ”€β”€ lib64 -> lib
    └── pyvenv.cfg

33 directories, 39 files

I hope this tool help every Pythonistas to write own package.
Thanks to read this

1 Like

Hi everyone,
the PSP project is arrived to beta version:


Next step is to add keywords argument to group by questions…stay tuned!
The official repository is here: GitHub - MatteoGuadrini/psp: PSP (Python Scaffolding Projects)

Please open an issue if you encountered a problem.
Thanks a lot Python Community!

Hi everyone,
today I release the first stable release of PSP: GitHub - MatteoGuadrini/psp: PSP (Python Scaffolding Projects)

This is a full demo:
psp

This is the features:

  • :zap: 10-100x faster
  • :hammer_and_wrench: pyproject.toml support
  • :handshake: Python 3.13 compatibility
  • :card_file_box: Scaffolding file and folder structures for your Python project
  • :package: Unit-test and pytest supports
  • :test_tube: Create virtual environment
  • :wrench: Automatically dependencies installation
  • :screwdriver: Add build and deploy dependencies to distribute package
  • :straight_ruler: tox configuration supports and remotes CI like CircleCI and TravisCI
  • :keyboard: MkDocs and Sphinx documentation supports
  • :toolbox: Initialize git repository and gitignore file
  • :earth_americas: Github and Gitlab remote repository supports
  • :bookmark_tabs: Create README, LICENSE, CONTRIBUTING, CODE_OF_CONDUCT and CHANGES files
  • :whale: Create Dockerfile and Containerfile for your project
  • :bulb: Can use quick, simple and full argument for rapid configuration

Thanks to everyone!