An open API service indexing awesome lists of open source software.

https://github.com/humblebeeai/module-python-template

This is a template repository for python module projects.
https://github.com/humblebeeai/module-python-template

cicd github-actions lib module package pip pypi pytest python scripts software-engineering template wheel

Last synced: about 2 months ago
JSON representation

This is a template repository for python module projects.

Awesome Lists containing this project

README

          

# Python Module Template (Cookiecutter)

This is a cookiecutter template for python module projects.

## ✨ Features

- Cookiecutter
- Python module/package
- Project Structure
- Boilerplate/Template
- Best Practices
- Configuration
- Test
- Build
- Documentation
- Scripts
- Examples
- CI/CD

---

## 🐤 Getting started

### 1. 🚧 Prerequisites

- Install **Python (>= v3.10)** and **pip (>= 23)**:
- **[RECOMMENDED] [Miniconda (v3)](https://www.anaconda.com/docs/getting-started/miniconda/install)**
- *[arm64/aarch64] [Miniforge (v3)](https://github.com/conda-forge/miniforge)*
- *[Python virtual environment] [venv](https://docs.python.org/3/library/venv.html)*

For **DEVELOPMENT** environment:

- Install [**git**](https://git-scm.com/downloads)
- Setup an [**SSH key**](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh)

### 2. 📥 Download or clone the repository

```sh
# Create projects directory:
mkdir -pv ~/workspaces/projects

# Enter into projects directory:
cd ~/workspaces/projects

# Clone the repository:
git clone [REPOSITORY_URL]
# Or download and extract the repository from GitHub:
# 1. Go to the repository on GitHub.
# 2. Click on the "Code" button.
# 3. Select "Download ZIP" and save the file to your computer.
# 4. Extract the ZIP file in current directory.

# Enter into the repository:
cd module-python-template

# Change to cookiecutter branch:
git checkout cookiecutter
```

### 3. 📦 Install cookiecutter

```bash
# Install cookiecutter:
pip install -r ./requirements.txt
# Install pre-commit hooks:
pre-commit install
```

### 4. 🏗️ Generate project with cookiecutter

```bash
# Generate project:
cookiecutter -f .
# Or:
./scripts/build.sh
```

### 5. 🏁 Start the project

```bash
cd [PROJECT_NAME]
```

👍

---

## 📑 References

- Cookiecutter (GitHub) -
- Cookiecutter (Docs) -