HFortix-FortiOS
HFortix-FortiOS is a modern, fully-typed Python SDK for FortiOS/FortiGate automation with complete API coverage.
🚀 Quick Start
pip install hfortix-fortios
from hfortix_fortios import FortiOS
# Connect to your FortiGate
with FortiOS(host="192.168.1.99", token="your-api-token") as fgt:
# Create firewall address
fgt.api.cmdb.firewall.address.post(
name="web-server",
subnet="10.0.1.100/32",
comment="Production web server"
)
# Create firewall policy with simplified syntax
fgt.api.cmdb.firewall.policy.post(
name="Allow-Web-Traffic",
srcintf=["internal"], # Auto-converted to FortiOS format
dstintf=["wan1"],
srcaddr=["all"],
dstaddr=["web-server"],
service=["HTTP", "HTTPS"],
action="accept",
nat="enable"
)
✨ Key Features
- 🎯 Complete API Coverage - 1,348 endpoints across CMDB, Monitor, Log, and Service APIs
- 💪 Fully Typed - Complete type hints with .pyi stubs for excellent IDE support
- ⚡ Modern & Fast - Async/await support with httpx, HTTP/2, connection pooling
- 🛡️ Production Ready - Comprehensive error handling, validation, retry logic, rate limiting
- 🔄 Simplified Syntax - Simple list format auto-converts to FortiOS dict format
- 📦 Batch Transactions - Atomic configuration changes with automatic commit/rollback (v0.5.152+)
- 🔍 API Inspection - Debug and audit API interactions (v0.5.152+)
- 🌐 FortiManager Proxy - Manage multiple FortiGates through FortiManager
📊 API Coverage
FortiOS 7.6.5 - 100% Coverage (1,348 endpoints)
- 561 CMDB endpoints - Configuration database management (100% typed)
- 490 Monitor endpoints - Real-time monitoring and statistics (partial types)
- 286 Log endpoints - Log retrieval and analysis (partial types)
- 11 Service endpoints - Service operations (100% typed)
All endpoints are auto-generated with complete schema coverage.
📚 Documentation
- Full Documentation: https://hfortix-fortios.readthedocs.io
- Quickstart Guide: See QUICKSTART.md
- Examples: See EXAMPLES.md
- API Reference: https://hfortix-fortios.readthedocs.io/en/latest/api-reference/
🔗 Related Packages
This package is part of the HFortix SDK ecosystem:
- hfortix-core - Core HTTP client and utilities
- hfortix - Meta package to install all components
📄 License
Proprietary license. All rights reserved.
🤝 Support
- Issues: https://github.com/hermanwjacobsen/hfortix-fortios/issues
- PyPI: https://pypi.org/project/hfortix-fortios/
Version: 0.5.163
FortiOS Support: 7.6.5
Python: 3.10+
Metadata
Release files for hfortix-fortios 0.5.164
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hfortix_fortios-0.5.164.tar.gz | 7.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hfortix_fortios-0.5.164-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 MB
Release files / hfortix_fortios-0.5.164.tar.gz
| Download URL | hfortix_fortios-0.5.164.tar.gz |
|---|---|
| Size | 7.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9fc8e3e33913e1fc9436dd798ac7a55a85b46c4c204df023845d17c55f7be345
|
|
BLAKE2b-256 checksum How to use checksums |
06d30241f5324b292d1988c0fec8f422289ed491e8433c1fc0f4e4de0a599e46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / hfortix_fortios-0.5.164-py3-none-any.whl
| Download URL | hfortix_fortios-0.5.164-py3-none-any.whl |
|---|---|
| Size | 13.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c87cec2c9cc303a7b744b595b5285f4e526b9d3d9345f436a0988a81ae2ea24b
|
|
BLAKE2b-256 checksum How to use checksums |
0464810b87cb82cb0d2b77effe7c301735f7deb6fa6e11126401f074944e9556
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|