Wrote better README.
This commit is contained in:
parent
30ec739e8a
commit
167585265e
66
README.md
66
README.md
@ -1,3 +1,67 @@
|
||||
# core_daemon
|
||||
|
||||
My attempt of creating python daemon handler.
|
||||
My attempt of creating python daemon handler.
|
||||
This was written with Python 3.11
|
||||
|
||||
## Features
|
||||
|
||||
- Core daemon that runs continuously and manages modules
|
||||
- Interactive shell for user interaction
|
||||
- Dynamic loading and unloading of modules
|
||||
- Custom command execution from loaded modules
|
||||
- Auto-completion for commands in the shell
|
||||
- Ability to upgrade the core daemon
|
||||
- Modules are loaded from an 'modules' directory
|
||||
|
||||
## Structure
|
||||
|
||||
dynamic-module-manager/
|
||||
├── core_daemon.py
|
||||
├── daemon_cli.py
|
||||
├── modules/
|
||||
│ ├── extra_commands.py
|
||||
│ └── http_service.py
|
||||
└── README.md
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Start the core daemon:
|
||||
|
||||
python3 core_daemon.py
|
||||
|
||||
|
||||
2. In a separate terminal, start the shell:
|
||||
|
||||
python3 shell.py
|
||||
|
||||
## Usage
|
||||
|
||||
Once in the shell, you can use the following commands:
|
||||
|
||||
- `list_available`: List all available modules in the 'modules' directory
|
||||
- `load <module_name>`: Load a module
|
||||
- `unload <module_name>`: Unload a module
|
||||
- `list`: List all currently loaded modules
|
||||
- `upgrade`: Upgrade the core daemon (restarts the daemon in current implementation)
|
||||
- Any custom commands provided by loaded modules
|
||||
|
||||
Use tab completion to see available commands and modules.
|
||||
|
||||
## Creating New Modules
|
||||
|
||||
To create a new module:
|
||||
|
||||
1. Create a new Python file in the 'modules' directory
|
||||
2. Define your module as a class
|
||||
3. Implement at least one of these functions `initialize()`, `shutdown()`, `get_commands()`
|
||||
|
||||
See `modules/extra_commands.py` and `modules/http_service.py` for an example of how to structure a module.
|
||||
|
||||
|
||||
# Todo
|
||||
|
||||
- Maybe add ability to search for modules in directories set by a command
|
||||
|
||||
- Create module to add auth for the cli connections...
|
||||
|
||||
- Add error handling to core_daemon and daemon_cli...
|
||||
|
Loading…
Reference in New Issue
Block a user