Metadata-Version: 2.4
Name: pyconverters-mistralocr
Version: 1.8.67
Summary: Convert PDF to structured text using MistralOCR
Project-URL: Homepage, https://github.com/oterrier/pyconverters_mistralocr/
Author-email: Olivier Terrier <olivier.terrier@kairntech.com>
License-Expression: MIT
License-File: AUTHORS.md
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: filetype>=1.2.0
Requires-Dist: pylatexenc
Requires-Dist: pymultirole-plugins<1.9.0,>=1.8.0
Requires-Dist: pymupdf>=1.25.0
Requires-Dist: requests
Provides-Extra: dev
Requires-Dist: bump2version; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Provides-Extra: docs
Requires-Dist: lxml-html-clean; extra == 'docs'
Requires-Dist: m2r2; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Requires-Dist: sphinxcontrib-apidoc; extra == 'docs'
Provides-Extra: sbom
Requires-Dist: cyclonedx-bom; extra == 'sbom'
Requires-Dist: pip-audit; extra == 'sbom'
Provides-Extra: test
Requires-Dist: langdetect; extra == 'test'
Requires-Dist: pandas; extra == 'test'
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: ruff; extra == 'test'
Description-Content-Type: text/markdown

# pyconverters_mistralocr

[![license](https://img.shields.io/github/license/oterrier/pyconverters_mistralocr)](https://github.com/oterrier/pyconverters_mistralocr/blob/master/LICENSE)
[![tests](https://github.com/oterrier/pyconverters_mistralocr/workflows/tests/badge.svg)](https://github.com/oterrier/pyconverters_mistralocr/actions?query=workflow%3Atests)
[![codecov](https://img.shields.io/codecov/c/github/oterrier/pyconverters_mistralocr)](https://codecov.io/gh/oterrier/pyconverters_mistralocr)
[![docs](https://img.shields.io/readthedocs/pyconverters_mistralocr)](https://pyconverters_mistralocr.readthedocs.io)
[![version](https://img.shields.io/pypi/v/pyconverters_mistralocr)](https://pypi.org/project/pyconverters_mistralocr/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyconverters_mistralocr)](https://pypi.org/project/pyconverters_mistralocr/)

Convert PDF to structured text using [MistralOCR](https://github.com/kermitt2/mistralocr)

## Installation

You can simply `pip install pyconverters_mistralocr`.

## Developing

### Pre-requesites

You will need to install `flit` (for building the package) and `tox` (for orchestrating testing and documentation building):

```
python3 -m pip install flit tox
```

Clone the repository:

```
git clone https://github.com/oterrier/pyconverters_mistralocr
```

### Running the test suite

You can run the full test suite against all supported versions of Python (3.8) with:

```
tox
```

### Building the documentation

You can build the HTML documentation with:

```
tox -e docs
```

The built documentation is available at `docs/_build/index.html.

## SBOM & vulnerability check

Install the SBOM dependencies:

```
uv sync --extra sbom
```

Generate a CycloneDX SBOM from the current environment:

```
uv run cyclonedx-py environment -o sbom.cdx.json --output-format json
```

Audit dependencies for known vulnerabilities:

```
uv run pip-audit --format json --output audit-report.json
```

To fail on any known vulnerability (useful in CI):

```
uv run pip-audit --strict
```
