Skip to main content

A Python package to sort and format pyproject.toml

Project description

pypfmt

CI PyPI version codecov Python 3.11+ uv Ruff ty License: MIT

A Python package to sort and format pyproject.toml

Features

  • Fast and modern Python toolchain using Astral's tools (uv, ruff, ty)
  • Type-safe with full type annotations
  • Command-line interface built with Typer
  • Comprehensive documentation with MkDocs — View Docs

Installation

pip install pypfmt

Or using uv (recommended):

uv add pypfmt

Quick Start

import pypfmt

print(pypfmt.__version__)

CLI Usage

# Show version
pypfmt --version

# Say hello
pypfmt hello World

Development

Prerequisites

  • Python 3.11+
  • uv for package management

Setup

git clone https://github.com/bitflight-devops/pyproject-fmt.git
cd pyproject-fmt
uv sync --all-groups

Running Tests

uv run poe test

# With coverage
uv run poe test-cov

# Across all Python versions
uv run poe test-matrix

Code Quality

# Run all checks (lint, format, type-check)
uv run poe verify

# Auto-fix lint and format issues
uv run poe fix

Prek

prek install
prek run --all-files

Documentation

uv run poe docs-serve

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

pypfmt-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

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

pypfmt-0.1.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file pypfmt-0.1.0.tar.gz.

File metadata

  • Download URL: pypfmt-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pypfmt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 009fd50d410b34a7ac56a73548fb784a4c9cc3d1555f9b854de0ce1b819954c3
MD5 f60282b0221823c143cce5660d73ff6b
BLAKE2b-256 a27d65e62df4d7fdcb41a6a3184625dec3e7064bb0ac023019d0aab7921a7391

See more details on using hashes here.

File details

Details for the file pypfmt-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pypfmt-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pypfmt-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19a78262fa2c15ed96e68ef18bcdbcca3167398e3d7d55cb2d6702e9c8703d77
MD5 5b14c44f2c013c888b795a193d56a37a
BLAKE2b-256 0b0f8b5b0fcffd73ad62571f900f568b8b01a0d949e07da0958f13751c60d6fd

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