Metadata-Version: 2.4
Name: ida-hcli
Version: 0.7.4
Summary: HCLI - Hex-Rays CLI Utility
Author-email: Hex-Rays SA <support@hex-rays.com>
License-Expression: MIT
Project-URL: Homepage, https://hex-rays.com/
Project-URL: Repository, https://github.com/HexRaysSA/ida-hcli
Project-URL: Issues, https://github.com/HexRaysSA/ida-hcli/issues
Keywords: ida,ida-pro,reverse-engineering,disassembler,binary-analysis,malware-analysis,security
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click
Requires-Dist: rich
Requires-Dist: rich-click
Requires-Dist: httpx
Requires-Dist: supabase
Requires-Dist: pydantic
Requires-Dist: platformdirs
Requires-Dist: packaging
Requires-Dist: questionary
Requires-Dist: ida-domain>=0.0.1.dev29
Provides-Extra: dev
Requires-Dist: mypy>=1.16.0; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: pre-commit>=4.2.0; extra == "dev"
Requires-Dist: safety>=3.5.2; extra == "dev"
Requires-Dist: python-semantic-release>=10.3.1; extra == "dev"
Requires-Dist: taskipy>=1.14.1; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=7.0.0; extra == "test"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
Requires-Dist: pytest-mock>=3.10.0; extra == "test"
Requires-Dist: pytest-httpx>=0.21.0; extra == "test"
Requires-Dist: pexpect>=4.9.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocs-click>=0.9.0; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.20.0; extra == "docs"
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == "docs"
Requires-Dist: mkdocs-include-markdown-plugin>=7.1.5; extra == "docs"
Requires-Dist: mkdocs-literate-nav>=0.6.2; extra == "docs"
Requires-Dist: pymdown-extensions>=10.15; extra == "docs"
Dynamic: license-file

# IDA HCLI

[![PyPI version](https://badge.fury.io/py/ida-hcli.svg)](https://badge.fury.io/py/ida-hcli)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)


![](docs/assets/screenshot.png)

A modern command-line interface for managing IDA Pro licenses, downloads, ...

# Documentation

See [https://hcli.docs.hex-rays.com/](https://hcli.docs.hex-rays.com/)

## Contributing

HCLI is under heavy active development by our team. We are not accepting external contributions at this time due to:

- Rapid development and frequent breaking changes
- Tight integration requirements with our proprietary IDA Pro workflows
- Internal roadmap priorities and architectural decisions

However feel free to report bugs or suggest features via Issues

For our internal team, please see our [Contributing Guidelines](CONTRIBUTING.md) for development setup and workflow.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Issues and Support

- **Bug Reports & Feature Requests**: [GitHub Issues](https://github.com/HexRaysSA/ida-hcli/issues)
- **Questions & Discussions**: [Discussions](https://community.hex-rays.com/)
- **Documentation**: Auto-generated from source code at build time
- **Commercial Support**: Contact support@hex-rays.com
- **Hex-Rays Website**: [hex-rays.com](https://hex-rays.com/)

## Development

### Prerequisites

- Python 3.10 or higher
- [uv](https://docs.astral.sh/uv/) package manager

### Setup

```bash
# Clone the repository
git clone https://github.com/HexRaysSA/ida-hcli.git
cd ida-hcli

# Install dependencies
uv sync

# Run in development mode
uv run hcli --help
```

### Build System

```bash
# Install with development dependencies
uv sync --extra dev 

# Build package
uv build 

# Run development tools
uv run ruff format
uv run ruff check --fix
uv run ruff check --select I --fix
```

### Documentation

Documentation is **automatically generated** from source code:

```bash
# Build documentation
uv run mkdocs build

# Serve documentation locally
uv run mkdocs serve

# Documentation includes:
# - CLI commands (from Click help text)
# - API reference (from Python docstrings)
# - Usage examples (auto-generated)
```

### Testing

```bash
# Run tests
uv run pytest

# Test CLI commands
uv run hcli whoami
uv run hcli plugin list
```


See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed development guidelines.
