Giter Site home page Giter Site logo

mrjdomingus / cookiecutter-modern-pypackage Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fedejaure/cookiecutter-modern-pypackage

0.0 0.0 0.0 1.35 MB

Cookiecutter ๐Ÿช template for a modern Python package ๐Ÿ๐Ÿ“ฆ.

Home Page: https://cookiecutter-modern-pypackage.readthedocs.io

License: MIT License

Python 100.00%

cookiecutter-modern-pypackage's Introduction

Cookiecutter Modern PyPackage ๐Ÿ๐Ÿ“ฆ

GitHub release (latest SemVer) Python Version Tests Read the Docs License

Black pre-commit Contributor Covenant

Cookiecutter ๐Ÿช template for a modern Python package ๐Ÿ๐Ÿ“ฆ.

๐Ÿš€ Features

  • Dependency tracking: ๐Ÿ“ฆ Utilizes Poetry for efficient package management.
  • Testing setup: ๐Ÿงช Includes Pytest for comprehensive and reliable testing.
  • Continuous Integration: ๐Ÿ”„ Github Actions integration for seamless CI testing.
  • Linting: ๐Ÿงน Enhanced code quality with Ruff.
  • Docstring: ๐Ÿ“š Follows the Google Python Style Guide for clear and consistent documentation.
  • Static type checking: ๐Ÿ” Ensured by Mypy.
  • Formatting: โœจ Consistent code formatting with Black and Isort.
  • Security checks: ๐Ÿ” Uses Safety to identify and address known vulnerabilities.
  • Git hooks: ๐ŸŽฃ Managed by pre-commit for streamlined development workflows.
  • Development tasks CLI: ๐Ÿ› ๏ธ All-in-one Python CLI provided by invoke.
  • Multiple Python environments testing: ๐Ÿฅ Supported by Nox.
  • Documentation: ๐Ÿ“– Utilizes Sphinx for clear and comprehensive documentation, ready for Read the Docs.
  • Command line interface: ๐Ÿ’ป Optional integration with Typer.
  • Automated dependency updates: ๐Ÿค– Enabled by Dependabot.
  • Coverage reports: ๐Ÿ“Š Integrated with Codecov.
  • Automated releases: ๐Ÿšข Push a new tag to trigger releases to PyPI and TestPyPI.
  • GitHub community health files (optional):

โšก๏ธ Quickstart

Get started with your modern Python package in just a few steps:

1. Install Cookiecutter

If you haven't installed Cookiecutter yet, make sure to have version 1.4.0 or higher:

pip install -U cookiecutter

2. Generate your Python Package

Run Cookiecutter using the latest release

cookiecutter gh:fedejaure/cookiecutter-modern-pypackage --checkout v3.0.1

3. Set up Your Project

Follow these steps to complete the setup:

  • Create a new GitHub repository and push your generated project there.

  • Install the development requirements into a virtual environment:

    poetry install
  • Install pre-commit hooks:

    poetry run inv install-hooks
  • Configure Codecov repository settings. (Codecov App, CODECOV_TOKEN)

  • Add your repository to your Read the Docs account and enable the Read the Docs service hook.

  • Configure PyPI and TestPyPI tokens. (PYPI_TOKEN, TEST_PYPI_TOKEN)

  • Release your package by pushing a new tag.

Tip

For more details, see the tutorial.

๐Ÿ“ Credits

This cookiecutter was built for learning purpose and inspired by:

cookiecutter-modern-pypackage's People

Contributors

dependabot[bot] avatar fedejaure avatar rserial avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.