Skip to main content

Bootstrap Python projects with best-practice development configurations

Project description

fledge-cli

PyPI - Version PyPI - Python Version


fledge-cli is a command-line tool that bootstraps Python projects with best-practice development configurations and tools. It automatically sets up pre-commit hooks, linting configurations, GitHub Actions workflows, and documentation scaffolding to help you get started quickly with a well-configured Python project.

What It Does

Running fledge in your Python project directory will install and configure:

  • Pre-commit hooks - Automatically installed with .pre-commit-config.yaml
  • Git commit/tag signing - Enables GPG signing via git config
  • Linting & formatting configs - .yamllint, .gitlint for code quality
  • GitHub Actions workflows - CI/CD pipelines for publishing docs and releases
  • MkDocs documentation - Basic mkdocs.yaml and docs/index.md structure
  • GitHub Copilot instructions - Project-specific AI assistant guidance
  • Enhanced .gitignore - Common Python ignore patterns
  • Updated pyproject.toml - Additional Hatch build configurations
  • Example test file - Basic import test to get you started
  • Custom sed transformations - Optional user-defined file transformations via ~/.config/fledge/init.sed (using Python regex)

All file names are automatically customized with your project name from pyproject.toml.

Table of Contents

Prerequisites

Before using fledge-cli, ensure your project meets these requirements:

  1. Hatch project structure - Your project should be initialized with hatch new <project-name>
  2. PyPI Trusted Publisher - For the release workflow to work, configure a trusted publisher on PyPI for your repository
  3. GitHub Pages - Enable GitHub Pages in your repository settings and set the source to "GitHub Actions" for automated documentation deployment

Installation

pip install fledge-cli

Usage

Navigate to your Python project directory and run:

fledge

This will install all configuration files and set up your development environment. By default, existing files are not overwritten.

Options

  • -f, --force - Overwrite existing files
  • -C, --chdir <directory> - Change to specified directory before installing

Example:

# Install in current directory, overwriting existing configs
fledge --force

# Install in a different directory
fledge --chdir /path/to/project

Custom Sed Transformations

You can define custom file transformations by creating a sed script at ~/.config/fledge/init.sed. This script will be applied to all .py, .toml, .md, and .txt files in your project using Python regex syntax (not traditional sed syntax).

Example ~/.config/fledge/init.sed:

s/YOUR_NAME/John Doe/g
s/YOUR_EMAIL/john@example.com/g

License

fledge-cli is distributed under the terms of the MIT license.

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

fledge_cli-0.0.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

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

fledge_cli-0.0.1-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file fledge_cli-0.0.1.tar.gz.

File metadata

  • Download URL: fledge_cli-0.0.1.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fledge_cli-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1ac3108bd93164c6454cc7549067796d964e31db4aed91de21ab3249884f1b2f
MD5 ade120501694eddba04609f39e62de4a
BLAKE2b-256 c9f942e7ca95489d3333fa20851df13f89c9979995fb2062dee14daccda92e5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fledge_cli-0.0.1.tar.gz:

Publisher: release.yml on bytehexe/fledge-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fledge_cli-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: fledge_cli-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fledge_cli-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 83bafe09739efde36e8391df80af63ea305403588b90dfcef3b95e4ddb563910
MD5 c7b3a4d503a8bf12f18c96f52067f490
BLAKE2b-256 4c9e532e225b5bc177cf3091fa0186654bf4588229163c83246a776fea99fd20

See more details on using hashes here.

Provenance

The following attestation bundles were made for fledge_cli-0.0.1-py3-none-any.whl:

Publisher: release.yml on bytehexe/fledge-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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