Metadata-Version: 2.4
Name: tabfix-tool
Version: 1.2.3
Summary: Advanced tool for fixing tab/space indentation with configuration support
Home-page: https://github.com/hairpin01/tabfix
Author: hairpin01
Author-email: hairpin01 <alichka240784@gmail.com>
License: GNU General Public License v3.0
Project-URL: Homepage, https://github.com/hairpin01/tabfix
Project-URL: Documentation, https://github.com/hairpin01/tabfix#readme
Project-URL: Repository, https://github.com/hairpin01/tabfix
Project-URL: Issues, https://github.com/hairpin01/tabfix/issues
Project-URL: Changelog, https://github.com/hairpin01/tabfix/releases
Keywords: indentation,tabs,spaces,code,formatter,git,pre-commit
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Text Processing :: Filters
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tqdm>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Provides-Extra: encoding
Requires-Dist: charset-normalizer>=3.0.0; extra == "encoding"
Provides-Extra: full
Requires-Dist: charset-normalizer>=3.0.0; extra == "full"
Requires-Dist: binaryornot>=0.4.4; extra == "full"
Provides-Extra: unifmt
Requires-Dist: tomli>=1.2.0; python_version < "3.11" and extra == "unifmt"
Requires-Dist: tomli-w>=1.0.0; extra == "unifmt"
Provides-Extra: yaml
Requires-Dist: PyYAML>=6.0; extra == "yaml"
Provides-Extra: config
Requires-Dist: tomli>=1.2.0; python_version < "3.11" and extra == "config"
Requires-Dist: tomli-w>=1.0.0; extra == "config"
Requires-Dist: PyYAML>=6.0; extra == "config"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python


# TabFix Tool
Advanced tool for fixing `tab/space` indentation issues in `code` files.

## Features
- Fix mixed tabs and spaces indentation
- Remove trailing whitespace
- Normalize line endings
- Handle `UTF-8` BOM markers
- Format `JSON` files
- `Git` integration
- Progress bars with tqdm
- Colorful output

## Installation
```shell
# Install from PyPI
pip install tabfix-tool
```
```shell
# Or directly from GitHub
pip install git+https://github.com/hairpin01/tabfix.git
```
or via installer
```shell
curl https://raw.githubusercontent.com/hairpin01/tabfix/refs/heads/main/src/tabfix/installer.py | python3
```
> [!TIP]
> to install the unifmt package, see [optional](https://github.com/hairpin01/tabfix#install-optional-unifmt-or-devencodingfull)


## From source
`git clone https://github.com/hairpin01/tabfix.git
&& cd tabfix
&& pip install -e .
`
## Usage
```
# Basic usage
tabfix file.py
```
```
# Recursive processing
tabfix --recursive src/
```
```
# Fix multiple issues
tabfix --all --progress .
```
```
# Check without modifying
tabfix --check-mixed --recursive .
```

## install optional unifmt or dev/encoding/full
```
pip install tabfix-tool[unifmt] # or {optional}
```
