Metadata-Version: 2.5
Name: arodonata
Version: 2.0.0
Summary: Async-first Python 3.13+ library and SDK for Check Point Security Management and MDSM operations
Project-URL: Homepage, https://github.com/chkp-antonr/arodonata
Project-URL: Repository, https://github.com/chkp-antonr/arodonata
Project-URL: Documentation, https://github.com/chkp-antonr/arodonata/tree/master_v2/docs
Author-email: Anton Razumov <arazumov@checkpoint.com>
License: MIT
Keywords: api,async,checkpoint,management,mcp,mdsm,policy-as-code,security
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking :: Firewalls
Classifier: Topic :: System :: Systems Administration
Classifier: Typing :: Typed
Requires-Python: >=3.13
Requires-Dist: aiohttp>=3.11.0
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: arlogi>=0.1.0
Requires-Dist: jsonschema>=4.23.0
Requires-Dist: opentelemetry-api>=1.28.0
Requires-Dist: pydantic-settings>=2.7.0
Requires-Dist: pydantic>=2.10.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: sqlalchemy[asyncio]>=2.0.36
Requires-Dist: sqlmodel>=0.0.22
Provides-Extra: all
Requires-Dist: arlogi[otel]>=0.1.0; extra == 'all'
Requires-Dist: asyncpg>=0.30.0; extra == 'all'
Requires-Dist: mcp>=1.2.0; extra == 'all'
Requires-Dist: starlette>=0.41.0; extra == 'all'
Requires-Dist: uvicorn>=0.34.0; extra == 'all'
Provides-Extra: mcp
Requires-Dist: mcp>=1.2.0; extra == 'mcp'
Requires-Dist: starlette>=0.41.0; extra == 'mcp'
Requires-Dist: uvicorn>=0.34.0; extra == 'mcp'
Provides-Extra: otel
Requires-Dist: arlogi[otel]>=0.1.0; extra == 'otel'
Provides-Extra: postgres
Requires-Dist: asyncpg>=0.30.0; extra == 'postgres'
Description-Content-Type: text/markdown

# Arodonata v2

Async-first Python 3.13+ library, declarative Policy-as-Code (`CPCRUD`) engine, auditable change report generator, and Model Context Protocol (MCP) server for Check Point Security Management and Multi-Domain Security Management (MDSM).

> **Looking for Arodonata v1 (`1.16.0`)?**
> Legacy v1 remains available in this repository on branch [`master_v1`](https://github.com/chkp-antonr/arodonata/tree/master_v1) and tag [`v1.16.0`](https://github.com/chkp-antonr/arodonata/releases/tag/v1.16.0).

## Installation

### Arodonata v2 (PyPI / Default `master_v2`)

```bash
# Core SDK (SQLite cache included)
uv add arodonata
# or with optional extras (PostgreSQL, MCP server, OpenTelemetry):
uv add "arodonata[all]"
```

### Arodonata v1 (`1.16.0` from Git)

```bash
uv add "arodonata @ git+https://github.com/chkp-antonr/arodonata.git@v1.16.0"
# or track the v1 maintenance branch:
uv add "arodonata @ git+https://github.com/chkp-antonr/arodonata.git@master_v1"
```

## Quick Links

- **Runnable Examples (`examples/`)**: Progressive scripts (`01_basic_queries.py` through `12_mcp_embedded.py`) covering cache queries, search, gateway topology, smart/streaming sync, rulebases, sessions, `SessionOverlay`, CPCRUD, change reports, OpenTelemetry tracing, and embedded FastAPI MCP — see [examples/README.md](examples/README.md) and [examples/README_CRUD.md](examples/README_CRUD.md).
- **Architecture & Engineering Standards**: See [AGENTS.md](AGENTS.md) for Spec-Driven Development (`openspec/`), quality gates, and git workflow rules.

## Running Tests (`./pytest.sh`)

All test execution is unified through `./pytest.sh`:

```bash
# Fast offline unit tests (mandatory pre-PR quality gate; zero network access)
./pytest.sh
./pytest.sh unit

# Live Check Point MDSM/SMS integration buckets (require .env.test, .env.secrets, and .env.lab.<ARODONATA_LAB>)
./pytest.sh int-1      # Bucket 1: Auth, sessions, rate limiter, reads, search, rulebase & change-report reads
./pytest.sh int-2      # Bucket 2: Cache build, streaming sync events, and live CPCRUD (plan/apply/inverse)
./pytest.sh int-3      # Bucket 3: WriteSession overlay, publish, discard, revert, and login throttle recovery
./pytest.sh int-4      # Bucket 4: Multi-domain isolation (Domain4 vs Domain5 vs Global) & cache mode matrix
./pytest.sh int-5      # Bucket 5: Full rebuilds, 120-rule layer pagination, publish matrix, and session reports
./pytest.sh int-6      # Bucket 6: Bounded soak loop (repeated publish -> smart-fast -> revert cycles)
./pytest.sh int-7      # Bucket 7: Live MCP server and tool surface verification
./pytest.sh int-full   # All live integration buckets (b1..b7)
```
