- **Enhanced Web Framework Support:**
- Added Werkzeug integration for improved Flask compatibility
- Introduced Django REST Framework support for better API development
- FastAPI and Uvicorn support for modern async web applications
- **Expanded Database Integration:**
- Added PostgreSQL support via psycopg2-binary
- Redis integration for caching and quick data access
- Improved SQLAlchemy and MongoDB connectivity
- **Developer Experience:**
- Added comprehensive testing tools (pytest-cov, tox)
- Enhanced CI/CD pipeline with automated PyPI publishing
- Improved package organization with optional dependency groups
- **Optional Modules:**
- Reorganized dependencies into focused groups (web, database, async, ml)
- Machine learning capabilities now available as optional installs
- Reduced base installation footprint
**Installation Options:**
Basic installation:
bash
pip install gatria
Feature-specific installations:
bash
pip install gatria[web] Web framework support
pip install gatria[database] Database integrations
pip install gatria[async] Async capabilities
pip install gatria[ml] Machine learning features
pip install gatria[dev] Development tools
**Quick Start:**
python
from gatria import AttendanceTracker, LeaveManagement
from gatria.web import FlaskAdapter
Initialize with Flask
app = FlaskAdapter()
tracker = AttendanceTracker()
leave_mgmt = LeaveManagement()
Setup routes
app.route('/check-in', methods=['POST'])
def check_in():
return tracker.check_in(employee_id=request.json['employee_id'])
app.route('/request-leave', methods=['POST'])
def request_leave():
return leave_mgmt.request_leave(
employee_id=request.json['employee_id'],
start_date=request.json['start_date'],
end_date=request.json['end_date']
)
**Breaking Changes:**
- None in this release
**Bug Fixes:**
- Fixed dependency conflicts in web framework integrations
- Improved error handling in database adapters
- Resolved async context management issues
**Documentation:**
- Updated installation guides for optional features
- Added more code examples
- Improved API documentation
For complete documentation, visit our [GitHub repository](https://github.com/Canopus-Development/Gatria).
Support
For issues and feature requests, please use our [GitHub Issues](https://github.com/Canopus-Development/Gatria/issues) page.
Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
v1
Gatria is an employee management system designed to streamline HR processes and enhance organizational efficiency. It offers a range of features to manage employee attendance, leave requests, performance evaluations, and integrates with various technologies for a comprehensive solution.
**Key Features:**
- **Attendance Tracking:** Utilize the `AttendanceTracker` module to log employee check-ins and check-outs, ensuring accurate attendance records.
- **Leave Management:** Manage leave requests and approvals with the `LeaveManagement` module, providing a clear workflow for vacation, sick leave, and other absences.
- **Performance Tracking:** Record and assess employee performance through the `PerformanceTracker` module, facilitating feedback and performance improvement plans.
- **Integration Capabilities:** Leverage the `AdapterFactory` to integrate with web frameworks like Flask, databases using SQLAlchemy, asynchronous operations with aiohttp, and machine learning models via scikit-learn.
- **Configurable Settings:** Customize system behavior using the `ConfigManager`, allowing adjustments to suit specific organizational policies and requirements.
**Highlights of This Release:**
- **Enhanced Validation:** Improved error handling with detailed messages for missing or invalid data fields in performance tracking and other modules.
- **Default Configuration Values:** Automated default settings for performance rating boundaries to prevent configuration errors.
- **Updated Example Usage:** Revised `example_usage.py` script demonstrating practical implementation of core features and integrations.
Gatria aims to provide a robust platform for managing essential employee-related functions, integrating seamlessly with existing systems and technologies to adapt to a variety of business needs.