If you’ve worked with biometric attendance systems, you already know the hardest part usually isn’t the device itself — it’s the integration layer.
Different vendors expose different APIs, date formats, authentication methods, and response structures. One of the systems I recently worked with was ETimeOffice, and I wanted a cleaner way to interact with its attendance APIs directly from Python and Django applications.
So I built:
pyetimeoffice
A lightweight Python integration library for working with the ETimeOffice API.
GitHub: https://github.com/KSreethul/pyetimeoffice
PyPI: https://pypi.org/project/pyetimeoffice/
Why I Built It
In HRMS and attendance systems, we often need to:
- Download punch records
- Process in/out attendance logs
- Sync attendance with HRMS platforms
- Handle employee punch data programmatically
- Normalize inconsistent API response formats
While integrating ETimeOffice into Django-based HRMS systems, I noticed the same boilerplate code being repeated everywhere:
- HTTP Basic authentication setup
- Date formatting
- API request handling
- Response parsing
- Datetime normalization
So I wrapped those operations into a reusable Python package.
Features
pyetimeoffice currently supports:
- DownloadPunchData API
- DownloadPunchDataMCID API
- DownloadInOutPunchData API
- Automatic datetime parsing
- Date range validation
- HTTP Basic authentication
- Easy integration with Django applications
Installation
Install directly from PyPI:
pip install pyetimeoffice
Quick Example
from pyetimeoffice import ETimeOfficeAPI
api = ETimeOfficeAPI(
username="your_username",
password="your_password",
base_url="https://api.etimeoffice.com/api/",
)
data = api.download_punch_data(
from_date="25/03/2025_00:00",
to_date="25/03/2025_12:22",
emp_code="ALL",
)
print(data)
Example Use Cases
This library can be useful for:
- Django HRMS integrations
- Attendance synchronization
- Payroll processing systems
- Employee tracking systems
- ERP integrations
- Attendance analytics dashboards
Built for Django & HRMS Workflows
I mainly work with Django-based HRMS and CRM systems, so the library was designed to fit naturally into backend workflows.
Typical integration flow:
- Fetch attendance logs from ETimeOffice
- Normalize punch timestamps
- Map employee codes
- Store records in Django models
- Generate attendance reports
Future Plans
Some features planned for future releases:
- Async API support
- Retry mechanisms
- Pagination helpers
- Webhook/event support
- Better filtering utilities
- Additional biometric vendor integrations
Open Source
The project is fully open source and contributions are welcome.
GitHub Repository:
https://github.com/KSreethul/pyetimeoffice
If you’re working on attendance systems, HRMS platforms, or biometric integrations, I’d love feedback and suggestions.
django #hrms #attendance
United States
NORTH AMERICA
Related News
What Does "Building in Public" Actually Mean in 2026?
19h ago
The Agentic Headless Backend: What Vibe Coders Still Need After the UI Is Done
19h ago
Why I’m Still Learning to Code Even With AI
21h ago
I gave Claude a persistent memory for $0/month using Cloudflare
1d ago
NYT: 'Meta's Embrace of AI Is Making Its Employees Miserable'
1d ago