A comprehensive Python-based toolkit for automating project creation and management for the Data Models class in smartgrids.
IES-Tools is designed to streamline the process of creating working projects tailored for smartgrid data modeling based on provided specifications. The tool serves two main functions:
- Code Generation - Automatically generate code for various components based on specifications
- Data Management - Act as a Content Management System with CRUD operations for existing project specifications
- Generate model definitions for smartgrid components
- Create enumeration types
- Generate XML data for testing
- Produce converter methods for data transformation
- Create importer methods for data import
- Generate server classes for backend implementation
- Generate server enum classes
- View existing project specifications
- Filter specifications based on criteria
- Create new project specifications
- Copy existing specifications to new locations
- Delete project specifications
- Clone the repository:
git clone https://github.com/CoekCx/IES-Tools
cd IES-Tools
- Install the required dependencies:
pip install -r requirements.txt
Run the main application:
python main.py
The main menu offers two primary options:
- Code Generator - Access code generation features
- Data Manager - Access specification management features
- Set Project Specification - Define or load a project specification
- Generate Model Defines - Create model definitions for your project
- Generate Enums - Create enumeration types
- Generate XML data - Generate test data in XML format
- Generate Converter Methods - Create methods to convert between formats
- Generate Importer Methods - Create methods to import data
- Generate Server Classes - Create server-side class implementations
- Generate Server Enum Classes - Create server-side enumeration implementations
- View Project Specifications - List all available specifications
- Filter Project Specifications - Find specifications matching certain criteria
- Create Project Specification - Create a new specification
- Copy Project Specification - Copy an existing specification
- Delete Project Specification - Remove a specification
- code_generator/ - Contains the code generation functionality
- data_manager/ - Contains the specification management system
- common/ - Shared models, utilities, and constants
- data_reader/ - Tools for reading specifications
- prompter/ - User interface components for data input
- inquirer2 - For interactive command-line interfaces
- tabulate - For formatted table output
- termcolor - For colored terminal output
- colorama - For cross-platform colored terminal text
- PIL - For image processing
- pyperclip - For clipboard operations
- tqdm - For progress bar display
This project is licensed under the MIT License - see the LICENSE file for details.
