Skip to main content

csh-ldap

PyPI version Build Status

Python 3 ORM for CSH LDAP

Installation

pip install csh-ldap

Usage

import csh_ldap

# Create an unbatched instance
instance = csh_ldap.CSHLDAP(bind_dn, bind_pw)

# Create an batched instance
instance_batched = csh_ldap.CSHLDAP(bind_dn, bind_pw, batch_mods=True)

# Create a Read-Only instance that will only echo your changes
instance_ro = csh_ldap.CSHLDAP(bind_dn, bind_pw, ro=True)

# Get member by UUID
liam = instance.get_member(uuid_of_liam)

# Get member by UID
liam = instance.get_member(uid_of_liam, uid=True)

# Get member by iButton ID
liam = instance.get_member_ibutton(ibutton_id)

# Get member by Slack UID
liam = instance.get_member_slackuid(slack_uid)

# Get group by cn
rtp = instance.get_group('rtp')

# get group member uids 
rtp = instance.get_group('rtp').get_member_uids()
# returns ['spaced', ...]

# get group member uids (other way)
rtp = instance.get_group_member_uids(groups=["rtp"])

# get uids of members in two (or more) groups and not in groups
fancy = instance.get_group_member_uids(groups=["rtp", "onfloor"], excluded=["eboard-opcomm"])

# get uuids of members in two (or more) groups and not in groups
# that's right! ipaUniqueId
fancy = instance.get_group_member_uuids(groups=["rtp", "onfloor"], excluded=["eboard-opcomm"])

# get other miscellaneous attributes of members in group
# look how rich drink admins are (admin abuse!!!)
admin_abuse = instance.get_group_member_attributes(group=["drink"], attributes=["uid", "drinkBalance"])
# returns dicts for each member
"""
I wonder what happened here
[
{
    'uid': 'cole',
    'drinkBalance': '996246'
},
{
    'uid': 'zxcv',
    'drinkBalance': '3847173'
}
]
"""

# Get cn of member
print(liam.cn)

# Set cn of member
liam.cn = "Liam Middlebrook"

# Setting attributes to None removes them
liam.roomNumber = None

# Process batched writes per-dn
instance_batched.flush_mod()

# Get EBoard Directorship
# Directorships: ['chairman', 'evaluations', 'financial', 'history', 'imps', 'opcomm', 'research', 'social']
social = instance.get_directorship_heads('social')

for director in social:
    # Directorships are always lists, since it can be multiple people.
    print(director.cn)

Download files

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

Source Distribution

csh_ldap-2.5.8.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

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

csh_ldap-2.5.8-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file csh_ldap-2.5.8.tar.gz.

File metadata

  • Download URL: csh_ldap-2.5.8.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for csh_ldap-2.5.8.tar.gz
Algorithm Hash digest
SHA256 587d35b663e46aae5c86f83a10a1904c9e667d34076df15fbe2c378e9eca0997
MD5 075681d6ff56277481d249acfd5d10fd
BLAKE2b-256 fbbf40c3c672c92ceef29d669a1cd63e713a67c701b42b76df7b9ed474025d8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for csh_ldap-2.5.8.tar.gz:

Publisher: pypi-release.yaml on ComputerScienceHouse/csh-ldap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csh_ldap-2.5.8-py3-none-any.whl.

File metadata

  • Download URL: csh_ldap-2.5.8-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for csh_ldap-2.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 dcee4674959e644b449af0deb70b4fe6a3748cf5e181c56d21b6416edfde173d
MD5 66c0dc8ccfa6e103653cbe4cccea019f
BLAKE2b-256 92dccd46c1d59c00436691af973b4e25fc8cfc15e5a2f35d1739d0b09bfc95f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for csh_ldap-2.5.8-py3-none-any.whl:

Publisher: pypi-release.yaml on ComputerScienceHouse/csh-ldap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
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