Skip to main content

Fusion Framework Library

Introduction

This framework allows to develop new services based on generic basic blocs. It was created to ease maintainance of a modular ecosystem of cybersecurity services.

[!TIP] This documentation does not aim for completeness but provides some keywords to grep to quickly locate the code which could answer the questions you may have.

Structure

The framework is divided in four modules listed in the following table.

Module Description
client Contains classes to build client applications to interact with server applications
concept Contains concepts common to all services
helper Contains helpers to ease implementation of several tasks
server Contains classes to build server applications

Concept

In Fusion Framework, Concept is the interface for most objects shared between servers and clients. It implements serialization and deserialization methods allowing transparent conversion to and from JSON.

There are many subclasses of Concept, some are defined in this library as they are applicable to most client/server use-cases. Services can also derive Concept class to implement service-specific objects needed to exchange data between server and client.

Server

Most important classes are listed in the following table.

Class Description
FusionAuthBackend Subclasses of this class perform authentication against different identity providers
FusionAuthAPI Implements authentication API for the server
FusionCaseAPI Implements case management API for the server
FusionConstantAPI Implements hot-reload config API for the server
FusionDownloadAPI Implements file download API for the server
FusionEventAPI Implements SSE and webhook APIs for the server
FusionInfoAPI Implements server information API

Other important classes are located in these modules.

Module Description
config Configuration classes
storage Data storage classes
synchronizer Synchronizer classes

Client

Most important classes are listed in the following table.

Class Description
FusionClient Provides a generic client to handle communication with server mostly based on Concept subclasses
FusionAuthAPIClient Implements client for authentication API
FusionCaseAPIClient Implements client for case management API
FusionConstantAPIClient Implements client for hot-reload config API
FusionDownloadAPIClient Implements client for file download API
FusionEventAPIClient Implements client for SSE and webhook APIs
FusionInfoAPIClient Implements client for information API

Helper

Most important helpers are listed in the following table.

Module Description
aiohttp Implements helpers for aiohttp operations across services
config Implements ConfigError and load_ssl_config helper
datetime Implements datetime serialization and deserialization
filesystem Implements helpers for filesystem operations across services
flock Implements file-based asynchronous locking
logging Implements logging helpers
notifier Implements FusionNotifier used for webhook and redis pubsub notifications
pubsub Implements publisher/subscriber notification queues (best effort)
serializing Implements serialization (Dumpable) and deserialization (Loadable)
streaming Implements data streaming operations across services
subprocess Implements subprocess operations across services
timer Implements Timer
zip Implements archive creation (create_zip) and extraction (extract_zip)

Metadata

Release files for edf-fusion 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for edf-fusion 3.0.0
File Interpreter ABI Platform Actions
edf_fusion-3.0.0-py3-none-any.whl Python 3 none any Details for edf_fusion-3.0.0-py3-none-any.whl

Release files / edf_fusion-3.0.0-py3-none-any.whl

Download URL edf_fusion-3.0.0-py3-none-any.whl
Size 49.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2d40194fb466e157f9a83066c8ddb70d8c5f7145a6a1be4dae5658473db5479d
BLAKE2b-256 checksum
How to use checksums
ecb3a9e8c168c03f54067acbcd487dd7651437463a97072dbc9fb5eec4cdcf6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for edf-fusion 3.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page