Metadata-Version: 2.4
Name: hfortix
Version: 0.5.157
Summary: Type-safe Python SDK for FortiGate firewall automation and FortiOS REST API - 1,348+ endpoints with async support and complete type safety
Author-email: "Herman W. Jacobsen" <herman@wjacobsen.fo>
Maintainer-email: "Herman W. Jacobsen" <herman@wjacobsen.fo>
License: Proprietary
Project-URL: Homepage, https://github.com/hermanwjacobsen/hfortix
Project-URL: Repository, https://github.com/hermanwjacobsen/hfortix
Project-URL: Documentation, https://hfortix.readthedocs.io/
Project-URL: Bug Tracker, https://github.com/hermanwjacobsen/hfortix/issues
Project-URL: Changelog, https://github.com/hermanwjacobsen/hfortix/blob/main/CHANGELOG.md
Project-URL: Source Code, https://github.com/hermanwjacobsen/hfortix
Project-URL: Download, https://pypi.org/project/hfortix/#files
Keywords: fortinet,fortigate,fortios,fortimanager,fortianalyzer,api,sdk,rest-api,automation,network-automation,firewall,security,network-security,typed,type-hints,pydantic,async,asyncio,configuration-management,infrastructure-as-code,iac,network-as-code,network-administration,devops,netops
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Intended Audience :: Information Technology
Classifier: License :: Other/Proprietary License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Networking :: Firewalls
Classifier: Topic :: System :: Networking :: Monitoring
Classifier: Topic :: System :: Systems Administration
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Framework :: AsyncIO
Classifier: Framework :: Pydantic
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: hfortix-core>=0.5.154
Requires-Dist: hfortix-fortios>=0.5.154
Provides-Extra: fortios
Requires-Dist: hfortix-fortios>=0.5.154; extra == "fortios"
Provides-Extra: all
Requires-Dist: hfortix-fortios>=0.5.154; extra == "all"

# HFortix - Fortinet Python SDK

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

> **Meta-package for the HFortix ecosystem** - Convenient installation for Fortinet automation in Python.

## 📦 Package Structure

This is a **meta-package** that provides convenient installation patterns. The actual functionality is in these packages:

| Package           | Repository                                                                 | Description                              |
| ----------------- | -------------------------------------------------------------------------- | ---------------------------------------- |
| **hfortix-core**  | [hfortix-core](https://github.com/hermanwjacobsen/hfortix-core)           | Core HTTP client and shared utilities    |
| **hfortix-fortios** | [hfortix-fortios](https://github.com/hermanwjacobsen/hfortix-fortios) | FortiOS/FortiGate API client (8,000+ endpoints) |

## 🚀 Installation Options

### Everything (Recommended)

```bash
pip install hfortix[all]
```

Installs all current and future Fortinet product packages.

### FortiOS/FortiGate Only

```bash
pip install hfortix[fortios]
```

Installs `hfortix-core` + `hfortix-fortios`.

### Core Only

```bash
pip install hfortix
```

Installs only `hfortix-core` - the shared foundation.

### Individual Packages

```bash
# Install specific packages directly
pip install hfortix-fortios  # Automatically includes hfortix-core
pip install hfortix-core     # Just the core utilities
```

## 💡 Quick Start

```python
from hfortix_fortios import FortiOSClient

# Connect to FortiGate
client = FortiOSClient(
    host="192.168.1.99",
    token="your-api-token"
)

# Get firewall policies
policies = client.api.v2.cmdb.firewall.policy.get()

for policy in policies:
    print(f"Policy {policy.policyid}: {policy.name}")
```

## 📚 Documentation

| Package           | Documentation Link                                                   |
| ----------------- | -------------------------------------------------------------------- |
| **hfortix-fortios** | [FortiOS Documentation](https://github.com/hermanwjacobsen/hfortix-fortios) |
| **hfortix-core**  | [Core API Reference](https://github.com/hermanwjacobsen/hfortix-core) |

## ✨ Features

### Comprehensive Coverage

- 8,000+ FortiOS API endpoints
- Full type hints and IDE autocomplete
- Auto-generated from official FortiOS schemas

### Developer Experience

- Pythonic API design
- Extensive inline documentation
- Type-safe request/response models

### Production Ready

- Transaction support
- Error handling and retries
- Async/await support
- Rate limiting

## 📋 Requirements

- Python 3.10 or higher
- FortiOS 7.0+ (for FortiGate devices)

## 📄 License

MIT License - see [LICENSE](LICENSE) for details.

## 🔗 Related Projects

- [hfortix-core](https://github.com/hermanwjacobsen/hfortix-core) - Core HTTP client
- [hfortix-fortios](https://github.com/hermanwjacobsen/hfortix-fortios) - FortiOS automation

## 💬 Support

- 🐛 [Report Issues](https://github.com/hermanwjacobsen/hfortix-fortios/issues)
- 💬 [Discussions](https://github.com/hermanwjacobsen/hfortix-fortios/discussions)

---

**Author**: Herman W. Jacobsen | [LinkedIn](https://www.linkedin.com/in/hermanwjacobsen/) | [GitHub](https://github.com/hermanwjacobsen)
