PGL Utils
A comprehensive library for Machine Learning, Deep Learning, and Generative AI utilities, designed for PUC and IBMEC post-graduation students.
Features
- Machine Learning (ML): Preprocessing, models, and utilities for classical ML
- Deep Learning: Architectures, training utilities, and pre-trained models
- Generative AI (GenAI): LLM utilities, RAG implementations, and prompt engineering tools
- Institution-specific extensions: Customized tools for PUC and IBMEC students
Installation
Basic Installation
pip install pgl-utils
Installation with specific features
# Machine Learning only
pip install pgl-utils[ml]
# Deep Learning only
pip install pgl-utils[deep_learning]
# Generative AI only
pip install pgl-utils[genai]
# All features
pip install pgl-utils[all]
# Development
pip install pgl-utils[dev]
Installation from source
git clone https://github.com/renansantosmendes/pgl_utils.git
cd pgl_utils
pip install -e .
Quick Start
Using Core Utilities
from pgl_utils import core
# Your code here
Using Machine Learning Tools
from pgl_utils.ml import preprocessing, models
# Your code here
Using Deep Learning Tools
from pgl_utils.deep_learning import draw_neural_network
# Your code here
Using Generative AI Tools
from pgl_utils.genai import llm, rag
# Your code here
Using the PGL Search Gateway
from pgl_utils.genai.search_gateway import PGLSearchGateway
gateway = PGLSearchGateway()
results = gateway.search(
"inteligência artificial generativa",
search_depth="advanced",
include_raw_content=True,
)
Institution-Specific Tools
For PUC Students
from pgl_utils.puc import config
puc_info = config.PUCConfig.get_info()
For IBMEC Students
from pgl_utils.ibmec import config
ibmec_info = config.IBMECConfig.get_info()
Project Structure
pgl_utils/
├── pgl_utils/ # Main package
│ ├── __init__.py
│ ├── core/ # Shared utilities
│ │ ├── __init__.py
│ │ └── utils.py
│ ├── ml/ # Machine Learning module
│ │ ├── __init__.py
│ │ ├── preprocessing.py
│ │ └── models.py
│ ├── deep_learning/ # Deep Learning module
│ │ ├── __init__.py
│ │ ├── architectures.py
│ │ └── training.py
│ ├── genai/ # Generative AI module
│ │ ├── __init__.py
│ │ ├── llm.py
│ │ ├── rag.py
│ │ └── search_gateway.py
│ ├── puc/ # PUC-specific extensions
│ │ ├── __init__.py
│ │ └── config.py
│ └── ibmec/ # IBMEC-specific extensions
│ ├── __init__.py
│ └── config.py
├── tests/ # Unit tests
├── examples/ # Example notebooks and scripts
├── docs/ # Documentation
├── setup.py # Package configuration
├── requirements.txt # Dependencies
├── README.md # This file
└── .gitignore # Git ignore rules
Requirements
- Python >= 3.8
- numpy >= 1.21.0
- pandas >= 1.3.0
- scikit-learn >= 1.0.0
Dependencies by Module
Machine Learning (ML)
- scikit-learn
- xgboost
- lightgbm
Deep Learning
- torch
- tensorflow
- keras
Generative AI (GenAI)
- openai
- langchain
- huggingface-hub
Examples
See the examples/ directory for jupyter notebooks and scripts demonstrating library usage.
Testing
Run tests with pytest:
pytest tests/
With coverage:
pytest tests/ --cov=pgl_utils
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues, questions, or suggestions, please open an issue on GitHub.
Changelog
Version 0.1.0
- Initial release
- Core functionality for ML, Deep Learning, and GenAI
- Institution-specific extensions for PUC and IBMEC
Release files for pgl-utils 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pgl_utils-0.2.0.tar.gz | 84.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pgl_utils-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 135.3 kB
Release files / pgl_utils-0.2.0.tar.gz
| Download URL | pgl_utils-0.2.0.tar.gz |
|---|---|
| Size | 84.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08e40f1b2e3c919bc5f43099ee5b25753cf1e431f41eb3e7e5fd40059a0c3d16
|
|
BLAKE2b-256 checksum How to use checksums |
e3329d25b0878ff39e47ae35e5ad924c845c900e84c6d4f29eb1d5ee28efcf4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / pgl_utils-0.2.0-py3-none-any.whl
| Download URL | pgl_utils-0.2.0-py3-none-any.whl |
|---|---|
| Size | 50.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b4959d699cd35b972135119a0fb28f4286f0afab2dfc5f8885e4c622c149d24
|
|
BLAKE2b-256 checksum How to use checksums |
06f9a31cdef71c4554cba3fa713ded9f9a4ee4ea3e0fa183908b1e7671dcb013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|