Fusion Framework Library
Project description
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 |
tracing |
Implements trace_user_op used to trace user operations across services |
zip |
Implements archive creation (create_zip) and extraction (extract_zip) |
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 Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file edf_fusion-2.1.0-py3-none-any.whl.
File metadata
- Download URL: edf_fusion-2.1.0-py3-none-any.whl
- Upload date:
- Size: 48.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e38e6be2f8a08394269c66d9b0fd1472f708fe86cb3766e927feed03ec87068
|
|
| MD5 |
5b32a39f5c64fe5f607cb3aca7d0f122
|
|
| BLAKE2b-256 |
32f9ca66301b4f0940b3833dc176c1c9d169bcd7e433cc3f5a39366f5160608e
|