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
grepto 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.