padelpy
A Python wrapper for PaDEL-Descriptor software
What it is and what it does
PaDELPy is a thin Python wrapper around the PaDEL-Descriptor Java engine, a well-established tool for computing molecular descriptors and fingerprints. It exposes PaDEL's command-line interface through Python functions, allowing you to calculate chemical features from SMILES strings, MDL MolFiles, and SDF files without needing to invoke the CLI directly.
The package bundles the PaDEL JAR and dependencies, so no separate download is needed. It provides high-level helpers (`from_smiles`, `from_mdl`, `from_sdf`) that return descriptor values as dictionaries or lists of dictionaries, plus a lower-level `padeldescriptor` function for direct CLI control. It has no Python dependencies beyond the standard library, but requires a Java 8+ runtime on your system PATH.
Use it for:
- Calculate molecular descriptors for machine learning pipelines in drug discovery or materials science
- Batch-process SMILES strings or structure files to extract chemical fingerprints for similarity searches
- Generate both 2D and 3D descriptors with optional tautomer standardization and aromaticity detection
- Export descriptor results to CSV for downstream analysis in data science workflows
- Parallelize descriptor computation across multiple molecules using the threads parameter
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PaDELPy wraps the PaDEL-Descriptor Java engine to compute molecular descriptors and fingerprints from chemical structures in SMILES, MDL MolFile, and SDF formats.
Yes, if you need PaDEL-Descriptor's specific descriptor set and have Java 8+ available. The package is actively maintained, has no Python dependencies, and integrates cleanly into cheminformatics workflows. Install it if you're already committed to PaDEL's descriptor types; if you're exploring alternatives, consider RDKit or Mordred first, as they have different descriptor engines and dependency profiles.
Install
padelpy on PyPI
pip
pip install padelpyuv
uv add padelpypoetry
poetry add padelpyInstalling padelpy
Before you install
Low install friction: pure Python wheel with no runtime dependencies beyond the standard library. Wheels are large (20+ MB) because they bundle the PaDEL JAR and libraries, but installation is straightforward. Repository is active with recent releases.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
pip install padelpy
from padelpy import from_smiles
# Compute descriptors for a molecule
descriptors = from_smiles("CCC")
# Compute descriptors and fingerprints
desc_fp = from_smiles("CCC", fingerprints=True)
Requires Java Runtime Environment (JRE) 8+ on PATH; verify with `java -version`. Python 3.10 or later required.
Verify before relying
- Performance characteristics and typical runtime for descriptor calculation on large molecule batches
- Specific descriptor and fingerprint types available beyond PubChem fingerprints mentioned
- Memory requirements for processing large SDF or MDL files
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 23 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,235/month — #13,465 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: padelpy-0.1.17-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
dscribeDScribe transforms atomic structures into…
permissive · top 15,000 on PyPI
mordredcommunityCalculates molecular descriptors from chemical…
permissive · top 15,000 on PyPI
aimsim-coreProvides core molecular featurization and…
permissive · top 15,000 on PyPI
datamolDatamol provides a pythonic layer on top of…
permissive · top 15,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
epam-indigoIndigo is a universal cheminformatics library…
permissive · top 15,000 on PyPI
mhfpEncodes molecular structures as MinHash…
unclear · top 15,000 on PyPI
py2opsinpy2opsin converts IUPAC chemical names to…
permissive · top 15,000 on PyPI
prolifProLIF generates interaction fingerprints from…
permissive · top 15,000 on PyPI
selfiesConverts between SELFIES (Self-Referencing…
permissive · top 15,000 on PyPI