The ECiDA-python to make things easier
Project description
ECIDA
The EcidaModule package is a Python module designed to facilitate deployment and communication between components in a distributed system. This package provides various functionalities including Kafka message handling, environment variable checking, and directory management.
How to Use
-
Importing the package
To use the EcidaModule in your Python program, first, you will need to import the EcidaModule class from the package:
from Ecida import EcidaModule
-
Create an ECiDA Module
Define a module with this signature
def create_module() -> EcidaModule: M = EcidaModule("MODULE_NAME", "MODULE_VERSION") # ADD MODULE INPUTS/OUTPUTS HERE ... return M
-
Add inputs and outputs
Use the following syntax for adding input and output to module. You can add as many I/O as required.
# ADD STREAMING INPUT WITH M.add_input("INPUT_NAME", "string") # ADD STREAMING OUTPUT M.add_output("OUTPUT_NAME", "string") # ADD INPUT DIRECTORY FOR FILE USE M.add_input_directory("INPUT_DIRECTORY_NAME") # ADD OUTPUT DIRECTORY FOR FILE USE M.add_output_directory("OUTPUT_DIRECTORY_NAME") # ADD INPUT DIRECTORY PRELOADING FROM GIT FOR FILE USE M.add_input_from_git("INPUT_DIRECTORY_NAME", "GIT_REPOSITORY", "DIRECTORY/PATH/IN/GIT")
-
Entry Point
Use the following boiler-plate as the entry-point to your code.
if __name__ == "__main__": M = create_module() M.initialize() main(M)
and for the main function use the following signature:
def main(M: EcidaModule): #YOUR LOGIC COMES HERE
Example python file
An example template for the modules.
from Ecida import EcidaModule
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def create_module() -> EcidaModule:
M = EcidaModule("MODULE_NAME", "MODULE_VERSION")
# ADD MODULE INPUTS/OUTPUTS HERE
return M
def main(M: EcidaModule):
print(f"START MODULE {M.name}:{M.version}")
# LOGIC COMES HERE
if __name__ == "__main__":
M = create_module()
M.initialize()
main(M)
NOTES
A python file can contain no more than one one module, since the module creation happens through using create_module() function with exact same signature.
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 Distribution
Built Distribution
File details
Details for the file ecida-0.0.23.tar.gz
.
File metadata
- Download URL: ecida-0.0.23.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6b57877401c72e93a56fdda9449599b41b8bf058abd2e6743cd862924cf1ac |
|
MD5 | df4b72aa55eed26301d30e738bbd7873 |
|
BLAKE2b-256 | 11fa5ac88e7e21ae80b4e5d6b989fcc8a839c1bcd51ef07547d3b5dbee527e50 |
File details
Details for the file ecida-0.0.23-py3-none-any.whl
.
File metadata
- Download URL: ecida-0.0.23-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ecf47190226331f5aea05bb04e6c6cb15fe8e76a8bd98f10a444d51c29cf37 |
|
MD5 | 53a229640102f0b5df4a495a22b3da6f |
|
BLAKE2b-256 | 4282e0751f253b2b9488748b3a639df0d551ef06dd13c0630af457b5914e8808 |