Skip to main content

Unified Firewall Abstraction laYer for Automation

Project description

UFAYA

Unified Firewall Abstraction laYer for Automation

CI PyPI version Python versions License: MIT

UFAYA is a Python SDK that provides a single, consistent interface for interacting with firewalls from multiple vendors. Instead of writing separate automation scripts for each firewall platform, UFAYA exposes a unified abstraction layer that normalizes firewall operations across different systems.

The design follows the same architectural principle used by tools like NAPALM, which provide a unified API to interact with devices from different vendors through an abstraction layer.

Supported Vendors

Vendor Driver Status
Juniper SRX juniper_srx Read-only ingestion + context-grouped JSON export with live policy hit counts
Palo Alto paloalto Skeleton
Fortinet fortinet Skeleton
Cisco cisco Skeleton

Juniper SRX JSON export

JuniperSRXDriver.export_rules_json(output_dir, mode=...) writes a context-grouped JSON document for parsed security policies.

  • Export modes remain minimal, enriched, and debug.
  • Export payloads now use schema_version: 3.
  • Each exported rule includes a canonical hit_count field.
  • In live mode, UFAYA fetches show security policies hit-count | display xml | no-more and populates hit_count when that operational snapshot is available.
  • In file mode, or when the live hit-count snapshot cannot be collected, rules still include hit_count: null.
  • Live exports that successfully collect hit counts also include a top-level hit_counts_collected_at UTC timestamp.
  • Hit-count parser maintenance notes live in JUNIPER_HIT_COUNTS.md.

Installation

pip install ufaya

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT

Project details


Download files

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

Source Distribution

ufaya-0.5.1.tar.gz (34.5 kB view details)

Uploaded Source

Built Distribution

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

ufaya-0.5.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file ufaya-0.5.1.tar.gz.

File metadata

  • Download URL: ufaya-0.5.1.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ufaya-0.5.1.tar.gz
Algorithm Hash digest
SHA256 2c8f9cfa63b8bb2eaa9c1b588a4dd3f2d919c224d3297a21ae93dd2f8bd2acb4
MD5 b10035deea4eca8156240c997a288ef9
BLAKE2b-256 23dc7c384aa3da070aa2e1474e5cc674b15530bc75ad15059b63c4a6bae0888f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ufaya-0.5.1.tar.gz:

Publisher: publish.yml on A-Khanafer/ufaya

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ufaya-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: ufaya-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ufaya-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6bb628793dd945ccb8b953de5f5d6617cb3bc5fea8352117b48ad22d4acb26f3
MD5 19d3ffd644a4c95f997249b9ec2c69f1
BLAKE2b-256 59ab9906cb25b821cb00f49a8e7edf499d5afbdab3052f5daa199da47f5fe89c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ufaya-0.5.1-py3-none-any.whl:

Publisher: publish.yml on A-Khanafer/ufaya

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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