Skip to main content

ldif3 - generate and parse LDIF data (see RFC 2849).

This is a fork of the ldif module from python-ldap with python3/unicode support. See the first entry in CHANGES.rst for a more complete list of differences.

Usage

Parse LDIF from a file (or BytesIO):

from ldif3 import LDIFParser
from pprint import pprint

parser = LDIFParser(open('data.ldif', 'rb'))
for dn, entry in parser.parse():
    print('got entry record: %s' % dn)
    pprint(record)

Write LDIF to a file (or BytesIO):

from ldif3 import LDIFWriter

writer = LDIFWriter(open('data.ldif', 'wb'))
writer.unparse('mail=alice@example.com', {
    'cn': ['Alice Alison'],
    'mail': ['alice@example.com'],
    'objectclass': ['top', 'person'],
})

Unicode support

The stream object that is passed to parser or writer must be an ascii byte stream.

The spec allows to include arbitrary data in base64 encoding or via URL. There is no way of knowing the encoding of this data. To handle this, there are two modes:

By default, the LDIFParser will try to interpret all values as UTF-8 and leave only the ones that fail to decode as bytes. But you can also pass an encoding of None to the constructor, in which case the parser will not try to do any conversion and return bytes directly.

Metadata

Release files for ldif3 3.2.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 ldif3 3.2.2
File Size Uploaded Provenance Actions
ldif3-3.2.2.tar.gz 9.0 kB Without provenance Details for ldif3-3.2.2.tar.gz

Release files / ldif3-3.2.2.tar.gz

Download URL ldif3-3.2.2.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0afcb46b23731afcdc033af75fb5b54456a9c4ae692882c6f8ff1fef0bfb3e7f
BLAKE2b-256 checksum
How to use checksums
50ff2686e25a7abdb273b5b85b752f4fcbd14d3aca52bac9cf6ddda17845ede2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for ldif3 3.2.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