Skip to main content

Modern, fully-typed Python SDK for FortiOS/FortiGate with complete API coverage (1,348 endpoints)

Project description

HFortix-FortiOS

PyPI version Python 3.10+ Documentation Status License Typing: Typed

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

🔗 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


Version: 0.5.163
FortiOS Support: 7.6.5
Python: 3.10+

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hfortix_fortios-0.5.164.tar.gz (7.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hfortix_fortios-0.5.164-py3-none-any.whl (13.4 MB view details)

Uploaded Python 3

File details

Details for the file hfortix_fortios-0.5.164.tar.gz.

File metadata

  • Download URL: hfortix_fortios-0.5.164.tar.gz
  • Upload date:
  • Size: 7.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hfortix_fortios-0.5.164.tar.gz
Algorithm Hash digest
SHA256 9fc8e3e33913e1fc9436dd798ac7a55a85b46c4c204df023845d17c55f7be345
MD5 cd931a20119fb7f8c21112877f06bc95
BLAKE2b-256 06d30241f5324b292d1988c0fec8f422289ed491e8433c1fc0f4e4de0a599e46

See more details on using hashes here.

File details

Details for the file hfortix_fortios-0.5.164-py3-none-any.whl.

File metadata

File hashes

Hashes for hfortix_fortios-0.5.164-py3-none-any.whl
Algorithm Hash digest
SHA256 c87cec2c9cc303a7b744b595b5285f4e526b9d3d9345f436a0988a81ae2ea24b
MD5 69b2534216785211a21f1f43fb1cbfeb
BLAKE2b-256 0464810b87cb82cb0d2b77effe7c301735f7deb6fa6e11126401f074944e9556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page