psp
is a blazing fast command line utility to scaffold your Python project, written in Rust.
Note
This project is WIP: beta
psp # Press Enter
Welcome to PSP (Python Scaffolding Projects): 0.0.8
> 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
> Select git remote provider: Github
> Username of Github: MatteoGuadrini
> Do you want to configure tox? Yes
> Select document generator: Sphinx
Project `test` created
The result is:
tree test --filelimit=10 -a
test # project folder
├── pyproject.toml # python package configuration file
├── .circleci # CI folder
│ └── config.yml # CI configuration file
├── docs # documentation folder: Sphinx/MKDocs
│ ├── build
│ ├── make.bat
│ ├── Makefile
│ └── source
│ ├── conf.py
│ ├── index.rst
│ ├── _static
│ └── _templates
├── .git # git folder
│ ├── branches
│ ├── config
│ ├── description
│ ├── HEAD
│ ├── hooks [14 entries exceeds filelimit, not opening dir]
│ ├── info
│ │ └── exclude
│ ├── objects
│ │ ├── info
│ │ └── pack
│ └── refs
│ ├── heads
│ └── tags
├── .github # Github issue and merge templates
│ ├── ISSUE_TEMPLATE
│ │ ├── bug.yml
│ │ ├── config.yml
│ │ └── feature.yml
│ └── PULL_REQUEST_TEMPLATE
│ └── pull_request_template.md
├── .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>"
├── tox.ini # Tox configuration files
└── venv # virtual environment
├── bin [33 entries exceeds filelimit, not opening dir]
├── include
│ └── python3.12
├── lib
│ └── python3.12
│ └── site-packages [68 entries exceeds filelimit, not opening dir]
├── lib64 -> lib
└── pyvenv.cfg
30 directories, 20 files
psp
has three prerequisetes installed on own machine:
git
python3
pip
To install compiled file into your machine, download it:
For all users:
sudo -i
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.8/psp_linux > /usr/bin/psp
chmod +x /usr/bin/psp
For current user:
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.8/psp_linux > $HOME/.local/bin/psp
chmod +x $HOME/.local/bin/psp
sudo su -
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.8/psp_macos > /usr/bin/psp
chmod +x /usr/bin/psp
Instead, if you compile this project as own, follow this steps:
git clone https://github.com/MatteoGuadrini/psp.git
cd psp && cargo build && sudo cp -var target/release/psp /usr/bin/psp
- Scaffolding file and folder structures for your Python project
- Prepare git and gitignore
- Prepare unit test files (also with pytest)
- Prepare virtual environment
- Install dependencies
- Prepare pyproject.toml
- Prepare CI configuration files
- Prepare Github/Gitlab files
- Prepare tox environment
- Prepare docs folder for sphinx/mkdocs documentation
- Prepare README, LICENSE, CONTRIBUTING, CODE_OF_CONDUCT and CHANGES files
- Add build and deploy dependencies to distribute package
- Add quick, nodocs and full argument for rapid configuration
psp is an open source project. Any contribute, It's welcome.
A great thanks.
For donations, press this
For me
For Telethon
The Telethon Foundation is a non-profit organization recognized by the Ministry of University and Scientific and Technological Research. They were born in 1990 to respond to the appeal of patients suffering from rare diseases. Come today, we are organized to dare to listen to them and answers, every day of the year.
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.
Thanks to Jim Blandy, Jason Orendorff and Nora Tindall for writing the Programming Rust book that make up my Rust foundation.
Thanks to Tim McNamara for writing the Rust in Action book.
Thanks to Zed IDE and for license of RustRover offered by Jetbrains.
Special thanks go to my wife, who understood the hours of absence for this development. Thanks to my children, for the daily inspiration they give me and to make me realize, that life must be simple.
Thanks, Rust!