Skip to main content

LDAP Schema Manager 🛠️

GitHub Sponsors Patreon Buy Me a Coffee PayPal

A Python-based CLI tool for managing OpenLDAP schema snippets under cn=config, allowing you to create or update schema entries—including custom olcAttributeTypes and olcObjectClasses—via LDAPI.

🚀 Installation (PyPI)

python3 -m pip install --upgrade pip
python3 -m pip install ldapsm

System dependencies (required for python-ldap)

python-ldap requires OpenLDAP development headers and SASL/SSL libraries.

Debian / Ubuntu:

sudo apt-get update
sudo apt-get install -y --no-install-recommends \
  gcc python3-dev libldap2-dev libsasl2-dev libssl-dev

Arch Linux:

sudo pacman -S --needed gcc openldap

📝 Usage

After installation, run:

ldapsm --help

Example

ldapsm \
  -s ldapi:/// \
  -D "" \
  -W "" \
  -n nextcloud \
  -a "( 1.3.6.1.4.1.99999.1 NAME 'nextcloudQuota' DESC 'Quota for Nextcloud' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )" \
  -c "( 1.3.6.1.4.1.99999.2 NAME 'nextcloudUser' DESC 'Auxiliary class for Nextcloud attributes' AUXILIARY MAY ( nextcloudQuota ) )"

📖 Help

For detailed usage and options, run:

ldapsm --help

🛡️ Contributing

Contributions, issues, and feature requests are welcome! Feel free to check issues.

📜 License

This project is licensed under the MIT License.


Author: Kevin Veen-Birkenbach

Metadata

Release files for ldapsm 1.0.0

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

Source distribution (sdist)

Source distribution for ldapsm 1.0.0
File Size Uploaded
ldapsm-1.0.0.tar.gz 5.2 kB Details

Built distribution (wheel)

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

Total release size: 11.1 kB

Release files / ldapsm-1.0.0.tar.gz

Download URL ldapsm-1.0.0.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f424ae3d412678528e272075a9f88d9853dbe68b89bd970d885dc01f0405fe75
BLAKE2b-256 checksum
How to use checksums
bcce4e3a96605dd4096a85335112adaa7d8475cacde4df6ef16a866e5412b2a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / ldapsm-1.0.0-py3-none-any.whl

Download URL ldapsm-1.0.0-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0410499a8fbef767100651b2c85b698f31a0664c45000d50ed143a19efb9305
BLAKE2b-256 checksum
How to use checksums
2921014b27b4d709bfe7d7db4d5e23cd6c489aa490e006e7ca1acd159f525711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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