Lewati ke konten utama

Development Setup

Development Setup

Python 3.11+

Siapkan editable scanner environment yang menyediakan pytest, Ruff, Black, pre-commit, dan packaging tools.

Commandpython -m pip install -e ".[dev]"

Category

Developer Guide

Quick Command

create venv -> install dev tools -> enable hooks

editable installpytestRuffBlackpre-commit

Tujuan

Install active checkout bersama dependency group dev. Runtime-only command pip install -e . tidak meng-install quality tools yang digunakan contributor workflow ini.


Requirements

Requirements

Python 3.11+

Required
Package mendukung Python 3.11 atau lebih baru; Python 3.14 adalah standard development dan container runtime.

pip dan venv

Required
Gunakan isolated interpreter dan lakukan install melalui python -m pip.

Git

Required
Diperlukan untuk source control dan pre-commit hook workflow.

GNU Make

Optional
Menyediakan setup, quality, Docker, dan Compose targets yang konsisten.

Docker

Optional
Hanya diperlukan untuk container dan Compose validation.

Manual Setup

Create and install
bash
python -m venv venv

# Windows PowerShell

venv\Scripts\Activate.ps1

# Linux or macOS

# source venv/bin/activate

python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

Tambahkan extra docs hanya ketika mengerjakan MkDocs source milik repository: python -m pip install -e ".[dev,docs]".


Makefile Setup

Setup helpers
bash
make venv
make upgrade-pip
make install-dev

# Combined environment setup and Git-hook installation

make setup

Make workflow mengharapkan directory konvensional venv/ milik repository.


Pre-Commit Workflow

Scanner hook configuration menjalankan Ruff fixes, Ruff formatting, Black, trailing-whitespace cleanup, dan final-newline correction. Ruff dan Black menggunakan project policy dari pyproject.toml.

Install and run hooks
bash
make pre-commit-install-hooks
make pre-commit-validate
make pre-commit-run-staged
make pre-commit-run

Verify the Environment

Before You Begin

  • Python didukungRequired

    python --version melaporkan supported interpreter.

  • Editable CLI dapat dijalankanRequired

    path-header-scanner --help dimuat dari environment yang dipilih.

  • Quality tools tersediaRequired

    pytest, Ruff, Black, dan pre-commit dapat dijalankan melalui python -m.

  • Scanner safety tetap explicitRequired

    Gunakan preview atau --dry-run terhadap temporary targets sebelum memvalidasi --apply.

Environment check
bash
python --version
python -m pip show path-header-scanner
path-header-scanner --help
python -m pytest --version
python -m ruff --version
python -m black --version
python -m pre_commit --version