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.post1.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.post1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fledge_cli-0.0.1.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 8d23b968e197960d3c3e6f5b90870efd4b868c381e509841b01e05b700d48b19
MD5 cde0ed749ee83fe657cd6a2b485db2f7
BLAKE2b-256 2012dd6d9d6334a4879ef731bcd7372a0445a6de8c2151cdffbdbc8d133e115a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fledge_cli-0.0.1.post1.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.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for fledge_cli-0.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 f47e4f419a9fae5c4b1545288d2d681875b2cd32dedac4b7ff440cda255f38cb
MD5 45b6f5649e754f1220d170c1c1807dcb
BLAKE2b-256 ca143fd16ef5bd1bb7ac719dc3b305e8ddeb9218f84b839fe4410aa391e41ffe

See more details on using hashes here.

Provenance

The following attestation bundles were made for fledge_cli-0.0.1.post1-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