Ready to get started?

Learn more about the CData Python Connector for LDAP or download a free trial:

Download Now

Use pandas to Visualize LDAP Objects in Python

The CData Python Connector for LDAP enables you use pandas and other modules to analyze and visualize live LDAP objects in Python.

The rich ecosystem of Python modules lets you get to work quickly and integrate your systems more effectively. With the CData Python Connector for LDAP, the pandas & Matplotlib modules, and the SQLAlchemy toolkit, you can build LDAP-connected Python applications and scripts for visualizing LDAP objects. This article shows how to use the pandas, SQLAlchemy, and Matplotlib built-in functions to connect to LDAP objects, execute queries, and visualize the results.

With built-in optimized data processing, the CData Python Connector offers unmatched performance for interacting with live LDAP objects in Python. When you issue complex SQL queries from LDAP, the driver pushes supported SQL operations, like filters and aggregations, directly to LDAP and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations).

Connecting to LDAP Objects

Connecting to LDAP objects looks just like connecting to any relational data source. Create a connection string using the required connection properties. For this article, you will pass the connection string as a parameter to the create_engine function.

To establish a connection, the following properties under the Authentication section must be provided:

  • Valid User and Password credentials (e.g., Domain\BobF or cn=Bob F,ou=Employees,dc=Domain).
  • Server information, including the IP or host name of the Server, as well as the Port.
  • BaseDN: This will limit the scope of LDAP searches to the height of the distinguished name provided.

    Note: Specifying a narrow BaseDN may greatly increase performance; for example, cn=users,dc=domain will only return results contained within cn=users and its children.

Follow the procedure below to install the required modules and start accessing LDAP through Python objects.

Install Required Modules

Use the pip utility to install the pandas & Matplotlib modules and the SQLAlchemy toolkit:

pip install pandas
pip install matplotlib
pip install sqlalchemy

Be sure to import the module with the following:

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engine

Visualize LDAP Objects in Python

You can now connect with a connection string. Use the create_engine function to create an Engine for working with LDAP objects.

engine = create_engine("ldap:///?User=Domain\BobF&Password=bob123456&Server=10.0.1.1&Port=389")

Execute SQL to LDAP

Use the read_sql function from pandas to execute any SQL statement and store the resultset in a DataFrame.

df = pandas.read_sql("SELECT Id, LogonCount FROM User WHERE CN = 'Administrator'", engine)

Visualize LDAP Objects

With the query results stored in a DataFrame, use the plot function to build a chart to display the LDAP objects. The show method displays the chart in a new window.

df.plot(kind="bar", x="Id", y="LogonCount")
plt.show()

Free Trial & More Information

Download a free, 30-day trial of the LDAP Python Connector to start building Python apps and scripts with connectivity to LDAP objects. Reach out to our Support Team if you have any questions.



Full Source Code

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engin

engine = create_engine("ldap:///?User=Domain\BobF&Password=bob123456&Server=10.0.1.1&Port=389")
df = pandas.read_sql("SELECT Id, LogonCount FROM User WHERE CN = 'Administrator'", engine)

df.plot(kind="bar", x="Id", y="LogonCount")
plt.show()