Skip to main content

Template repository for developing Python packages.

Project description

pypackitup - Python Package Template

Template repository for developing Python packages.

GitHub release (latest SemVer) GitHub tag (latest SemVer) GitHub Workflow Status (with event)

PyPI PyPI PyPI PyPI


Do you like the Python Package Template? Star the repository on GitHub and please consider helping support its ongoing development:


READ THE DOCS HERE!
Detailed documentation can be found at https://pypackitup.wrencode.dev.

 

Table of Contents


About

The Python Package Template is an example for Python package development.

Dependencies

The Python Package Template does not have any third-party dependencies to run the code. It has several development dependencies, which can be seen in the package pyproject.toml.

Toolchain

The below tools and resources are used as part of pypackitup:

  • uv - package management
  • ruff - code linting
  • bandit - code security
  • make - Makefile build automation
  • MkDocs - package documentation
  • python-dotenv - programmatic access to environment variables defined in a .env file
  • pytest - code testing framework
  • GitHub Actions - CI/CD
  • act - GitHub Actions testing

Setup

The below list covers all updates needed in the Python Package Template when using it to create a new Python package:

Configuration

  • pyproject.toml: Update all relevant fields as needed for the new package.

Version Control

  • .gitignore: Add any package-specific files that should not be checked in to version control.
  • .github/ISSUE_TEMPLATE/: Make any package-specific changes to the project issue templates.
  • .github/workflows/python-package.yml: Update the supported Python versions and add any necessary CI/CD steps.

Documentation

  • README.md: Update the README.md with all necessary package documentation.
  • mkdocs.yml: Update the nav section with all necessary pages and their corresponding Markdown files (see below).
  • docs-mkdocs/CNAME: Update the CNAME file with the desired mkdocs documentation GitHub Pages custom domain.
  • docs-mkdocs/extra.css: Add any custom CSS for the mkdocs documentation.
  • docs-mkdocs/extra.js: Add any custom JavaScript for the mkdocs documentation.
  • docs-mkdocs/*.md: Add any necessary Markdown (.md) files for pages in the mkdocs documentation.
  • docs-mkdocs/*.svg/*.png/*.jpg/etc.: Add any necessary images for the mkdocs documentation.

Environment

  • .env: Create a .env file from the provided .env.template file (run cp .env.template .env in the command line) and add any necessary package environment variables.

Code

  • src/pypackitup/: Rename the source code directory to match the project directory and follow the PEP naming conventions for the package.
  • src/pypackitup/__init__.py: Update the package __init__.py with available imports.
  • src/pypackitup/*.py: Add package code.
  • tests/: Add tests for package code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypackitup-1.0.1.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypackitup-1.0.1-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file pypackitup-1.0.1.tar.gz.

File metadata

  • Download URL: pypackitup-1.0.1.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.5

File hashes

Hashes for pypackitup-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1db12f97f1f357e6f478cd96db7a14400b8727ee6f2d72d8c50e92d272876f18
MD5 57ca891dd0055d7514f2145892d16ecd
BLAKE2b-256 6f3ef5651ed73f7268648f7eea98a6f331882b87cca41831650ffd8b9dc1bacb

See more details on using hashes here.

File details

Details for the file pypackitup-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pypackitup-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9df4806c3f7d5e5d072ace41473b27e336ce6b157df64d3b95236e414a3079a6
MD5 953b1514f2813cdf03ed0e0f0e8f1e2a
BLAKE2b-256 79ceb98cfc9c10681a89930acfcb43a668784a2bfdd810d50d0698b2a4ad1a44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page