# **π Log Generator 3000 (LG3K)**
<p align="center">
<img src="https://raw.githubusercontent.com/mikl0s/LG3K/main/logo.png" alt="LG3K Logo - AI generated and AI background removal to make it transparent" width="700">
</p>
<h2 align="center">π The ultimate modular log generation tool, designed for modern systems! π</h1>
<p align="center">
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge" alt="License"></a>
<a href="https://github.com/mikl0s/LG3K"><img src="https://img.shields.io/github/stars/mikl0s/LG3K.svg?style=for-the-badge" alt="Stars"></a>
<a href="https://github.com/mikl0s/LG3K/issues"><img src="https://img.shields.io/github/issues/mikl0s/LG3K.svg?style=for-the-badge" alt="Issues"></a>
</p>
<p align="center">
<a href="https://pypi.org/project/lg3k/"><img src="https://img.shields.io/badge/pypi-v0.7.0-blue?style=for-the-badge" alt="PyPI Version"></a>
<a href="https://pypi.org/project/lg3k/"><img src="https://img.shields.io/badge/downloads-0-blue?style=for-the-badge" alt="PyPI Downloads"></a>
<a href="https://pypi.org/project/lg3k/"><img src="https://img.shields.io/badge/python-3.12-blue?style=for-the-badge" alt="Python Versions"></a>
</p>
<p align="center">
<a href="https://black.readthedocs.io/"><img src="https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge" alt="Code Style: Black"></a>
<a href="https://flake8.pycqa.org/"><img src="https://img.shields.io/badge/linter-flake8-blue.svg?style=for-the-badge" alt="Linter: Flake8"></a>
<a href="https://pycqa.github.io/isort/"><img src="https://img.shields.io/badge/imports-isort-white.svg?style=for-the-badge" alt="Imports: isort"></a>
<a href="https://docs.pytest.org/"><img src="https://img.shields.io/badge/tests-pytest-blue.svg?style=for-the-badge" alt="Tests: pytest"></a>
</p>
<p align="center">
<a href="https://github.com/mikl0s/LG3K/commits/main"><img src="https://img.shields.io/github/last-commit/mikl0s/LG3K.svg?style=for-the-badge" alt="Last Commit"></a>
<a href="https://github.com/mikl0s/LG3K"><img src="https://img.shields.io/github/repo-size/mikl0s/LG3K?style=for-the-badge" alt="Repo Size"></a>
<a href="https://github.com/mikl0s/LG3K/tree/main/docs"><img src="https://img.shields.io/badge/docs-sphinx-blue.svg?style=for-the-badge" alt="Documentation"></a>
<a href="https://github.com/mikl0s/LG3K/actions"><img src="https://img.shields.io/codecov/c/github/mikl0s/LG3K?style=for-the-badge" alt="Coverage"></a>
<a href="https://github.com/mikl0s/LG3K/actions"><img src="https://img.shields.io/github/actions/workflow/status/mikl0s/LG3K/ci.yml?style=for-the-badge" alt="CI"></a>
</p>
---
## **Documentation Guides**
### **[Log Generation Guide](docs/log_generation_guide.md)**
Comprehensive guide for generating logs with LG3K:
- Log format specifications
- Module-specific examples
- Error handling patterns
- Progress tracking
- Best practices for log generation
### **[Llama Training How-To](docs/llama_training_howto.md)**
Step-by-step guide for training `llama3.2:3b-instruct-fp16` with LG3K logs:
- Hardware and software requirements
- Environment setup for Windows, macOS, and Ubuntu
- Training data generation
- Model configuration
- Training script implementation
- Monitoring and troubleshooting
- Memory optimization for 8-12GB VRAM GPUs
### **[Developer Guide](docs/developer_guide.md)**
Detailed guide for developers integrating LG3K:
- Configuration file management
- Programmatic usage examples
- Error handling strategies
- Progress tracking implementation
- File cleanup patterns
- Module-specific integrations
- JSON output handling
- LLM format generation
---
## **Installation**
### **From PyPI (Recommended)**
The easiest way to install LG3K is from PyPI:
```bash
pip install lg3k
```
This will install the latest stable version with all required dependencies.
### **From Source (Development)**
For the latest development version or contributing:
```bash
git clone https://github.com/mikl0s/LG3K.git
cd LG3K
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements-dev.txt
pip install -e .
pre-commit install
```
### **Requirements**
- Python (latest stable version)
- Dependencies are automatically installed with pip
- Optional: `rich` package for enhanced display
- Optional: `torch` and `psutil` for GPU-optimized LLM training
---
## **About**
Welcome to **Log Generator 3000**βa fully modular log generation tool designed to simplify testing and monitoring across diverse systems. It supports web servers, APIs, databases, firewalls, and more, with special support for LLM training data generation.
This project was conceptualized, developed, and published entirely on an iPad during a Saturday evening of footballβand yes, the team we were rooting for won! π
Curious about the full story? [Read more here](about_log_generator_v0.1.0.md).
---
## **Contributing**
We believe in the power of community! LG3K becomes more valuable with each new contribution, whether it's adding new log types, improving existing ones, or enhancing the core functionality.
### **Ways to Contribute**
1. **Add New Log Types** π
- Create new modules for different systems
- Enhance existing log formats
- Add more realistic log patterns
2. **Improve Core Features** π οΈ
- Enhance performance
- Add new configuration options
- Improve error handling
3. **Documentation** π
- Improve documentation
- Add examples
- Write tutorials
4. **Testing** π§ͺ
- Add unit tests
- Report bugs
- Suggest improvements
### **Getting Started with Contributing**
1. Fork the repository
2. Create a feature branch (`git checkout -b feature-name`)
3. Set up development environment:
```bash
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
pip install -r requirements-dev.txt # Installs all development dependencies
pip install -e . # Install package in development mode
pre-commit install
```
4. Run tests:
```bash
pytest # Runs tests with coverage report
```
5. Make your changes (the pre-commit hooks will ensure code quality)
6. Write tests if applicable
7. Update documentation if needed
8. Commit your changes (`git commit -m 'Add feature'`)
9. Push to your branch (`git push origin feature-name`)
10. Open a Pull Request
### **Development Guidelines**
- Code is formatted with Black (88 characters line length)
- Imports are sorted with isort
- Code quality is checked with Flake8
- All functions and modules have docstrings
- Changes are covered by tests (when applicable)
---
## **π Project Structure**
```
lg3k/
βββ __init__.py # Package initialization
βββ modules/ # Folder containing all log generation modules
β βββ web_server.py # Module for web server logs
β βββ database.py # Module for database logs
β βββ api.py # Module for API logs
β βββ firewall.py # Module for firewall logs
β βββ nas.py # Module for NAS logs
β βββ os.py # Module for OS logs
β βββ network.py # Module for network logs
β βββ printer.py # Module for printer logs
β βββ smarthome.py # Module for smart home devices and IoT
βββ utils/ # Folder containing utility functions
β βββ config.py # Utilities for configuration handling
β βββ progress.py # Utilities for progress and threading
β βββ timestamp.py # Timestamp generation utilities
```
---
## **β¨ Features**
- **Dynamic Module Loading**: Easily add new log types by creating a module in the `modules/` folder.
- **Scalable and Modular**: Keep your codebase clean and maintainable by separating log logic into distinct files.
- **Docker-Style Progress**: Real-time progress tracking with Docker-like display for each module.
- **Smart Home Support**: Generate logs for IoT devices, ESP32/ESP8266, Zigbee/Z-Wave, and security cameras.
- **High Volume**: Generate up to 1,000,000 log entries per module.
- **Rich UI**: Beautiful, real-time progress bar for generating logs (with fallback to simple mode).
- **Fully Configurable**: Modify the configuration file to control active services, total logs, threading, and more.
- **JSON Output Mode**: Get structured output in JSON format for easy parsing and automation.
- **Configuration Generation**: Generate default configuration files with `--generate-config`.
- **Code Quality**: Enforced by Black, isort, and Flake8 through pre-commit hooks.
- **94% Test Coverage**: Comprehensive test suite ensuring reliability.
- **LLM Training Format**: Generate logs in a format optimized for training Large Language Models.
- **Rich-Free Operation**: Can run without the `rich` package installed using `--simple` or `--llm` options.
- **Graceful Error Handling**: Comprehensive error handling with informative messages.
- **Progress Status**: Real-time status updates for each module (Running, Complete, Error, Cancelled).
- **File Cleanup**: Automatic cleanup of generated files with keep-files option.
- **Module Analysis**: Built-in log analysis capabilities for each module type.
---
## **Getting Started**
### **Prerequisites**
- Python (latest stable version)
- For users:
```bash
pip install -r requirements.txt
```
- For developers:
```bash
pip install -r requirements-dev.txt
pip install -e .
pre-commit install
```
---
### **Quick Start**
1. **Install the package:**
```bash
pip install lg3k
```
2. **Generate logs:**
```bash
lg3k --count 1000 --threads 4
```
3. **Generate logs without rich UI:**
```bash
lg3k --count 1000 --threads 4 --simple
```
4. **Generate logs in LLM format:**
```bash
lg3k --count 1000 --threads 4 --llm-format
```
5. **View help:**
```bash
lg3k --help
```
---
### **Generating Logs for LLM Training**
To generate logs in a format suitable for training Large Language Models:
```bash
lg3k --llm-format
```
This will:
- Generate logs in instruction-tuning format
- Include detailed analysis for each log entry
- Structure data for easy model training
- Support both string and JSON log formats
- Handle errors gracefully with informative messages
For more details, see the [Llama Training How-To](docs/llama_training_howto.md).
---
### **Developer Guide**
Looking to integrate LG3K into your application or AI model? Check out our [Developer Guide](docs/developer_guide.md) for:
- π§ Programmatic usage examples
- π€ AI integration patterns
- π Log format specifications
- β‘ Performance optimization tips
- π§ͺ Integration testing strategies
- π οΈ Configuration file generation
- π JSON output mode usage
- π― Error handling best practices
- π Progress tracking implementation
- π§Ή File cleanup strategies
---
### **Available Modules**
- **Infrastructure**
- `web_server` - Web server access logs
- `database` - Database operations
- `api` - API endpoint logs
- `firewall` - Security events
- `nas` - Storage operations
- `os` - System logs
- `network` - Network traffic
- `printer` - Print jobs
- **Smart Home & IoT**
- Smart home devices (thermostats, lights, sensors)
- ESP32/ESP8266 microcontrollers
- Zigbee/Z-Wave devices
- Security cameras and doorbells
---
## **π Sample Output**
### **Docker-Style Progress Display**
```text
1ff5d2e3: web_server [=========> ] 50.0%
5520ebfb: database [==========] Complete
e9c8c5d6: api [> ] Waiting
7a1b3c4d: smarthome [=======> ] 35.0%
...
```
### **Rich UI (Default Mode)**
```text
[Thread 1] βββββββ 90% (90/100 logs)
[Thread 2] ββββββββββ 100% (100/100 logs) Completed: logs_part2.json
...
```
### **Simple Mode**
```text
Starting log generation for 1000 logs across 10 files.
Thread 1 completed generating ./logs/logs_part1.json
Thread 2 completed generating ./logs/logs_part2.json
...
```
### **JSON Output Mode**
Use the `--json` flag for structured output in a single line (ideal for parsing):
```bash
lg3k --count 1000 --threads 4 --json
```
This outputs a single line of JSON with detailed information (formatted here for readability):
```json
{
"success": true,
"logs_generated": 1000,
"time_taken": 1.23,
"files": ["logs/part1.json", "logs/part2.json"],
"stats": {
"total_files": 2,
"avg_logs_per_file": 500,
"total_size_bytes": 12345
},
"timing": {
"start_time": "2024-03-22T12:34:56.789012",
"duration_seconds": 1.23,
"logs_per_second": 813.0
},
"config": {
"output_directory": "logs",
"file_format": ".json"
}
}
```
In case of errors (also single-line output):
```json
{
"success": false,
"logs_generated": 0,
"time_taken": 0.0,
"files": [],
"error": {
"message": "Error message here",
"type": "ErrorType"
}
}
```
---
## **π License**
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
---
## **π¬ Questions?**
Feel free to open an issue or contact us at `lg3k@dataloes.dk`.
---
## **π Show Your Support**
If you love **Log Generator 3000**, give us a β on GitHub! Spread the word and help others test their systems with ease.
Raw data
{
"_id": null,
"home_page": "https://github.com/mikl0s/LG3K",
"name": "lg3k",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "log generator testing development monitoring",
"author": "Mikkel Georgsen",
"author_email": "lg3k@dataloes.dk",
"download_url": "https://files.pythonhosted.org/packages/16/6c/e6f91712fb22009dba537d615927d7ffad7a75a04b3366890f51d8f0db77/lg3k-0.7.0.tar.gz",
"platform": null,
"description": "# **\ud83c\udf1f Log Generator 3000 (LG3K)**\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/mikl0s/LG3K/main/logo.png\" alt=\"LG3K Logo - AI generated and AI background removal to make it transparent\" width=\"700\">\n</p>\n\n<h2 align=\"center\">\ud83d\ude80 The ultimate modular log generation tool, designed for modern systems! \ud83c\udf0d</h1>\n\n<p align=\"center\">\n <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge\" alt=\"License\"></a>\n <a href=\"https://github.com/mikl0s/LG3K\"><img src=\"https://img.shields.io/github/stars/mikl0s/LG3K.svg?style=for-the-badge\" alt=\"Stars\"></a>\n <a href=\"https://github.com/mikl0s/LG3K/issues\"><img src=\"https://img.shields.io/github/issues/mikl0s/LG3K.svg?style=for-the-badge\" alt=\"Issues\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/lg3k/\"><img src=\"https://img.shields.io/badge/pypi-v0.7.0-blue?style=for-the-badge\" alt=\"PyPI Version\"></a>\n <a href=\"https://pypi.org/project/lg3k/\"><img src=\"https://img.shields.io/badge/downloads-0-blue?style=for-the-badge\" alt=\"PyPI Downloads\"></a>\n <a href=\"https://pypi.org/project/lg3k/\"><img src=\"https://img.shields.io/badge/python-3.12-blue?style=for-the-badge\" alt=\"Python Versions\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://black.readthedocs.io/\"><img src=\"https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge\" alt=\"Code Style: Black\"></a>\n <a href=\"https://flake8.pycqa.org/\"><img src=\"https://img.shields.io/badge/linter-flake8-blue.svg?style=for-the-badge\" alt=\"Linter: Flake8\"></a>\n <a href=\"https://pycqa.github.io/isort/\"><img src=\"https://img.shields.io/badge/imports-isort-white.svg?style=for-the-badge\" alt=\"Imports: isort\"></a>\n <a href=\"https://docs.pytest.org/\"><img src=\"https://img.shields.io/badge/tests-pytest-blue.svg?style=for-the-badge\" alt=\"Tests: pytest\"></a>\n</p>\n\n<p align=\"center\">\n <a href=\"https://github.com/mikl0s/LG3K/commits/main\"><img src=\"https://img.shields.io/github/last-commit/mikl0s/LG3K.svg?style=for-the-badge\" alt=\"Last Commit\"></a>\n <a href=\"https://github.com/mikl0s/LG3K\"><img src=\"https://img.shields.io/github/repo-size/mikl0s/LG3K?style=for-the-badge\" alt=\"Repo Size\"></a>\n <a href=\"https://github.com/mikl0s/LG3K/tree/main/docs\"><img src=\"https://img.shields.io/badge/docs-sphinx-blue.svg?style=for-the-badge\" alt=\"Documentation\"></a>\n <a href=\"https://github.com/mikl0s/LG3K/actions\"><img src=\"https://img.shields.io/codecov/c/github/mikl0s/LG3K?style=for-the-badge\" alt=\"Coverage\"></a>\n <a href=\"https://github.com/mikl0s/LG3K/actions\"><img src=\"https://img.shields.io/github/actions/workflow/status/mikl0s/LG3K/ci.yml?style=for-the-badge\" alt=\"CI\"></a>\n</p>\n\n---\n\n## **Documentation Guides**\n\n### **[Log Generation Guide](docs/log_generation_guide.md)**\nComprehensive guide for generating logs with LG3K:\n- Log format specifications\n- Module-specific examples\n- Error handling patterns\n- Progress tracking\n- Best practices for log generation\n\n### **[Llama Training How-To](docs/llama_training_howto.md)**\nStep-by-step guide for training `llama3.2:3b-instruct-fp16` with LG3K logs:\n- Hardware and software requirements\n- Environment setup for Windows, macOS, and Ubuntu\n- Training data generation\n- Model configuration\n- Training script implementation\n- Monitoring and troubleshooting\n- Memory optimization for 8-12GB VRAM GPUs\n\n### **[Developer Guide](docs/developer_guide.md)**\nDetailed guide for developers integrating LG3K:\n- Configuration file management\n- Programmatic usage examples\n- Error handling strategies\n- Progress tracking implementation\n- File cleanup patterns\n- Module-specific integrations\n- JSON output handling\n- LLM format generation\n\n---\n\n## **Installation**\n\n### **From PyPI (Recommended)**\n\nThe easiest way to install LG3K is from PyPI:\n\n```bash\npip install lg3k\n```\n\nThis will install the latest stable version with all required dependencies.\n\n### **From Source (Development)**\n\nFor the latest development version or contributing:\n\n```bash\ngit clone https://github.com/mikl0s/LG3K.git\ncd LG3K\npython -m venv venv\nsource venv/bin/activate # or `venv\\Scripts\\activate` on Windows\npip install -r requirements-dev.txt\npip install -e .\npre-commit install\n```\n\n### **Requirements**\n\n- Python (latest stable version)\n- Dependencies are automatically installed with pip\n- Optional: `rich` package for enhanced display\n- Optional: `torch` and `psutil` for GPU-optimized LLM training\n\n---\n\n## **About**\n\nWelcome to **Log Generator 3000**\u2014a fully modular log generation tool designed to simplify testing and monitoring across diverse systems. It supports web servers, APIs, databases, firewalls, and more, with special support for LLM training data generation.\n\nThis project was conceptualized, developed, and published entirely on an iPad during a Saturday evening of football\u2014and yes, the team we were rooting for won! \ud83c\udf89\n\nCurious about the full story? [Read more here](about_log_generator_v0.1.0.md).\n\n---\n\n## **Contributing**\n\nWe believe in the power of community! LG3K becomes more valuable with each new contribution, whether it's adding new log types, improving existing ones, or enhancing the core functionality.\n\n### **Ways to Contribute**\n\n1. **Add New Log Types** \ud83d\udcdd\n - Create new modules for different systems\n - Enhance existing log formats\n - Add more realistic log patterns\n\n2. **Improve Core Features** \ud83d\udee0\ufe0f\n - Enhance performance\n - Add new configuration options\n - Improve error handling\n\n3. **Documentation** \ud83d\udcda\n - Improve documentation\n - Add examples\n - Write tutorials\n\n4. **Testing** \ud83e\uddea\n - Add unit tests\n - Report bugs\n - Suggest improvements\n\n### **Getting Started with Contributing**\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature-name`)\n3. Set up development environment:\n ```bash\n python -m venv venv\n source venv/bin/activate # or `venv\\Scripts\\activate` on Windows\n pip install -r requirements-dev.txt # Installs all development dependencies\n pip install -e . # Install package in development mode\n pre-commit install\n ```\n4. Run tests:\n ```bash\n pytest # Runs tests with coverage report\n ```\n5. Make your changes (the pre-commit hooks will ensure code quality)\n6. Write tests if applicable\n7. Update documentation if needed\n8. Commit your changes (`git commit -m 'Add feature'`)\n9. Push to your branch (`git push origin feature-name`)\n10. Open a Pull Request\n\n### **Development Guidelines**\n\n- Code is formatted with Black (88 characters line length)\n- Imports are sorted with isort\n- Code quality is checked with Flake8\n- All functions and modules have docstrings\n- Changes are covered by tests (when applicable)\n\n---\n\n## **\ud83d\udcc2 Project Structure**\n\n```\nlg3k/\n\u251c\u2500\u2500 __init__.py # Package initialization\n\u251c\u2500\u2500 modules/ # Folder containing all log generation modules\n\u2502 \u251c\u2500\u2500 web_server.py # Module for web server logs\n\u2502 \u251c\u2500\u2500 database.py # Module for database logs\n\u2502 \u251c\u2500\u2500 api.py # Module for API logs\n\u2502 \u251c\u2500\u2500 firewall.py # Module for firewall logs\n\u2502 \u251c\u2500\u2500 nas.py # Module for NAS logs\n\u2502 \u251c\u2500\u2500 os.py # Module for OS logs\n\u2502 \u251c\u2500\u2500 network.py # Module for network logs\n\u2502 \u251c\u2500\u2500 printer.py # Module for printer logs\n\u2502 \u251c\u2500\u2500 smarthome.py # Module for smart home devices and IoT\n\u251c\u2500\u2500 utils/ # Folder containing utility functions\n\u2502 \u251c\u2500\u2500 config.py # Utilities for configuration handling\n\u2502 \u251c\u2500\u2500 progress.py # Utilities for progress and threading\n\u2502 \u251c\u2500\u2500 timestamp.py # Timestamp generation utilities\n```\n\n---\n\n## **\u2728 Features**\n\n- **Dynamic Module Loading**: Easily add new log types by creating a module in the `modules/` folder.\n- **Scalable and Modular**: Keep your codebase clean and maintainable by separating log logic into distinct files.\n- **Docker-Style Progress**: Real-time progress tracking with Docker-like display for each module.\n- **Smart Home Support**: Generate logs for IoT devices, ESP32/ESP8266, Zigbee/Z-Wave, and security cameras.\n- **High Volume**: Generate up to 1,000,000 log entries per module.\n- **Rich UI**: Beautiful, real-time progress bar for generating logs (with fallback to simple mode).\n- **Fully Configurable**: Modify the configuration file to control active services, total logs, threading, and more.\n- **JSON Output Mode**: Get structured output in JSON format for easy parsing and automation.\n- **Configuration Generation**: Generate default configuration files with `--generate-config`.\n- **Code Quality**: Enforced by Black, isort, and Flake8 through pre-commit hooks.\n- **94% Test Coverage**: Comprehensive test suite ensuring reliability.\n- **LLM Training Format**: Generate logs in a format optimized for training Large Language Models.\n- **Rich-Free Operation**: Can run without the `rich` package installed using `--simple` or `--llm` options.\n- **Graceful Error Handling**: Comprehensive error handling with informative messages.\n- **Progress Status**: Real-time status updates for each module (Running, Complete, Error, Cancelled).\n- **File Cleanup**: Automatic cleanup of generated files with keep-files option.\n- **Module Analysis**: Built-in log analysis capabilities for each module type.\n\n---\n\n## **Getting Started**\n\n### **Prerequisites**\n- Python (latest stable version)\n- For users:\n ```bash\n pip install -r requirements.txt\n ```\n- For developers:\n ```bash\n pip install -r requirements-dev.txt\n pip install -e .\n pre-commit install\n ```\n\n---\n\n### **Quick Start**\n\n1. **Install the package:**\n ```bash\n pip install lg3k\n ```\n\n2. **Generate logs:**\n ```bash\n lg3k --count 1000 --threads 4\n ```\n\n3. **Generate logs without rich UI:**\n ```bash\n lg3k --count 1000 --threads 4 --simple\n ```\n\n4. **Generate logs in LLM format:**\n ```bash\n lg3k --count 1000 --threads 4 --llm-format\n ```\n\n5. **View help:**\n ```bash\n lg3k --help\n ```\n\n---\n\n### **Generating Logs for LLM Training**\n\nTo generate logs in a format suitable for training Large Language Models:\n\n```bash\nlg3k --llm-format\n```\n\nThis will:\n- Generate logs in instruction-tuning format\n- Include detailed analysis for each log entry\n- Structure data for easy model training\n- Support both string and JSON log formats\n- Handle errors gracefully with informative messages\n\nFor more details, see the [Llama Training How-To](docs/llama_training_howto.md).\n\n---\n\n### **Developer Guide**\n\nLooking to integrate LG3K into your application or AI model? Check out our [Developer Guide](docs/developer_guide.md) for:\n\n- \ud83d\udd27 Programmatic usage examples\n- \ud83e\udd16 AI integration patterns\n- \ud83d\udcca Log format specifications\n- \u26a1 Performance optimization tips\n- \ud83e\uddea Integration testing strategies\n- \ud83d\udee0\ufe0f Configuration file generation\n- \ud83d\udccb JSON output mode usage\n- \ud83c\udfaf Error handling best practices\n- \ud83d\udcc8 Progress tracking implementation\n- \ud83e\uddf9 File cleanup strategies\n\n---\n\n### **Available Modules**\n\n- **Infrastructure**\n - `web_server` - Web server access logs\n - `database` - Database operations\n - `api` - API endpoint logs\n - `firewall` - Security events\n - `nas` - Storage operations\n - `os` - System logs\n - `network` - Network traffic\n - `printer` - Print jobs\n\n- **Smart Home & IoT**\n - Smart home devices (thermostats, lights, sensors)\n - ESP32/ESP8266 microcontrollers\n - Zigbee/Z-Wave devices\n - Security cameras and doorbells\n\n---\n\n## **\ud83d\udcca Sample Output**\n\n### **Docker-Style Progress Display**\n\n```text\n1ff5d2e3: web_server [=========> ] 50.0%\n5520ebfb: database [==========] Complete\ne9c8c5d6: api [> ] Waiting\n7a1b3c4d: smarthome [=======> ] 35.0%\n...\n```\n\n### **Rich UI (Default Mode)**\n\n```text\n[Thread 1] \u2588\u2588\u2588\u2588\u2588\u2588\u2589 90% (90/100 logs)\n[Thread 2] \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u258c 100% (100/100 logs) Completed: logs_part2.json\n...\n```\n\n### **Simple Mode**\n```text\nStarting log generation for 1000 logs across 10 files.\nThread 1 completed generating ./logs/logs_part1.json\nThread 2 completed generating ./logs/logs_part2.json\n...\n```\n\n### **JSON Output Mode**\n\nUse the `--json` flag for structured output in a single line (ideal for parsing):\n\n```bash\nlg3k --count 1000 --threads 4 --json\n```\n\nThis outputs a single line of JSON with detailed information (formatted here for readability):\n\n```json\n{\n \"success\": true,\n \"logs_generated\": 1000,\n \"time_taken\": 1.23,\n \"files\": [\"logs/part1.json\", \"logs/part2.json\"],\n \"stats\": {\n \"total_files\": 2,\n \"avg_logs_per_file\": 500,\n \"total_size_bytes\": 12345\n },\n \"timing\": {\n \"start_time\": \"2024-03-22T12:34:56.789012\",\n \"duration_seconds\": 1.23,\n \"logs_per_second\": 813.0\n },\n \"config\": {\n \"output_directory\": \"logs\",\n \"file_format\": \".json\"\n }\n}\n```\n\nIn case of errors (also single-line output):\n```json\n{\n \"success\": false,\n \"logs_generated\": 0,\n \"time_taken\": 0.0,\n \"files\": [],\n \"error\": {\n \"message\": \"Error message here\",\n \"type\": \"ErrorType\"\n }\n}\n```\n\n---\n\n## **\ud83d\udcdc License**\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n## **\ud83d\udcac Questions?**\n\nFeel free to open an issue or contact us at `lg3k@dataloes.dk`.\n\n---\n\n## **\ud83c\udf0c Show Your Support**\n\nIf you love **Log Generator 3000**, give us a \u2b50 on GitHub! Spread the word and help others test their systems with ease.\n",
"bugtrack_url": null,
"license": null,
"summary": "Log Generator 3000 - A modular log generation tool",
"version": "0.7.0",
"project_urls": {
"Homepage": "https://github.com/mikl0s/LG3K"
},
"split_keywords": [
"log",
"generator",
"testing",
"development",
"monitoring"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a8090f27641519b1b5c5e994c3d571e8fb3b2d652e2f9200157d5c2d07925d2b",
"md5": "a199717f5c15f9d6c63d572bf4704f5b",
"sha256": "6a67904fb43e56163093070a54a546265d10bc4c0192feb5e399925c743f476c"
},
"downloads": -1,
"filename": "lg3k-0.7.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a199717f5c15f9d6c63d572bf4704f5b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 25860,
"upload_time": "2024-12-27T22:52:39",
"upload_time_iso_8601": "2024-12-27T22:52:39.267973Z",
"url": "https://files.pythonhosted.org/packages/a8/09/0f27641519b1b5c5e994c3d571e8fb3b2d652e2f9200157d5c2d07925d2b/lg3k-0.7.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "166ce6f91712fb22009dba537d615927d7ffad7a75a04b3366890f51d8f0db77",
"md5": "7eb16e24178e51ac5135774dd990dd34",
"sha256": "2e6b11ebe27d74878b31b96510c7fb1d39e2dc632c40319375eead3c96458ea2"
},
"downloads": -1,
"filename": "lg3k-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "7eb16e24178e51ac5135774dd990dd34",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 26736,
"upload_time": "2024-12-27T22:52:41",
"upload_time_iso_8601": "2024-12-27T22:52:41.648115Z",
"url": "https://files.pythonhosted.org/packages/16/6c/e6f91712fb22009dba537d615927d7ffad7a75a04b3366890f51d8f0db77/lg3k-0.7.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-27 22:52:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mikl0s",
"github_project": "LG3K",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "click",
"specs": [
[
">=",
"8.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"10.0.0"
]
]
},
{
"name": "psutil",
"specs": [
[
">=",
"5.9.0"
]
]
},
{
"name": "torch",
"specs": [
[
">=",
"2.2.0"
]
]
}
],
"lcname": "lg3k"
}