Skip to main content

ETimeOffice biometric Python integration library

Project description

pyetimeoffice

Python Version License

pyetimeoffice is a Python library that provides an easy interface to the ETimeOffice API: download punch records, normalize dates and times from API responses, and work with attendance data programmatically via HTTP Basic authentication.


Features

  • Fetch punch data with timestamps (DownloadPunchData).
  • Fetch punch data with MCID (DownloadPunchDataMCID).
  • Fetch combined in/out punch data (DownloadInOutPunchData).
  • Validates date ranges and converts response fields to datetime, date, and time where applicable.
  • Works with ETimeOffice using HTTP Basic authentication.

Installation

Install via pip (when published):

pip install pyetimeoffice

Or clone the repository and install locally:

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

Usage

from pyetimeoffice import ETimeOfficeAPI

api = ETimeOfficeAPI(
    username="...",
    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",
)

mcid_data = api.download_punch_data_mcid(
    from_date="25/03/2025_00:00",
    to_date="25/03/2025_12:22",
)

in_out = api.download_in_out_punch_data(
    from_date="25/03/2025",
    to_date="25/03/2025",
    emp_code="ALL",
)

See pyetimeoffice/biometric.py for implementation details.


Building for distribution

pip install build
python -m build

Artifacts are written to dist/.


Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature-name.
  3. Make your changes and commit.
  4. Push to your branch and 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 in this repository or the canonical LGPL v3 text.


Links

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.0.tar.gz (6.9 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.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyetimeoffice-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 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.0.tar.gz
Algorithm Hash digest
SHA256 254e8942ddcccc9d10ccd32c1108fa9ae43adf25108cd3aa1d75860f783c2368
MD5 cb4cb9587b858fb1c8b91cd72a40189e
BLAKE2b-256 50de1eed9f3efecdb17ddeabef6877459c76d9e6fe271b68ea8551540cf3e672

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyetimeoffice-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7b4b5da8ef8b3b56311d64cff7746c4860f76e718c2d3a8ce4f4cbe16e1bb46
MD5 396c39e796e08440f3a1bcbeb1cd24f2
BLAKE2b-256 0a4742f3bba6b74dabaf7fd7bbd52fd95af4e1f618e1d7774f811ef3113b1a9e

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