Skip to main content

A template for a private Python package

Project description

Public Python Package Template

Using This Template for Your Own Package (e.g., "my_package")

To adapt this template for your new package (let's call it "my_package"):

  1. Copy or Template the Repository:

    • Click the "Use this template" button on GitHub to create a new repository from this template.
  2. Rename the Package Directory:

    • Rename the main package directory in src dir
  3. Update pyproject.toml:

    • [project].name: Change from "public_package_template" to "my_package".
    • [project].urls: Update Homepage and Repository URLs to point to your new repository.
  4. Set up bump version:

    1. Install and authenticate GitHub CLI:
      # Install GitHub CLI (if not already installed)
      # macOS: brew install gh
      # Linux: See https://cli.github.com/
      
      # Authenticate
      gh auth login
      
    2. Create a Personal Access Token:
    3. Add the token to repository secrets:
      gh secret set BUMPVERSION_TOKEN --body "your_generated_token_here"
      
    4. It is recommended to make the main branch protected as every push/merge/commit to it will trigger a bump version.
  5. Set up PyPI

    1. Create PyPI API token:
    2. Add the token to repository secrets:
      gh secret set PYPI_PUBLISH_TOKEN --body "pypi-your_token_here"
      
  6. Verify secrets setup:

    # List all repository secrets
    gh secret list
    
    # Check authentication status
    gh auth status
    
  7. Once you push anything to main, a new tag will be created, built, and published to PyPI

Managing Repository Secrets via CLI

Additional useful commands:

# Set multiple secrets from .env file
gh secret set -f .env

# Delete a secret
gh secret delete SECRET_NAME

# Set organization-level secret
gh secret set SECRET_NAME --org your-org

# Open repository settings in browser
gh browse --settings

Installing Your Published Public Package

Then you can just pip install your package.

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

yid_public_package_template-0.1.15.tar.gz (3.2 kB view details)

Uploaded Source

Built Distribution

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

yid_public_package_template-0.1.15-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file yid_public_package_template-0.1.15.tar.gz.

File metadata

File hashes

Hashes for yid_public_package_template-0.1.15.tar.gz
Algorithm Hash digest
SHA256 49ae8c466951fd4b0102f3625d90f6c0530d8eff750c10ebde2a6c7c299bac80
MD5 8bb958d38e65571c7f80866094bf6868
BLAKE2b-256 46ad7930bf057ca01735557e07c03b84b5bd0483381aa461d16284e6176fdb64

See more details on using hashes here.

File details

Details for the file yid_public_package_template-0.1.15-py3-none-any.whl.

File metadata

File hashes

Hashes for yid_public_package_template-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 2a336b48ede4bb2e6ed90c3432fcaf6f147f77970dc4b749da9e6a323a37f811
MD5 2e05b9c917444d0da4c7f33078278421
BLAKE2b-256 912d451d9aeabe3e5ce198898905b0c4f412c876cd8ee9862fa60ae976d564a9

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