Metadata-Version: 2.4
Name: pkiwatch-py
Version: 0.1.0
Summary: TLS/PKI certificate expiry, policy, and compliance scanner for enterprise endpoints.
Author: Raghava Chellu
License-Expression: MIT
License-File: LICENSE
Keywords: certificate,compliance,mft,pki,security,ssl,tls
Requires-Python: >=3.9
Requires-Dist: cryptography>=42.0.0
Requires-Dist: pydantic>=2.7.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: rich>=13.7.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: build>=1.2.0; extra == 'dev'
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.5.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# pkiwatch-py

`pkiwatch-py` is a production-ready Python library and CLI for TLS/PKI certificate expiry monitoring, certificate inventory, and basic compliance reporting for enterprise endpoints.

## Install

```bash
pip install pkiwatch-py
```

## CLI

```bash
pkiwatch scan google.com
pkiwatch scan google.com --output json
printf "google.com\nexample.com:443\n" > targets.txt
pkiwatch batch targets.txt --output-file cert-report.json
```

## Python API

```python
from pkiwatch import scan_tls_certificate

report = scan_tls_certificate("google.com", warning_days=45)
print(report.days_remaining, report.issuer)
```

## Development

```bash
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check src tests
python -m build
python -m twine check dist/*
```

## Publish

Create a PyPI API token, then:

```bash
python -m twine upload dist/*
```

Use `__token__` as username and the token as password.

## License

MIT

Author: Raghava Chellu

MIT License is freely usable for academic, personal, and commercial projects.
