Skip to main content

A library for interacting with Access Control Systems like Genetec or Ccure9k

Project description

Access Control Systems Library

Release Status

A library for interacting with Access Control Systems like Genetec or Ccure9k. This is a work in progress and is not ready for production use.

Currently development is heavily influenced by Ccure9k, but the goal is to abstract the differences between the two systems and provide a common interface for interacting with them.

Features

  • Currently supports Search for Personnel, Clearances, and Credentials in Ccure9k
  • Supports search by custom fields.

Usage

Find a person by name

import acslib

ccure_api = acslib.CcureAPI()
response = ccure_api.personnel.search("Roddy Piper".split())

Find a person by custom field

import acslib
from acslib.ccure.search import PersonnelFilter, FUZZ

ccure_api = acslib.CcureAPI()
search_filter = PersonnelFilter(lookups={"Text1": FUZZ})
response = ccure_api.personnel.search(["PER0892347"], search_filter=search_filter)

Find a Clearance by name

import acslib

ccure_api = acslib.CcureAPI()
response = ccure_api.clearance.search(["suite", "door"])

Find a Clearance by other field

import acslib
from acslib.ccure.search import ClearanceFilter, NFUZZ

# search by ObjectID
ccure_api = acslib.CcureAPI()
search_filter = ClearanceFilter(lookups={"ObjectID": NFUZZ})
response = ccure_api.clearance.search([8897], search_filter=search_filter)

Find all credentials

import acslib

ccure_api = acs.CcureAPI()
response = ccure_api.credential.search()

Find a credential by name

import acslib

# fuzzy search by name
ccure_api = acslib.CcureAPI()
response = ccure_api.credential.search(["charles", "barkley"])

Find a credential by other field

import acslib
from acslib.ccure.search import CredentialFilter, NFUZZ

# search by ObjectID
ccure_api = acslib.CcureAPI()
search_filter = CredentialFilter(lookups={"ObjectID": NFUZZ})
response = ccure_api.credential.search([5001], search_filter=search_filter)

Update a credential

import acslib

# update CardInt1 for the credential with ObjectID 5001
ccure_api = acslib.CcureAPI()
response = ccure_api.credential.update(5001, {"CardInt1": 12345})

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

acslib-0.1.2.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

acslib-0.1.2-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file acslib-0.1.2.tar.gz.

File metadata

  • Download URL: acslib-0.1.2.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for acslib-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2b54aadd7d7b44afe3dc9a573f56111e202138ed006766ca0d4273a0a75ffcd9
MD5 351eaeac8376a801bc9d3b6cbd5c28e5
BLAKE2b-256 f0ceb41eeb29f12d6108c39c52ccfbf7d43828638ef9c8101037442c2ff1748a

See more details on using hashes here.

File details

Details for the file acslib-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: acslib-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for acslib-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8bffabc02536719f83f80373fe2160c4992eb247d93d8adff823863d0b2a8397
MD5 ffe73073491d0e32eee5d4e770197b1e
BLAKE2b-256 cfcd5566a8e3ecbc2faf91368f385d41abf425071f60829f42e9b5464b8368b5

See more details on using hashes here.

Supported by

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