Metadata-Version: 2.1
Name: fast-dev-cli
Version: 0.19.7
Summary: Python project development tool.
Author-Email: Waket Zheng <waketzheng@gmail.com>>
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Classifier: License :: OSI Approved :: MIT License
Project-URL: Homepage, https://github.com/waketzheng/fast-dev-cli
Requires-Python: >=3.10
Requires-Dist: typer-slim<1,>=0.12.3
Requires-Dist: tomli<3,>=2.0.1; python_version < "3.11"
Requires-Dist: emoji>=2.12.1
Requires-Dist: packaging>=20.5
Requires-Dist: coverage>=7.5.1
Requires-Dist: mypy>=1.15.0
Requires-Dist: bumpversion2>=1.4.3
Requires-Dist: pytest>=8.2.0
Provides-Extra: include-optional-dependencies
Requires-Dist: all; extra == "include-optional-dependencies"
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/waketzheng/fast-dev-cli/main/img/logo-teal.png" alt="FastDevCli">
</p>
<p align="center">
    <em>Toolkit for python code lint/test/bump ...</em>
</p>
<p align="center">
<a href="https://pypi.org/project/fast-dev-cli" target="_blank">
    <img src="https://img.shields.io/pypi/pyversions/fast-dev-cli.svg" alt="Supported Python versions">
</a>
<a href="https://pypi.org/project/fast-dev-cli" target="_blank">
    <img src="https://img.shields.io/pypi/v/fast-dev-cli?color=%2334D058&label=pypi%20package" alt="Package version">
</a>
<a href="https://github.com/waketzheng/fast-dev-cli/actions?query=workflow:ci" target="_blank">
    <img src="https://github.com/waketzheng/fast-dev-cli/workflows/ci/badge.svg" alt="GithubActionResult">
</a>
<a href="https://coveralls.io/github/waketzheng/fast-dev-cli?branch=main" target="_blank">
    <img src="https://coveralls.io/repos/github/waketzheng/fast-dev-cli/badge.svg?branch=main" alt="Coverage Status">
</a>
<a href="https://github.com/python/mypy" target="_blank">
    <img src="https://img.shields.io/badge/mypy-100%25-brightgreen.svg" alt="Mypy Coverage">
</a>
<a href="https://github.com/astral-sh/ruff" target="_blank">
    <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff">
</a>
<a href="https://pdm-project.org/en/latest/" target="_blank">
    <img src="https://img.shields.io/badge/pdm-managed-blueviolet" alt="pdm-managed">
</a>
<a href="https://github.com/PyCQA/bandit" target="_blank">
    <img src="https://img.shields.io/badge/security-bandit-orange.svg" alt="security: bandit">
</a>
</p>

---

**Source Code**: <a href="https://github.com/waketzheng/fast-dev-cli" target="_blank">https://github.com/waketzheng/fast-dev-cli</a>

**English** | [中文](./README.zh.md)

## Requirements

Python 3.10+

## Features

- Support poetry/pdm/uv
- Support Windows/MacOS/Linux

## Installation

<div class="termy">

```bash
pip install fast-dev-cli
```
*Will install: fast-dev-cli emoji typer-slim mypy bumpversion2 pytest coverage*

</div>

## Usage

- Lint py code:
```bash
fast lint [/path/to/file-or-directory]
```
- Check only
```bash
fast check
```
- Bump up version in pyproject.toml
```bash
fast bump patch  # 0.1.0 -> 0.1.1
fast bump minor  # 0.1.0 -> 0.2.0
fast bump major  # 0.1.0 -> 1.0.0
fast bump <part> --commit # bump version and run `git commit`
```
- Run unittest and report coverage
```bash
fast test
```
- Install dependencies, support pip/pdm/uv/poetry
```bash
fast deps
```
- Start a fastapi server in development mode
```bash
fast dev
```
- Change register of uv.lock to be pypi.org
```bash
fast pypi
```
*Note: all command support the `--dry` option*

## Use it without installed

```bash
uvx --from fastdevcli-slim fast
```

## Install global
```bash
pipx install fastdevcli-slim
```
Or:
```bash
uv tool install fastdevcli-slim
```
