| Name | edf-fusion JSON |
| Version |
1.0.0
JSON |
| download |
| home_page | None |
| Summary | Fusion Framework Library |
| upload_time | 2025-10-13 14:07:12 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.12 |
| license | None |
| keywords |
edf
fusion
framework
library
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# 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 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`) |
Raw data
{
"_id": null,
"home_page": null,
"name": "edf-fusion",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "edf, fusion, framework, library",
"author": null,
"author_email": "CERT-EDF <cert@edf.fr>",
"download_url": null,
"platform": null,
"description": "# Fusion Framework Library\n\n## Introduction\n\nThis framework allows to develop new services based on generic basic blocs. It was created to ease maintainance of a modular ecosystem of cybersecurity services.\n\n> [!TIP]\n> 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.\n\n\n## Structure\n\nThe framework is divided in four modules listed in the following table.\n\n| Module | Description |\n|:---------:|:-------------------------------------------|\n| `client` | Contains classes to build client applications to interact with server applications |\n| `concept` | Contains concepts common to all services |\n| `helper` | Contains helpers to ease implementation of several tasks |\n| `server` | Contains classes to build server applications |\n\n\n## Concept\n\nIn 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.\n\nThere 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.\n\n\n## Server\n\nMost important classes are listed in the following table.\n\n| Class | Description |\n|:---------:|:-------------------------------------------|\n| `FusionAuthBackend` | Subclasses of this class perform authentication against different identity providers |\n| `FusionAuthAPI` | Implements authentication API for the server |\n| `FusionCaseAPI` | Implements case management API for the server |\n| `FusionConstantAPI` | Implements hot-reload config API for the server |\n| `FusionDownloadAPI` | Implements file download API for the server |\n| `FusionEventAPI` | Implements SSE and webhook APIs for the server |\n| `FusionInfoAPI` | Implements server information API |\n\nOther important classes are located in these modules.\n\n| Module | Description |\n|:---------:|:-------------------------------------------|\n| `config` | Configuration classes |\n| `storage` | Data storage classes |\n| `synchronizer` | Synchronizer classes |\n\n\n## Client\n\nMost important classes are listed in the following table.\n\n| Class | Description |\n|:---------:|:-------------------------------------------|\n| `FusionClient` | Provides a generic client to handle communication with server mostly based on `Concept` subclasses |\n| `FusionAuthAPIClient` | Implements client for authentication API |\n| `FusionCaseAPIClient` | Implements client for case management API |\n| `FusionConstantAPIClient` | Implements client for hot-reload config API |\n| `FusionDownloadAPIClient` | Implements client for file download API |\n| `FusionEventAPIClient` | Implements client for SSE and webhook APIs |\n| `FusionInfoAPIClient` | Implements client for information API |\n\n\n## Helper\n\nMost important helpers are listed in the following table.\n\n| Module | Description |\n|:---------:|:-------------------------------------------|\n| `aiohttp` | Implements helpers for `aiohttp` operations across services |\n| `config` | Implements `ConfigError` and `load_ssl_config` helper |\n| `datetime` | Implements `datetime` serialization and deserialization |\n| `filesystem` | Implements helpers for filesystem operations across services |\n| `flock` | Implements file-based asynchronous locking |\n| `logging` | Implements logging helpers |\n| `notifier` | Implements `FusionNotifier` used for webhook notifications |\n| `pubsub` | Implements publisher/subscriber notification queues (best effort) |\n| `serializing` | Implements serialization (`Dumpable`) and deserialization (`Loadable`) |\n| `streaming` | Implements data streaming operations across services |\n| `subprocess` | Implements subprocess operations across services |\n| `timer` | Implements `Timer` |\n| `tracing` | Implements `trace_user_op` used to trace user operations across services |\n| `zip` | Implements archive creation (`create_zip`) and extraction (`extract_zip`) |\n",
"bugtrack_url": null,
"license": null,
"summary": "Fusion Framework Library",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/cert-edf/fusion/issues",
"Homepage": "https://github.com/cert-edf/fusion",
"Repository": "https://github.com/cert-edf/fusion"
},
"split_keywords": [
"edf",
" fusion",
" framework",
" library"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "053cbf241dd779fd25e868b25c064f61f70ff4a4886d2a248efcd3fc3778e114",
"md5": "b231b84a1df709c32820a73ab359f46e",
"sha256": "faeb9440e65c352ec11f3f94e4fb66f55578ef4b437be39a3e9f71f30a36fd82"
},
"downloads": -1,
"filename": "edf_fusion-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b231b84a1df709c32820a73ab359f46e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 49289,
"upload_time": "2025-10-13T14:07:12",
"upload_time_iso_8601": "2025-10-13T14:07:12.478994Z",
"url": "https://files.pythonhosted.org/packages/05/3c/bf241dd779fd25e868b25c064f61f70ff4a4886d2a248efcd3fc3778e114/edf_fusion-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-13 14:07:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cert-edf",
"github_project": "fusion",
"github_not_found": true,
"lcname": "edf-fusion"
}