Metadata-Version: 2.4
Name: element-project-generator
Version: 0.1.0
Summary: A Small tool for generating automatically and swiftly, making developers easiler in expanding and customing your own project
License-Expression: Apache-2.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file



# Element Project Generator Tools



## Metadata

- **Version**: 1.0.0  
- **Author**: [Trần Phi Hùng (Hung Tran)](https://github.com/tph-kds)  
- **Created**: March 19, 2025  
- **License**: [Apache License](https://github.com/tph-kds/element_project_generator?tab=Apache-2.0-1-ov-file)
- **Repository**: [element_project_generator](https://github.com/tph-kds/element_project_generator)  

---


## Overview
Element Project Generator Tools provide a well-organized setup to help developers efficiently manage project dependencies, configurations, and tool integrations. This structure ensures consistency across development environments and facilitates smooth collaboration.

## Features
- **Automated Project Setup**: Quickly initialize and configure new projects with predefined templates.
- **Dependency Management**: Simplifies handling libraries and frameworks with version control.
- **Configuration Standardization**: Enforces consistent settings across development environments.
- **Tool Integrations**: Seamlessly integrates with popular development tools and CI/CD pipelines.
- **Collaboration Enhancement**: Ensures a uniform development process, reducing conflicts and errors.

## Installation

To install and set up the **Element Project Generator Tools**, follow these steps:

### 1️⃣ Install from PyPI (Recommended)
```sh
pip install element-project-generator
```

### 2️⃣ Clone the Repository (If Using Source Code)
```sh
git clone https://github.com/your-repo/element-project-generator.git
cd element-project-generator
```

### 3️⃣ Install Dependencies (For Source Code Installation)

#### Using `uv` (Recommended if installed)
```sh
uv add -r requirements.txt
# OR  
uv pip install -r requirements.txt  
```

#### Using `pip` (Standard Python Package Installer)
If you don’t have `uv`, use `pip` instead:
```sh
# Create a virtual environment (optional but recommended)
python -m venv venv  
source venv/bin/activate  # On macOS/Linux  
venv\Scripts\activate  # On Windows  

# Install dependencies from requirements.txt  
pip install -r requirements.txt  
```

### 4️⃣ Running the Project
After installation, you can run the project using:
```sh
python -m element_project_generator
```
Or if installed via PyPI:
```sh
element-project-generator
```

### 5️⃣ Uninstalling (If Needed)
If you installed via PyPI:
```sh
pip uninstall element-project-generator
```
If you want to remove the installed dependencies (for source code installation):
```sh
pip uninstall -r requirements.txt -y
```
To delete the virtual environment:
```sh
rm -rf venv  # macOS/Linux  
rd /s /q venv  # Windows  
```





## Usage
Run the following command to generate a new project:

```sh
uv run main.py
```
**[!INFO]** ### More details setup and adjust for your own project
Access a link: [README.md](https://github.com/tph-kds/element_project_generator/blob/main/templates/README.md)


## Project Structure
```
/element-project-generator
│── /templates        # Predefined project templates
            │─── /__init__.py   #Makes the directory a package.
            │── /main.py    #  The main script to execute the project.
            │── /template_proj.py   # Core source file for handling templates
            │── /template.yaml      # Defines the project structure using YAML.
            │── /README.md         # Documentation for the template system.
│── /.gitignore         # Specifies which files/folders Git should ignore.
│── /.python-version         # Defines the Python version for the project.
│── /LICENSE         # Legal information about the project.
│── /main.py         #  The main entry point of the project.
│── /pyprojet.toml         # Configuration file for dependencies and build system.
│── /.README.md         # General documentation for the project.



```

## Contributing
We welcome contributions! To get started:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to the branch (`git push origin feature-branch`).
5. Open a Pull Request.

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Contact
For any questions or feedback, please reach out to `tranphihung8383@gmail.com` or open an issue in the repository.
