Skip to content

A minimal python project skeleton containing only whats essential for automated linting, testing, and releases.

License

Notifications You must be signed in to change notification settings

MArpogaus/minimal_python_project_skeleton

Repository files navigation

img img img img img img img img img

img img

Minimal Python Project Skeleton

  1. About The Project
  2. Getting Started
    1. Installation
  3. Contributing
  4. License
  5. Contact
  6. Acknowledgments

About The Project

This folder structure should act as a simple starting point for your next python project.

.
├── .github
│   └── workflows
│       ├── docs.yaml
│       ├── pre-commit.yaml
│       ├── release.yaml
│       └── test.yaml
├── .gitignore
├── .pre-commit-config.yaml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── README.org
├── pyproject.toml
├── src
│   └── minimal_python_project_skeleton
│       └── __init__.py
└── test
    └── test_func.py

6 directories, 14 files

It contains just the minimum to get you started with a ready configured GitHub actions for automated linting, testing, documenting and releasing on PiPy.

Getting Started

Use this template directly to create a new GitHub repository or just clone the repository to your desired destination and start working on your new project.

I have marked all the relevant parts that you might want to adjust.

.github/workflows/release.yaml:      url: https://pypi.org/p/minimal-python-project-skeleton  # TODO: Replace with your PyPI project name
.github/workflows/release.yaml:      url: https://test.pypi.org/p/minimal-python-project-skeleton  # TODO: Replace with your TestPyPI project name
pyproject.toml:dependencies = []  # TODO: Add dependencies
pyproject.toml:license = {text = "MIT"}  # TODO: Choose license
pyproject.toml:name = "minimal_python_project_skeleton"  # TODO: Change package name
pyproject.toml:  'minimal_python_project_skeleton[test]',  # TODO: Change package name
pyproject.toml:Changelog = "https://github.com/MArpogaus/minimal_python_project_skeleton/blob/dev/CHANGELOG.md"  # TODO: Change project repo
pyproject.toml:Documentation = "https://marpogaus.github.io/minimal_python_project_skeleton"  # TODO: Change project repo
pyproject.toml:Issues = "https://github.com/MArpogaus/minimal_python_project_skeleton/issues"  # TODO: Change project repo
pyproject.toml:Repository = "https://github.com/MArpogaus/minimal_python_project_skeleton"  # TODO: Change project repo

Pro-Tipp: If you later want to update the template, keep a separate branch (i.e. skeleton) around and cherry-pick the changes you would like to keep for future projects. This way you can also pull the latest version from upstream and checkout the new files you would like to use in your project.

Installation

This package is available on PyPI. You install it using pip:

pip install minimal_python_project_skeleton

Contributing

Any Contributions are greatly appreciated! If you have a question, an issue or would like to contribute, please read our contributing guidelines.

License

Distributed under the MIT License

Contact

Marcel Arpogaus - znepry.necbtnhf@tznvy.pbz (encrypted with ROT13)

Project Link: https://github.com/MArpogaus/python-project-skeleton

Acknowledgments