OCI Policy Analysis
Analyze OCI IAM policies, compartments, identity domains, groups, users, and dynamic groups from a desktop app, web app, CLI, or MCP server. The tool is read-only: it analyzes data but does not change your tenancy.
Quick start
Choose the path that fits you:
- Desktop: local, single-user visual analysis.
- Web: browser-based access, locally or for a team.
- CLI: scripting, exports, and automation.
- MCP: use OCI policy data with an MCP client.
Easiest: download an application
Download the latest macOS or Windows application from the Releases page. If your operating system asks for approval, allow the downloaded application to run.
Install with pip
You need Python 3.12 or later. Create and activate a virtual environment:
python -m venv .venv
# macOS/Linux
source .venv/bin/activate
# Windows PowerShell
.venv\Scripts\Activate.ps1
Install only the mode you intend to use:
# Desktop application (requires a working Tkinter installation)
python -m pip install oci-policy-analysis
# Browser-based web server
python -m pip install "oci-policy-analysis[web]"
# Command-line interface
python -m pip install oci-policy-analysis
# MCP server
python -m pip install "oci-policy-analysis[mcp]"
Start the selected mode:
oci-policy-analysis-ui # Desktop
oci-policy-analysis-web # Web: open http://127.0.0.1:8000
oci-policy-analysis-cli --help # CLI
oci-policy-analysis-mcp --help # MCP
NOTE: For the desktop app, confirm Tkinter works before starting if needed - one time test:
python -m tkinter
If this fails, collect your python version and then install TK for that version. For example, on Mac:
((.venv) ) agregory@agregory-mac oci-policy-analysis % python -V
Python 3.12.13
((.venv) ) agregory@agregory-mac oci-policy-analysis % python -m tkinter
(fails)
((.venv) ) agregory@agregory-mac oci-policy-analysis % brew install python-tk@3.12
...
==> Installing python-tk@3.12
==> Pouring python-tk@3.12--3.12.14.arm64_tahoe.bottle.tar.gz
...
((.venv) ) agregory@agregory-mac oci-policy-analysis % python -m tkinter
(works)
Choose your data source
You do not have to connect this tool to a live tenancy.
-
Live OCI load: requires an OCI user/API-key profile, session token, instance principal, or resource principal and IAM permissions granted to that principal. Before loading a tenancy, complete Authentication and principals and Permissions required.
-
Offline CIS compliance import: import the directory of OCI CIS Compliance output files instead. This lets you analyze the supplied data without the tool connecting to your tenancy. In the desktop or web app, choose Load Compliance Data; from the CLI, use:
oci-policy-analysis-cli --load-from-compliance /path/to/compliance_csv_output
See the CLI guide for expected files and options.
More help
The full documentation covers mode-specific setup, OCI authentication and permissions, CIS compliance imports, web hosting, CLI and MCP usage, troubleshooting, architecture, and API reference.
License and support
Licensed under UPL-1.0.
This is not an Oracle-supported application. It uses supported OCI Python SDK calls and is designed to request the minimum access needed to read and analyze the selected data.
Metadata
Release files for oci-policy-analysis 6.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oci_policy_analysis-6.5.2.tar.gz | 835.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oci_policy_analysis-6.5.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / oci_policy_analysis-6.5.2.tar.gz
| Download URL | oci_policy_analysis-6.5.2.tar.gz |
|---|---|
| Size | 835.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9d1031b8fd06d7b73edb243831f5ef807b2356608ce8228f79d81fa525c8724a
|
|
BLAKE2b-256 checksum How to use checksums |
b2671c76ca6c31f00eab632e3113db6020e1d0d066c99a7831ebd1ad05355d2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / oci_policy_analysis-6.5.2-py3-none-any.whl
| Download URL | oci_policy_analysis-6.5.2-py3-none-any.whl |
|---|---|
| Size | 804.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0433cc0c13bd13093221e83564061f33f1d96c6181a1da948dd058580570aa43
|
|
BLAKE2b-256 checksum How to use checksums |
6fb35ffd0a17eda9e8137aa190e0b1bdb7663451882288ccc585f6b359ea8395
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log