Skip to content

Commit

Permalink
feat: prepare container files and makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
MatteoGuadrini committed Nov 11, 2024
2 parents 370779a + 76a06f0 commit c8b194f
Show file tree
Hide file tree
Showing 4 changed files with 352 additions and 88 deletions.
12 changes: 12 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Release notes

## 0.1.0
Nov 11, 2024
- Add **prj_pypi** function
- Add **prj_docker** function
- Add **prj_makefile** function
- Add **print_help** core function
- Add _quick_, _simple_ and _full_ argument for rapid configuration
- Add _requirements.txt_file
- Rewrite **check_tool** function with PATH enviroment variable
- Fix if _name_ of project is empty
- Fix if _name_ of project contains spaces

## 0.0.9
Oct 15, 2024
- Add **prj_files** function
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "psp"
version = "0.0.9"
version = "0.1.0"
edition = "2021"
authors = ["matteoguadrini <[email protected]>"]
description = "PSP (Python Scaffolding Projects)"
Expand Down
55 changes: 25 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,27 @@
- ⚡️ 10-100x faster
- 🛠️ `pyproject.toml` support
- 🤝 Python 3.13 compatibility
- 🗃 Scaffolding file and folder structures for your Python project
- 📦 Unit-test and [pytest](https://docs.pytest.org/) supports
- 🧪 Create virtual environment
- 🔧 Automatically dependencies installation
- 📏 [tox](https://tox.wiki/en/stable/) configuration supports and other remotes CI
- 🪛 Add build and deploy dependencies to distribute package
- 📏 [tox](https://tox.wiki/en/stable/) configuration supports and remotes CI like [CircleCI](https://circleci.com/) and [TravisCI](https://www.travis-ci.com/)
- ⌨️ [MkDocs](https://www.mkdocs.org/) and [Sphinx](https://www.sphinx-doc.org/) documentation supports
- 🧰 Initialize git repository and gitignore file
- 🌎 Github and Gitlab remote repository supports
- 📑 Create README, LICENSE, CONTRIBUTING, CODE_OF_CONDUCT and CHANGES files
- 🐳 Create Dockerfile and Containerfile for your project
- 💡 Can use _quick_, _simple_ and _full_ argument for rapid configuration

<img src="https://i.ibb.co/SvptyfB/psp-009.png" alt="psp" width="600"/>
<a href="https://asciinema.org/a/688780" target="_blank"><img src="https://asciinema.org/a/688780.svg" /></a>

> [!NOTE]
> This project is WIP: beta
<img src="https://i.ibb.co/p4Zgg1b/psp010.png" alt="psp" width="790"/>

The result is:

```console
$> tree test/ --filelimit=10 -a
$> tree test/ --filelimit=19 -a
test # Project folder
├── LICENSE.md # License file
├── pyproject.toml # Python package configuration file
Expand All @@ -29,6 +35,10 @@ test # Project folder
│ └── config.yml # CI configuration file
├── CODE_OF_CONDUCT.md # Code of Conduct
├── CONTRIBUTING.md # Contributing guide lines
├── Containerfile # Standard container file for build image
├── Dockerfile # Docker container file for build image
├── Makefile # Makefile for command make; make help
├── requirements.txt # Dependencies list used by third programs
├── docs # Documentation folder: Sphinx/MKDocs
│ ├── build
│ ├── make.bat
Expand Down Expand Up @@ -69,14 +79,14 @@ test # Project folder
└── venv # Virtual environment
├── bin [33 entries exceeds filelimit, not opening dir]
├── include
│ └── python3.12
│ └── python3.13
├── lib
│ └── python3.12
│ └── python3.13
│ └── site-packages [68 entries exceeds filelimit, not opening dir]
├── lib64 -> lib
└── pyvenv.cfg

30 directories, 39 files
29 directories, 44 files
```

And `git` status is:
Expand Down Expand Up @@ -126,37 +136,39 @@ To install compiled file into your machine, download it:
For all users:
```console
sudo -i
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.9/psp_linux > /usr/bin/psp
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.1.0/psp_linux > /usr/bin/psp
chmod +x /usr/bin/psp
```

For current user:
```console
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.9/psp_linux > $HOME/.local/bin/psp
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.1.0/psp_linux > $HOME/.local/bin/psp
chmod +x $HOME/.local/bin/psp
```

### MacOS

```console
sudo su -
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.9/psp_macos > /usr/bin/psp
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.1.0/psp_macos > /usr/bin/psp
chmod +x /usr/bin/psp
```

### Packages

If you want install OS package, follow instructions for your Operating System:

For **Debian/Ubuntu**:

```console
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.0.9/psp.deb
curl -L https://github.com/MatteoGuadrini/psp/releases/download/v0.1.0/psp.deb
sudo dpkg -i psp.deb
```

For **Fedora/Mageia/OpenSuse**:

```console
sudo rpm -i https://github.com/MatteoGuadrini/psp/releases/download/v0.0.9/psp.rpm
sudo rpm -i https://github.com/MatteoGuadrini/psp/releases/download/v0.1.0/psp.rpm
```

### Compile as your own
Expand All @@ -168,23 +180,6 @@ git clone https://github.com/MatteoGuadrini/psp.git
cd psp && cargo build --release && sudo cp -var target/release/psp /usr/bin/psp
```

## Features

- [x] Scaffolding file and folder structures for your Python project
- [x] Prepare git and gitignore
- [x] Prepare unit test files (also with pytest)
- [x] Prepare virtual environment
- [x] Install dependencies
- [x] Prepare pyproject.toml
- [x] Prepare CI configuration files
- [x] Prepare Github/Gitlab files
- [x] Prepare tox environment
- [x] Prepare docs folder for sphinx/mkdocs documentation
- [x] Prepare README, LICENSE, CONTRIBUTING, CODE_OF_CONDUCT and CHANGES files
- [ ] Add build and deploy dependencies to distribute package
- [ ] Add Dockerfile for your project
- [ ] Add _quick_, _simple_ and _full_ argument for rapid configuration

## Open source
_psp_ is an open source project. Any contribute, It's welcome.

Expand Down
Loading

0 comments on commit c8b194f

Please sign in to comment.