Skip to main content

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 (ICDE 2026)
  • SCFDM — fast CFD discovery via Transformer-guided relation partitioning (VLDB 2027)
  • FastAFD — approximate FD mining (FDm) boosted by clustering and covariance analysis (ICDE 2024); fastest on wide tables, with statistical recall guarantees

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

# A small hospital table ships with the repo — load it straight from GitHub.
url = "https://raw.githubusercontent.com/ruochunjin/NeSyDep/main/examples/data/hospital_sample.csv"
df = pd.read_csv(url)

# One-liner FD discovery
fds = nd.discover(df, algo="bsfd", support=2, confidence=0.95)
for fd in fds.fds:
    print(fd)   # e.g. [Zip] -> City, [Zip] -> State, [Address] -> PhoneNumber

# CFD discovery with full control
miner = nd.SCFDM(correlation="pearson", strategy="FD-First-DFS-dfs",
                 support=2, confidence=0.9, max_lhs=2)
result = miner.discover(df)
result.to_csv("cfds.csv")

CLI:

curl -O https://raw.githubusercontent.com/ruochunjin/NeSyDep/main/examples/data/hospital_sample.csv
nesydep discover hospital_sample.csv --algo bsfd --support 2 -o fds.txt
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: more fast mining algorithms over relational data and more 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:

CFD discovery (SCFDM):

@article{jin2027fast,
  title={Fast Discovery of Conditional Functional Dependencies via Transformer-Guided Relation Partitioning},
  author={Jin, Ruochun and Chen, Shenglin and Wang, Xi and Yang, Siyi and Wang, Ting},
  journal={Proceedings of the VLDB Endowment},
  year={2027}
}

FD discovery (BSFD):

@inproceedings{yang2026fast,
  title={Fast Discovery of Functional Dependencies via Bayesian Network Learning},
  author={Yang, Siyi and Chen, Shenglin and Wang, Xi and Tang, Yuhua and Jin, Ruochun},
  booktitle={2026 IEEE 42nd International Conference on Data Engineering (ICDE)},
  pages={44--57},
  year={2026},
  organization={IEEE}
}

Also from our group (its algorithms will be integrated into NeSyDep in a future release):

@inproceedings{wang2024boosting,
  title={Boosting meaningful dependency mining with clustering and covariance analysis},
  author={Wang, Xi and Jin, Ruochun and Huang, Wanrong and Tang, Yuhua},
  booktitle={2024 IEEE 40th International Conference on Data Engineering (ICDE)},
  pages={639--652},
  year={2024},
  organization={IEEE}
}

License

MIT — see LICENSE.

Metadata

Release files for nesydep 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for nesydep 1.1.0
File
nesydep-1.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
nesydep-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
nesydep-1.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
nesydep-1.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
nesydep-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
nesydep-1.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
nesydep-1.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
nesydep-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
nesydep-1.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
nesydep-1.1.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
nesydep-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
nesydep-1.1.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 4.7 MB

Release files / nesydep-1.1.0-cp313-cp313-win_amd64.whl

Download URL nesydep-1.1.0-cp313-cp313-win_amd64.whl
Size 409.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4377876d27d2faf28c1bc3ddf7170bb3bc5664a806e3aab848bd03723e24a1bb
BLAKE2b-256 checksum
How to use checksums
396636af7ecda6138c21c9ef61c4e3fc5b7abe761bdff465ddd3f2f66e1ae4c1
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

Release files / nesydep-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nesydep-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 393.6 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b9438c4cc84378cadfe5ab446bad2b9947fc7fe81620fa3ad9293bcb761382d8
BLAKE2b-256 checksum
How to use checksums
a0436e2c2ba9e417d599aaf878926b7cc80db9bd4adb572a39a7c75b0345a41f
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

Release files / nesydep-1.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL nesydep-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 369.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9d0c332081497f7deaeff9d19c5c2a3658747b1fd8835c535155038ba34b16fc
BLAKE2b-256 checksum
How to use checksums
213680987e6f1382185b8090ab616c7560ccd165384e9e9407de07f0ecad415d
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

Release files / nesydep-1.1.0-cp312-cp312-win_amd64.whl

Download URL nesydep-1.1.0-cp312-cp312-win_amd64.whl
Size 409.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
dfe087574a1499414caee4d6470016f3dcc705b8a073fa45d67e215203714eb8
BLAKE2b-256 checksum
How to use checksums
ad845b0945abdf884edecf6ee168f226f8d45950c2e52b24cc1af4493a3f3c93
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

Release files / nesydep-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nesydep-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 393.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ca5f63c4f52070ff54c9a409020f8655998097eaf07a6a3f397e72eb1a4a6bde
BLAKE2b-256 checksum
How to use checksums
45867dcbb753b60c2b1b7fdc017f987fb0b988abde10515f60ee831581ec8d98
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

Release files / nesydep-1.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL nesydep-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 369.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
660472fd88c73d37b0b1339f44f809d55ccd3fb4f0c7696e47e00264fa9c80b0
BLAKE2b-256 checksum
How to use checksums
8843d0b98d067992c1a6fe5a789f2807d214e9dfe6785b1f31bf64a492a44343
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

Release files / nesydep-1.1.0-cp311-cp311-win_amd64.whl

Download URL nesydep-1.1.0-cp311-cp311-win_amd64.whl
Size 407.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
170a0566c8bc0f35817344f627fa15d3a62e39ffc665a5d69a70fa4a26c83d3c
BLAKE2b-256 checksum
How to use checksums
3b033eb33b4d01f6296c327211068a681c2304e7fe194ee7d92fe87e54391a2b
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

Release files / nesydep-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nesydep-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 394.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4763955a6d7ecabf6a070639decaa4810fcadbc2ea2a7117fdc9150e865f7d1c
BLAKE2b-256 checksum
How to use checksums
e2c9daae30d55def377fbcff3106ce61c823426e7e5169c6159aa95cd9764ce3
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

Release files / nesydep-1.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL nesydep-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 369.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
123ee54b367e712c748a1e67ede998db0b0f8d2165bbdc9a0568c9ca43f59c0b
BLAKE2b-256 checksum
How to use checksums
71fcfa8df80290b5e524cd705a9e789a58d1888fdbccbf4ad4590b99be4e155e
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

Release files / nesydep-1.1.0-cp310-cp310-win_amd64.whl

Download URL nesydep-1.1.0-cp310-cp310-win_amd64.whl
Size 406.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
67d9e565989b2a976848f6a963b5d880228859b1ed9f1d1a79dbb771080384b2
BLAKE2b-256 checksum
How to use checksums
6267a85e1f6f416fafb0992a41b5defaba964cb234f32a07421ef5f2d2e2de52
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

Release files / nesydep-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nesydep-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 392.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ba99708bad2c99c652f62207c32644ec850d554a1892e6ac7e2eb20187ec8b61
BLAKE2b-256 checksum
How to use checksums
938cbadc9c212d9c0315f7ee330d47dcbc37bb0a53da353dd8dc7b7d541e83a5
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

Release files / nesydep-1.1.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL nesydep-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Size 368.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2fc9362b28ce403825fcb7327fb7d4c1d6733efef5e757416a3aa23b98b31a49
BLAKE2b-256 checksum
How to use checksums
791e0f2bd58c84d6075b28ae5dcebe8248b4b8598ddc738eba7c14e777a5dadb
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

Release history Release notifications | RSS feed

This release

1.1.0 This release

12 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page