{"id":20326063,"url":"https://github.com/matteoguadrini/psp","last_synced_at":"2025-09-14T22:30:24.914Z","repository":{"id":248500725,"uuid":"827855598","full_name":"MatteoGuadrini/psp","owner":"MatteoGuadrini","description":"psp (Python Scaffolding Projects)","archived":false,"fork":false,"pushed_at":"2025-09-08T11:39:46.000Z","size":128,"stargazers_count":36,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-08T13:29:33.179Z","etag":null,"topics":["inquirer-prompt","prompt","prompts","python","python3","rust","rust-lang","scaffold","scaffolder","scaffolding"],"latest_commit_sha":null,"homepage":"https://psp.readthedocs.io","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatteoGuadrini.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-12T14:21:47.000Z","updated_at":"2025-09-01T14:19:52.000Z","dependencies_parsed_at":"2024-08-27T11:25:58.695Z","dependency_job_id":"77b321fc-582c-41a3-bd59-6c8537977157","html_url":"https://github.com/MatteoGuadrini/psp","commit_stats":null,"previous_names":["matteoguadrini/psp"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/MatteoGuadrini/psp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatteoGuadrini%2Fpsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatteoGuadrini%2Fpsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatteoGuadrini%2Fpsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatteoGuadrini%2Fpsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatteoGuadrini","download_url":"https://codeload.github.com/MatteoGuadrini/psp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatteoGuadrini%2Fpsp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275179709,"owners_count":25419063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inquirer-prompt","prompt","prompts","python","python3","rust","rust-lang","scaffold","scaffolder","scaffolding"],"created_at":"2024-11-14T19:42:47.816Z","updated_at":"2025-09-14T22:30:24.885Z","avatar_url":"https://github.com/MatteoGuadrini.png","language":"Rust","funding_links":["https://www.paypal.me/guos"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"img/psp_logo.svg\" alt=\"Logo\" align=\"right\" width=\"150\"/\u003e **psp** (Python Scaffolding Projects)\n======\n\n`psp` is a blazing fast command line utility to scaffold your _Python_ project, written in Rust.\n\n- ⚡️ 1-100x faster compared to other scaffolding tools\n- 🛠️ `pyproject.toml` support\n- 🤝 Python 3.13 compatibility\n- 🗃 Scaffolding file and folder structures for your Python project\n- 📦 Unit-test and [pytest](https://docs.pytest.org/) support\n- 🧪 Create a virtual environment\n- 🔧 Automagically dependencies installation\n- 🪛 Add build and deploy dependencies to distribute the package\n- 📏 [tox](https://tox.wiki/en/stable/) configuration supports and remotes CI like [CircleCI](https://circleci.com/) and [TravisCI](https://www.travis-ci.com/)\n- ⌨️ [MkDocs](https://www.mkdocs.org/) and [Sphinx](https://www.sphinx-doc.org/) documentation support\n- 🧰 Initialize git repository and `gitignore` file\n- 🌎 GitHub and Gitlab remote repository support\n- 📑 Create `README`, `LICENSE`, `CONTRIBUTING`, `CODE_OF_CONDUCT` and `CHANGES` files\n- 🐳 Create `Dockerfile` and `Containerfile` for your project\n- 💡 Can use _quick_, _simple_ and _full_ argument for rapid configuration\n- 💾 Create `$HOME/.psp.env` and `$PWD/.env` files with your customizations\n- 🎛️ Can use some `PSP_` variables to control your defaults\n\n## 🚀 Get Started in 30 Seconds\n\n[![asciicast](https://asciinema.org/a/707474.svg)](https://asciinema.org/a/707474)\n\n\u003cimg src=\"https://i.ibb.co/bMGTM4GM/psp020.png\" alt=\"psp\" width=\"790\"/\u003e\n\nThe result is:\n\n```console\n$\u003e tree test/ --filelimit=19 -a\ntest                    # Project folder\n├── LICENSE.md          # License file\n├── pyproject.toml      # Python package configuration file\n├── README.md           # Readme file\n├── CHANGES.md          # List of changes\n├── .circleci           # CI folder\n│   └── config.yml      # CI configuration file\n├── CODE_OF_CONDUCT.md  # Code of Conduct\n├── CONTRIBUTING.md     # Contributing guide lines\n├── Containerfile       # Standard container file for build image\n├── Dockerfile          # Docker container file for build image\n├── Makefile            # Makefile for command make; make help\n├── requirements.txt    # Dependencies list used by third programs\n├── docs                # Documentation folder: Sphinx/MKDocs\n│   ├── build\n│   ├── make.bat\n│   ├── Makefile\n│   └── source\n│       ├── conf.py\n│       ├── index.rst\n│       ├── _static\n│       └── _templates\n├── .git                # Git folder\n│   ├── branches\n│   ├── config\n│   ├── description\n│   ├── HEAD\n│   ├── hooks  [14 entries exceeds filelimit, not opening dir]\n│   ├── info\n│   │   └── exclude\n│   ├── objects\n│   │   ├── info\n│   │   └── pack\n│   └── refs\n│       ├── heads\n│       └── tags\n├── .github             # Github issue and merge templates\n│   ├── ISSUE_TEMPLATE\n│   │   ├── bug.yml\n│   │   ├── config.yml\n│   │   └── feature.yml\n│   └── PULL_REQUEST_TEMPLATE\n│       └── pull_request_template.md\n├── .gitignore          # Git ignore file\n├── test                # Python package\n│   └── __init__.py\n├── tests               # Tests package for modules\n│   ├── __init__.py\n│   └── test_test.py    # Test module \"test_\u003cname_python_package\u003e\"\n├── tox.ini             # Tox configuration files\n└── venv                # Virtual environment\n    ├── bin  [33 entries exceeds filelimit, not opening dir]\n    ├── include\n    │   └── python3.13\n    ├── lib\n    │   └── python3.13\n    │       └── site-packages  [68 entries exceeds filelimit, not opening dir]\n    ├── lib64 -\u003e lib\n    └── pyvenv.cfg\n\n29 directories, 44 files\n```\n\nAnd `git` status is:\n\n```console\n$\u003e git status\nOn branch main\n\nNo commits yet\n...\n$\u003e git remote get-url origin\ngit@github.com:MatteoGuadrini/test.git\n```\n\n## 🔌 Prerequisites\n\n`psp` has four prerequisetes installed on own machine:\n- `git`\n- `python3`\n- `pip`\n- `curl`\n\n### Ubuntu based prerequisites installation\n\n```console\nsudo apt install -y python3 python3-pip git curl\n```\n\n### Red Hat based prerequisites installation\n\n```console\nsudo dnf install -y python3 python3-pip git curl\n```\n\n### Arch based prerequisites installation\n\n```console\nsudo pacman -Qi python3 python3-pip git curl\n```\n\n## 💿 Installation\n\nTo install compiled file into your machine, download it:\n\n### Linux\n\nFor all users:\n```console\nsudo -i\ncurl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.2.0/psp_linux -o /usr/bin/psp\nchmod +x /usr/bin/psp\n```\n\nFor current user:\n```console\ncurl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.2.0/psp_linux -o $HOME/.local/bin/psp\nchmod +x $HOME/.local/bin/psp\n```\n\n### MacOS\n\n```console\nsudo su -\ncurl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.2.0/psp_macos -o /usr/bin/psp\nchmod +x /usr/bin/psp\n```\n\n### Packages\n\nIf you want install OS package, follow instructions for your Operating System:\n\nFor **Debian/Ubuntu**:\n\n```console\ncurl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.2.0/psp.deb -o psp.deb\nsudo dpkg -i psp.deb\n```\n\nFor **Fedora/Mageia/OpenSuse**:\n\n```console\nsudo rpm -i https://github.com/MatteoGuadrini/psp/releases/download/v0.2.0/psp.rpm\n```\n\n### Compile as your own\n\nInstead, if you compile this project as own, follow this steps:\n\n```console\ngit clone https://github.com/MatteoGuadrini/psp.git\ncd psp \u0026\u0026 cargo build --release \u0026\u0026 sudo cp -v target/release/psp /usr/bin/psp \u0026\u0026 chmod +x /usr/bin/psp\n```\n\n## Open source\n_psp_ is an open source project. Any contribute, It's welcome.\n\n**A great thanks**.\n\nFor donations, press this\n\nFor me\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/guos)\n\nFor [Telethon](http://www.telethon.it/)\n\nThe Telethon Foundation is a non-profit organization recognized by the Ministry of University and Scientific and Technological Research.\nThey were born in 1990 to respond to the appeal of patients suffering from rare diseases.\nCome today, we are organized to dare to listen to them and answers, every day of the year.\n\n[Adopt the future](https://www.ioadottoilfuturo.it/)\n\n\n## Treeware\n\nThis package is [Treeware](https://treeware.earth). If you use it in production,\nthen we ask that you [**buy the world a tree**](https://plant.treeware.earth/matteoguadrini/mkpl) to thank us for our work.\nBy contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.\n\n[![Treeware](https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=Treeware\u0026query=%24.total\u0026url=https%3A%2F%2Fpublic.offset.earth%2Fusers%2Ftreeware%2Ftrees)](https://treeware.earth)\n\n\n## Acknowledgments\n\nThanks to Jim Blandy, Jason Orendorff and Nora Tindall for writing the  _Programming Rust_ book that make up my Rust foundation.\n\nThanks to Tim McNamara for writing the _Rust in Action_ book.\n\nThanks to [Zed IDE](https://zed.dev/) and for license of [RustRover](https://www.jetbrains.com/rust/) offered by Jetbrains.\n\nSpecial thanks go to my wife, who understood the hours of absence for this development.\nThanks to my children, for the daily inspiration they give me and to make me realize, that life must be simple.\n\nThanks, Rust Community!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatteoguadrini%2Fpsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatteoguadrini%2Fpsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatteoguadrini%2Fpsp/lists"}