Metadata-Version: 2.4
Name: fabric-pytester
Version: 0.1.18
Summary: Pytest fixtures and scenario runner for Microsoft Fabric integration tests.
Project-URL: Homepage, https://github.com/SimonTheBarnett/fabric-pytester
Project-URL: Repository, https://github.com/SimonTheBarnett/fabric-pytester
Project-URL: Issues, https://github.com/SimonTheBarnett/fabric-pytester/issues
Project-URL: Quickstart, https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_QUICKSTART.md
Project-URL: Usage Guide, https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_USAGE_GUIDE.md
Project-URL: Integrations and CI, https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_INTEGRATIONS_AND_CI.md
Project-URL: Examples, https://github.com/SimonTheBarnett/fabric-pytester/tree/main/examples
Author: fabric-pytester contributors
License-Expression: MIT
License-File: LICENSE
Keywords: integration-testing,microsoft-fabric,onelake,pytest
Classifier: Framework :: Pytest
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: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: azure-identity>=1.16
Requires-Dist: azure-storage-file-datalake>=12.14
Requires-Dist: mssql-python>=1.0.0
Requires-Dist: pytest>=8
Requires-Dist: requests>=2.31
Provides-Extra: jdbc
Requires-Dist: jaydebeapi>=1.2; extra == 'jdbc'
Requires-Dist: jpype1>=1.5; extra == 'jdbc'
Provides-Extra: keyvault
Requires-Dist: azure-keyvault-secrets>=4.8; extra == 'keyvault'
Provides-Extra: pyodbc
Requires-Dist: pyodbc>=5; extra == 'pyodbc'
Description-Content-Type: text/markdown

# fabric-pytester

`fabric-pytester` is a pytest plugin and scenario runner for Microsoft Fabric integration tests.

The package is Fabric-first at its center. It provides Fabric job execution, Fabric SQL assertions, OneLake file setup/assertions, variable rendering, retries, cleanup, and a small destination interface for connecting the systems your project depends on.

You can extend the runner with destinations for Dataverse, SQL Server, REST APIs, internal services, or any other setup/assertion surface. Each destination is a small Python object registered under a scenario name, so scenario JSON stays concise while environment-specific logic stays in code.

## Install

```bash
pip install fabric-pytester
```

## Docs

- [README_QUICKSTART.md](https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_QUICKSTART.md): start here for a Fabric plus OneLake scenario.
- [README_USAGE_GUIDE.md](https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_USAGE_GUIDE.md): runner concepts, step naming, and framework extension patterns.
- [README_INTEGRATIONS_AND_CI.md](https://github.com/SimonTheBarnett/fabric-pytester/blob/main/README_INTEGRATIONS_AND_CI.md): Dataverse, SQL, REST, and CI examples.
- [examples](https://github.com/SimonTheBarnett/fabric-pytester/tree/main/examples): copyable destination snippets and a small example project layout.

## Development

```bash
uv sync --dev
uv run pytest
uv run ruff format .
uv run ruff check .
uv run ty check
uv build
```

The package version is controlled in `pyproject.toml`. `fabric_pytester.__version__` is read from installed package metadata.
