NeSyDep
Neural-Symbolic Dependency discovery: fast mining of data dependencies (functional dependencies, conditional functional dependencies, and more to come).
NeSyDep turns the research prototypes behind our papers into a usable, extensible open-source tool for data scientists and data engineers:
- BSFD — fast FD discovery guided by Bayesian-network structure learning (paper, ICDE 2026)
- SCFDM — fast CFD discovery via Transformer-guided relation partitioning (paper)
Mining kernels are C++ (exposed through pybind11); orchestration, sampling, correlation extraction and evaluation are pure Python.
Status: early development. See the roadmap below.
Install
pip install nesydep # core (FD/CFD mining + lightweight correlation)
pip install "nesydep[bn]" # + Bayesian-network correlation (BSFD default)
pip install "nesydep[transformer]" # + Transformer AttrFinder (large, pulls torch)
pip install "nesydep[all]" # everything
Quick start
import pandas as pd
import nesydep as nd
df = pd.read_csv("hospital.csv")
# One-liner
fds = nd.discover(df, algo="bsfd", support=100, confidence=0.95)
# Full control
miner = nd.SCFDM(correlation="pearson", strategy="FD-First-DFS-dfs",
support=0.001, confidence=0.9)
result = miner.discover(df)
result.to_csv("cfds.csv")
CLI:
nesydep discover data.csv --algo bsfd -o fds.csv
nesydep algorithms # list registered algorithms and parameters
Roadmap
- v0.1 (MVP): BSFD, SCFDM (lightweight correlation), TANE/DFD/CTane baselines, evaluation, CLI.
- v0.2: Transformer AttrFinder, all 10 SCFDM strategies, prebuilt wheels.
- v1.0: PyPI release, full docs, plugin tutorial.
- Later: GCFD and other dependency types (OD, DC, UC) as plugins.
Out of scope for v1: direct database connections, distributed (MPI) wheels.
Citing
If you use NeSyDep in academic work, please cite the papers listed in CITATION.cff.
License
MIT — see LICENSE.
Metadata
Release files for nesydep 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 3.8 MB
Release files / nesydep-1.0.0-cp313-cp313-win_amd64.whl
| Download URL | nesydep-1.0.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 252.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8e3de2855a3debf495167505aa0d17d17fdc4d7d90b7496011322db188d46082
|
|
BLAKE2b-256 checksum How to use checksums |
16210b81970d5bae146407a00dc79533a131edbaf6164715d82ba857ecf6cffd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nesydep-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 364.5 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8fd4e23481ef52830d24cc6b6b65cfa628182e4ae28dc5a63dcee1f90cd3d32b
|
|
BLAKE2b-256 checksum How to use checksums |
a438aae5d2e795f891a0c05b494d03cb3b9833ccb4253ed4b007a94120aa19d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | nesydep-1.0.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 343.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b6af275f2d244c89e30114e5600bda64e77fb589b8f4ff58a9066e669b8e5013
|
|
BLAKE2b-256 checksum How to use checksums |
0f8907ff6e5b78eb0317aa9e8bfa4e9a5569c61734afb12528c860e1200a5560
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp312-cp312-win_amd64.whl
| Download URL | nesydep-1.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 252.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9c1b8f8df2efc7bb21692bc844d08a6958621e27362220b3643d501ec6f89d0e
|
|
BLAKE2b-256 checksum How to use checksums |
d0829ca6739e9350a4732f50cae7f69df7d6ca177173c0bd5a7e5c5681dc9a39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nesydep-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 364.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5dd420e5cbc8fe5ca29804085f0374826c5bd96413971363aabef61d9ac4786
|
|
BLAKE2b-256 checksum How to use checksums |
30c4078f09b95e7c3868f817d1f122e0e76a0116521b271adb6e540efa82b39a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | nesydep-1.0.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 343.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b30ae775efa837a1d6d5fc46e45469bc8a5626c56968772ccd10ed74fd2422cf
|
|
BLAKE2b-256 checksum How to use checksums |
851418284c290b675e694562c946908a2f775b914088ec75cabc3a61ea19bb1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp311-cp311-win_amd64.whl
| Download URL | nesydep-1.0.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 250.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0f8f14d7ee9fb0ed02c802c5d2ef34f1658d0d15e560687ed44f017f36d1ec25
|
|
BLAKE2b-256 checksum How to use checksums |
3db20c36e6697f529b88ac3c0ac18e2b69e56f306ebdf6be2d7b57402d992cbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nesydep-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 365.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
49e6478846832994f4dca98f7153abf7852e226cf467a31aa190dfc1114c3bc4
|
|
BLAKE2b-256 checksum How to use checksums |
f425303b0ed2fb9344c4eddde6f22d4d5b7b26aa1fa86bb72222b4693af4008e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | nesydep-1.0.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 342.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b9030905dd0fa4f645576dd1c3c0d47d6cc535133b8fd0bebf44e5ec9b687289
|
|
BLAKE2b-256 checksum How to use checksums |
7b400617c7189849f46f3bcd387d328491a322d4d40b861c12cbad4859a3983b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp310-cp310-win_amd64.whl
| Download URL | nesydep-1.0.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 249.5 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ba1c1b65030808f6f81ada207cc66204ab9fa13b0cd5bb10f50563f8558540a4
|
|
BLAKE2b-256 checksum How to use checksums |
8ed952ce0bf02ab1cdea46128651237c0ba62f79f2e2fc8c4f50d24ccf2ff534
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nesydep-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 363.7 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
36531e98ca5b53dbcb1efb72e28cfb6a9b893ee8d90d1e5fe3a34079e535462d
|
|
BLAKE2b-256 checksum How to use checksums |
11eb7bafa7a9170c868dea54a2c288bb9898279dfd64f936b686526b4f9c6b1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency logRelease files / nesydep-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | nesydep-1.0.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 341.6 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4365b9203b8296da463ad2c168583a4257b23e5d56f96b194d552032173a845a
|
|
BLAKE2b-256 checksum How to use checksums |
ea2ccf5dc30b89213887b307eb69dafdc4b13038992a26937a7f999615d1477f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.
Transparency log