Metadata-Version: 2.4
Name: ftw-devtools
Version: 0.2.0
Author-email: Fitzz TeXnik Welt <FitzzTeXnikWelt@t-online.de>
Maintainer-email: Fitzz TeXnik Welt <FitzzTeXnikWelt@t-online.de>
License: LGPL-2.1-or-later
Project-URL: Homepage, https://github.com/fitzz-ftw/ftw-devtools
Project-URL: Documentation, https://ftw-devtools.readthedocs.io/
Project-URL: Repository, https://github.com/fitzz-ftw/ftw-devtools.git
Project-URL: Issues, https://github.com/fitzz-ftw/ftw-devtools/issues
Project-URL: Changelog, https://github.com/fitzz-ftw/ftw-devtools/blob/main/CHANGELOG.md
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
Classifier: Programming Language :: Python :: 3
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: Programming Language :: Python :: 3.15
Classifier: Topic :: Security
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: platformdirs
Provides-Extra: doc
Requires-Dist: sphinx<9.0.0; extra == "doc"
Requires-Dist: myst-parser; extra == "doc"
Requires-Dist: sphinx-argparse; extra == "doc"
Requires-Dist: autoclasstoc; extra == "doc"
Requires-Dist: sphinx-nefertiti; extra == "doc"
Requires-Dist: sphinx-copybutton; extra == "doc"
Requires-Dist: sphinx-design; extra == "doc"
Requires-Dist: sphinx-mdinclude; extra == "doc"
Requires-Dist: sphinxcontrib-mermaid; extra == "doc"
Provides-Extra: dev
Requires-Dist: ftw-devtools[doc,lint,test]; extra == "dev"
Requires-Dist: esbonio==0.16.5; extra == "dev"
Provides-Extra: lint
Requires-Dist: ruff; extra == "lint"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: pytest-cov; extra == "test"

# ftw-devtools

**A lightweight Testing Infrastructure Utility for isolated environment sandboxing.**

`ftw-devtools` provides essential tools to manage test environments, specifically designed to protect your host system from side effects during CLI and filesystem-related testing.

## Key Features
* **TestHomeEnvironment**: A robust sandbox that redirects `HOME` and neutralizes `XDG` environment variables to isolate the developer's actual system.
* **Filesystem Orchestration**: Helpers to deploy configuration, data, and cache files into simulated user directories.
* **Doc-Include Integration**: Seamlessly copy test-generated artifacts into your documentation build.
* **Git Shortcuts**: High-level API and CLI tools to streamline common Git workflows and changelog generation.

## CLI Tools
The package includes several command-line utilities:
* `ftwchangelog`: Generates a clean, formatted changelog since the last tag or a specific reference.

## Installation
```bash
pip install ftw-devtools
```

## Usage
The package uses the `fitzzftw.devtools` namespace.

```python
from fitzzftw.devtools.testinfra import TestHomeEnvironment
```
