Skip to main content

Python integration library for ETimeOffice biometric attendance systems

Project description

pyetimeoffice — ETimeOffice Python Integration

Python Version License PyPI version

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.

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature-name
  1. Commit your changes
  2. Push to your branch
  3. 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


Topics

Python, ETimeOffice, attendance API, biometric attendance, Django HRMS integration, attendance synchronization, ERP integration, employee attendance systems.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyetimeoffice-0.1.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyetimeoffice-0.1.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file pyetimeoffice-0.1.1.tar.gz.

File metadata

  • Download URL: pyetimeoffice-0.1.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pyetimeoffice-0.1.1.tar.gz
Algorithm Hash digest
SHA256 659a0d406d8fe696c1f6d89173140becbc09bb3a55a9c2290a7e5237e6ea8120
MD5 622436262d3caa01baafd66726830246
BLAKE2b-256 d36469bdcb06b72a0350b9b36fb99ace9828c940a5f1ca145db2ae19bdb0d693

See more details on using hashes here.

File details

Details for the file pyetimeoffice-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyetimeoffice-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for pyetimeoffice-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 83921dbae59d2870eb033133f6dc7d419759e78a328de5ed0cb41671a08870bf
MD5 66f797d6feac620861a1fcdf236bae59
BLAKE2b-256 0bc182b01abbdc1e1751f92b641255324fbed82d03651d3b3c899b77dadc835a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page