Skip to main content

D3PY

  • February 16, 2026
  • 0 replies
  • 23 views

Kiran Debram

Requirements:
D3 Version 10.2 and above
Python 3.11.6 and below

ls -l /usr/lib/pick/ | grep d3py
_d3pyIO.so          (Low-level I/O operations)
d3py.py                (Main Python interface)
_d3py.so              (Core C-extension library)
libd3pyembed.a   (Static library for embedded operations)

 

Instructions:
python3.11 -m venv /var/www/api/.venv
echo "/usr/lib/pick" > /var/www/api/.venv/lib64/python3.11/site-packages/d3py.pth


Notes:

I completed this setup using Red Hat 8 and D3 version 10.3.4, and it has been working seamlessly in my environment.

Attached is a Bash script that installs Python from source, along with a wrapper I developed around d3py to provide a more Pythonic approach for retrieving information from D3.

I truly hope this helps someone— I spent countless hours working through the challenges involved, and I’d be glad if this saves others some time and effort.
 

from d3_wrapper import D3DataManager

def main():
    with D3DataManager(account='JCAT') as manager:
        data = manager.groups()
        if data:
            for n, x in enumerate(data, 1):
                print(n, x)
        else:
            print("Not found.")

if __name__ == "__main__":
    main()