Go to file
2016-06-23 16:31:18 +07:00
docs release app version 0.4 2016-06-23 16:31:18 +07:00
zk minor fix 2016-06-17 14:18:29 +07:00
.gitignore add installer 2016-05-26 23:04:37 +07:00
.travis.yml update test 2016-05-30 09:59:39 +07:00
CHANGELOG.md release app version 0.4 2016-06-23 16:31:18 +07:00
LICENSE add installer 2016-05-26 23:04:37 +07:00
LICENSE.txt add installer 2016-05-26 23:04:37 +07:00
README.md update README 2016-06-23 16:22:13 +07:00
setup.py release app version 0.4 2016-06-23 16:31:18 +07:00
test.py update test 2016-05-30 09:59:39 +07:00

pyzk

pyzk is unofficial library of zksoftware the fingerprint attendance machine.

Installation

Build Status

pip install pyzk

Documentation

Complete documentation can be found at Readthedocs .

Api Usage

Create ZK object and you will ready to call api.

  • Basic Usage
import zk
from zk import const

conn = False
zk = zk.ZK(ip='192.168.1.201', port=4370, timeout=5)
try:
    conn = zk.connect()

    # disable (lock) the device, make sure no activity when process run
    zk.disable_device()

    # Do another task here
    firmware_version = zk.get_firmware_version()
    print 'Firmware Version: : {}'.format(firmware_version)
    users = zk.get_users()
    for user in users:
        privilege = 'User'
        if user.privilege == const.USER_ADMIN:
            privilege = 'Admin'

        print '- UID #{}'.format(user.uid)
        print '  Name       : {}'.format(user.name)
        print '  Privilege  : {}'.format(privilege)
        print '  Password   : {}'.format(user.password)
        print '  Group ID   : {}'.format(user.group_id)
        print '  User  ID   : {}'.format(user.user_id)

    zk.enable_device()
except Exception, e:
    print "Process terminate : {}".format(e)
finally:
    if conn:
        zk.disconnect()

  • Connect/Disconnect
zk.connect()
zk.disconnect()
  • Disable/Enable Connected Device
zk.disable_device()
zk.enable_device()
  • Ger Firmware Version
zk.get_firmware_version()
  • User Operation
# Create user
zk.set_user(uid=1, name='Fanani M. Ihsan', privilege=const.USER_ADMIN, password='12345678', group_id='', user_id='123')
# Get all users (will return list of User object)
users = zk.get_users()
# Delete User
zk.delete_user(uid=1)
  • Attendance Record
# Get attendances (will return list of Attendance object)
attendances = zk.get_attendance()
# Clear attendances record
zk.clear_attendance()
  • Test voice
zk.test_voice()
  • Device Maintenance
# shutdown connected device
zk.power_off()
# restart connected device
zk.restart()

Related Project

  • zkcluster is a django apps to manage multiple fingerprint devices.

  • Driji is an attendance apps based fingerprint for school

Todo

  • Create better documentation
  • Finger template downloader & uploader
  • HTTP Rest api
  • Create real time api (if possible)
  • and much more ...