pyetimeoffice — ETimeOffice Python Integration
pyetimeoffice is a Python integration library for ETimeOffice biometric attendance systems and APIs.
It helps developers integrate ETimeOffice attendance devices and punch data into Django HRMS platforms, ERP systems, employee management software, and custom Python applications.
The library provides a simple interface for downloading attendance punch records, handling API responses, normalizing dates and times, and working with attendance data programmatically using HTTP Basic authentication.
Keywords
ETimeOffice API, ETimeOffice integration, biometric attendance integration, attendance API, Django attendance integration, HRMS attendance API, Python attendance library, biometric API integration.
Features
- Fetch punch data with timestamps (
DownloadPunchData) - Fetch punch data with MCID (
DownloadPunchDataMCID) - Fetch combined in/out punch data (
DownloadInOutPunchData) - Normalize API date, time, and datetime fields automatically
- Validate date ranges before API requests
- HTTP Basic authentication support
- Easy integration with Django HRMS and ERP systems
- Lightweight Python API client for ETimeOffice systems
Installation
Install from PyPI:
pip install pyetimeoffice
Or install directly from GitHub:
git clone https://github.com/KSreethul/pyetimeoffice.git
cd pyetimeoffice
pip install .
Editable install during development:
pip install -e .
Requirements
- Python 3.10+
- requests>=2.0
Quick Start
from pyetimeoffice import ETimeOfficeAPI
api = ETimeOfficeAPI(
username="your_username",
password="your_password",
base_url="https://api.etimeoffice.com/api/",
)
# Download punch data
data = api.download_punch_data(
from_date="25/03/2025_00:00",
to_date="25/03/2025_12:22",
emp_code="ALL",
)
# Download punch data with MCID
mcid_data = api.download_punch_data_mcid(
from_date="25/03/2025_00:00",
to_date="25/03/2025_12:22",
)
# Download in/out punch data
in_out = api.download_in_out_punch_data(
from_date="25/03/2025",
to_date="25/03/2025",
emp_code="ALL",
)
print(data)
Example Use Cases
- Django HRMS attendance synchronization
- Employee biometric attendance tracking
- Attendance analytics dashboards
- ERP attendance integrations
- Attendance automation workflows
- Payroll attendance processing
- Biometric attendance monitoring systems
Project Structure
pyetimeoffice/
├── __init__.py
├── biometric.py
See pyetimeoffice/biometric.py for ETimeOffice API integration implementation details.
Building for Distribution
Install build tools:
pip install build
Build package:
python -m build
Artifacts will be generated inside the dist/ directory.
Publishing to PyPI
Upload package using Twine:
pip install twine
twine upload dist/*
Contributing
Contributions are welcome.
- Fork the repository
- Create a feature branch
git checkout -b feature-name
- Commit your changes
- Push to your branch
- Open a Pull Request
License
This project is licensed under LGPL-3.0-only (GNU Lesser General Public License v3.0 only).
See the LICENSE file for more details.
Links
- Homepage: https://github.com/KSreethul/pyetimeoffice
- PyPI: https://pypi.org/project/pyetimeoffice/
- Bug Tracker: https://github.com/KSreethul/pyetimeoffice/issues
- ETimeOffice API: https://api.etimeoffice.com/
Topics
Python, ETimeOffice, attendance API, biometric attendance, Django HRMS integration, attendance synchronization, ERP integration, employee attendance systems.
Metadata
Release files for pyetimeoffice 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyetimeoffice-0.1.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyetimeoffice-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / pyetimeoffice-0.1.1.tar.gz
| Download URL | pyetimeoffice-0.1.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
659a0d406d8fe696c1f6d89173140becbc09bb3a55a9c2290a7e5237e6ea8120
|
|
BLAKE2b-256 checksum How to use checksums |
d36469bdcb06b72a0350b9b36fb99ace9828c940a5f1ca145db2ae19bdb0d693
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / pyetimeoffice-0.1.1-py3-none-any.whl
| Download URL | pyetimeoffice-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
83921dbae59d2870eb033133f6dc7d419759e78a328de5ed0cb41671a08870bf
|
|
BLAKE2b-256 checksum How to use checksums |
0bc182b01abbdc1e1751f92b641255324fbed82d03651d3b3c899b77dadc835a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|