Skip to main content

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})

Metadata

Release files for acslib 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for acslib 0.1.2
File Size Uploaded Provenance Actions
acslib-0.1.2.tar.gz 23.4 kB Without provenance Details for acslib-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for acslib 0.1.2
File Interpreter ABI Platform Actions
acslib-0.1.2-py3-none-any.whl Python 3 none any Details for acslib-0.1.2-py3-none-any.whl

Total release size: 43.5 kB

Release files / acslib-0.1.2.tar.gz

Download URL acslib-0.1.2.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2b54aadd7d7b44afe3dc9a573f56111e202138ed006766ca0d4273a0a75ffcd9
BLAKE2b-256 checksum
How to use checksums
f0ceb41eeb29f12d6108c39c52ccfbf7d43828638ef9c8101037442c2ff1748a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / acslib-0.1.2-py3-none-any.whl

Download URL acslib-0.1.2-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8bffabc02536719f83f80373fe2160c4992eb247d93d8adff823863d0b2a8397
BLAKE2b-256 checksum
How to use checksums
cfcd5566a8e3ecbc2faf91368f385d41abf425071f60829f42e9b5464b8368b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Security for acslib 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page