Skip to main content

Core foundation for HFortix - Fully-typed Fortinet SDK with async support and type safety

Project description

HFortix-Core

PyPI version Python 3.10+ Documentation Status License Typing: Typed

HFortix-Core provides the foundational utilities, protocols, and base classes for the HFortix ecosystem, including HTTP client infrastructure, observability tools, and shared abstractions.

🚀 Quick Start

pip install hfortix-core

Note: This is a foundational library. Most users should install hfortix-fortios or hfortix instead.

from hfortix_core import ObservableHTTPClient, HTTPRequestEvent

# Use the observable HTTP client with event tracking
client = ObservableHTTPClient(base_url="https://api.example.com")

# Subscribe to request events
def log_requests(event: HTTPRequestEvent):
    print(f"{event.method} {event.url} - {event.status_code}")

client.subscribe(log_requests)

# Make requests
response = await client.get("/status")

✨ Key Features

  • 🔌 HTTP Client Infrastructure - Modern async HTTP client with httpx backend
  • 📊 Observability Protocol - Event-driven architecture for monitoring and debugging
  • 🏗️ Base Abstractions - Shared protocols and interfaces for Fortinet API clients
  • ⚡ High Performance - HTTP/2 support, connection pooling, and async/await
  • 🛡️ Production Ready - Comprehensive error handling and validation

📦 What's Included

HTTP Client Infrastructure

  • ObservableHTTPClient - Event-driven HTTP client with observability hooks
  • Connection pooling and HTTP/2 support via httpx
  • Automatic retry logic and error handling
  • Session management and authentication helpers

Observability Protocol

  • Event-based monitoring system
  • Request/response tracking
  • Performance metrics collection
  • Debugging and audit trail support

Base Abstractions

  • Protocol definitions for Fortinet API clients
  • Shared type definitions and models
  • Common utility functions
  • Error handling infrastructure

🔗 Related Packages

📚 Documentation

🤝 Contributing

This is a proprietary library. For support or feature requests, please contact the maintainer.

📄 License

Proprietary License - See LICENSE file for details.


Part of the HFortix ecosystem - Modern Python SDKs for Fortinet automation

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_core-0.5.163.tar.gz (137.0 kB view details)

Uploaded Source

Built Distribution

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

hfortix_core-0.5.163-py3-none-any.whl (150.5 kB view details)

Uploaded Python 3

File details

Details for the file hfortix_core-0.5.163.tar.gz.

File metadata

  • Download URL: hfortix_core-0.5.163.tar.gz
  • Upload date:
  • Size: 137.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hfortix_core-0.5.163.tar.gz
Algorithm Hash digest
SHA256 02b103796d6231f6317bddf689f124a7927b67bd5e22f8af1fa02d0ee5224de7
MD5 bb864406b9f7b6d0562ac67e408808b0
BLAKE2b-256 42637d3fe7efe9aa83d33c22ebe2d16ad15b830905210d277ffa28fdff73242e

See more details on using hashes here.

File details

Details for the file hfortix_core-0.5.163-py3-none-any.whl.

File metadata

  • Download URL: hfortix_core-0.5.163-py3-none-any.whl
  • Upload date:
  • Size: 150.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for hfortix_core-0.5.163-py3-none-any.whl
Algorithm Hash digest
SHA256 f90a1dc5f907a8adc7bed965a18088a737b91d08e9d8c42da072b67d8ee79f3a
MD5 4cac5858f221efae05faad8a1be18555
BLAKE2b-256 2f95f576e8ef9b5543d5a9b4cd4c45d731beaeb081e906e39dada2b0512adc7e

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