Surfacia
Molecular surface descriptors, predictive modeling and chemical interpretation.
Surfacia connects SMILES → 3D → xTB/Gaussian → Multiwfn → descriptors → ML/SHAP. Choose whole-molecule, molecular-surface or local regions to relate a model's predictions to chemical structure. It analyzes molecular surfaces; it does not by itself simulate an electrode or a solid catalyst interface.
Start with your data
- Already have descriptors: run the downloadable 36-molecule tutorial.
- Start from molecular structures: follow the surface workflow.
- Inspect model explanations: open original predictions and ordinary SHAP in the interactive case.
- 中文手册: 切换到完整中文内容.
Install and check your version
python -m pip install --upgrade "surfacia[viz]"
python -c "import surfacia; print(surfacia.__version__)"
surfacia --help
The current version is 4.0.0. Upgrade an existing 3.0.3 installation to remove the former candidate-ranking extension. Check the printed version after installing. For development from GitHub source:
git clone https://github.com/sym823808458/Surfacia.git
cd Surfacia
python -m pip install -e ".[viz]"
Use a separate environment, preferably Python 3.10–3.12. The package declares
Python >=3.9. The ML compatibility ranges remain xgboost>=2.1.4,<3 and
shap>=0.48,<0.49. The full quantum workflow additionally needs independently
installed/licensed xTB, Gaussian (g16, formchk) and Multiwfn. The descriptor-table
tutorial does not need these external tools.
A runnable example
From the repository, after installing dependencies:
python examples/descriptor_table/make_data.py
surfacia ml-analysis -i examples/descriptor_table/descriptors.csv --manual --manual-features Full --test-samples "6,12,18,24,30,36" --epoch 32 --cores 1 --train-test-split 0.85 --no-generate-fitting
The six features and target are computed with RDKit. This is a reproducible software tutorial, not a quantum-surface benchmark or experimental logP validation. The current CLI uses XGBoost regression and repeated random splits. The manual documents its evaluation boundaries and distinguishes it from a frozen research benchmark. Ordinary SHAP is retained; attribution alone does not prove causality.
Upgrade from 3.0.3
The former Go Beyond/SPES candidate-ranking extension is removed from current
source: no automatic ranking CSVs, ranking dashboard layer, --spes-csv option,
or surfacia.ml.spes API. Original regression predictions and SHAP interpretation
remain. See migration notes.
The major version marks removed interfaces, not a new quantum method. Historical
releases and manuscript archives remain available through their original records.
Maintain and cite
- Maintenance: update docs/cases and build/release checks.
- Release audit: GitHub, PyPI and Read the Docs findings.
- Issues
- Author: Yuming Su / 苏禹铭 · 823808458@qq.com
- License: MIT. Cite the exact software version and commit; no publication DOI is assigned here.
Metadata
Release files for surfacia 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| surfacia-4.0.0.tar.gz | 526.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| surfacia-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 669.2 kB
Release files / surfacia-4.0.0.tar.gz
| Download URL | surfacia-4.0.0.tar.gz |
|---|---|
| Size | 526.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
06a73e88f535992efeda18dd9a7e2e7fc983bc8e36d856086b8517bb4ad8bf9f
|
|
BLAKE2b-256 checksum How to use checksums |
3928649a473c21f41c57b41869c132886b4aa1b8efc366e90cc28af3e4db529a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / surfacia-4.0.0-py3-none-any.whl
| Download URL | surfacia-4.0.0-py3-none-any.whl |
|---|---|
| Size | 142.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06cd1090cb2ef0014d5d7c34ccc1d1914ba6a98eea2771e59f65c9393e57d02e
|
|
BLAKE2b-256 checksum How to use checksums |
2ab502eaf67af74fc1e853031404cf4731ebee1da0ce19d0aa3c6edd26da9baf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for surfacia 4.0.0
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.