Skip to main content

SPAN

span_data is a Python library for customer data resolution and unification.

Early release. This package is under active development, and the public API and import paths may change between releases. We expect to follow semantic versioning more strictly after a 1.0 stable baseline; until then, treat upgrades as potentially breaking. Pin a specific version in production and review span_data/packaging_info/CHANGELOG.md before upgrading.

Modules

id_grapher

Identity resolution built on Splink and DuckDB. Links records that refer to the same entity across one or more source datasets and produces a unified ID graph keyed on profile_id.

from span_data.id_grapher import IDGrapher, FieldDefinitionMap, Overrides

Key capabilities:

  • Ingest source data from pandas DataFrames, CSV files, and Snowflake tables or views.
  • Clean and normalise source fields (text, email, phone number).
  • Resolve entities into profile clusters with Splink-based probabilistic matching.
  • Export graph results to DataFrames, CSV, Parquet, DuckDB relations, and Snowflake.
  • Apply manual override workflows for merge, split, and assign operations.

See span_data/id_grapher/README.md for usage, test options, and benchmarks.

c360_compiler

Customer 360 pipeline built on DuckDB. Driven by a SpanConfig :class:~span_data.io.SpanConfig via :meth:C360Compiler.from_span_config.

from span_data.c360_compiler import C360Compiler
from span_data.io import load_span_config

span_config = load_span_config("span_config.yaml")
compiler = C360Compiler.from_span_config(span_config, app_name="MY_DB")

SpanConfig

Unified configuration for ID Graph and C360. Load from YAML, validate, and run locally with the span-data CLI:

span-data validate-config span_config.yaml
span-data run span_config.yaml --data-dir ./data --output-dir ./out

Input CSVs under --data-dir are named {derive_source_name(dataset)}.csv (for example ANALYTICS.SOURCES.CRM_CONTACTS → ANALYTICS_SOURCES_CRM_CONTACTS.csv).

from span_data.io import load_span_config
from span_data.io.config.adapters import to_splink_config, to_c360_compiler_config

Key capabilities:

  • Merge customer demographics from multiple dimension sources with configurable waterfall precedence.
  • Compute rolling-window metrics (6-month, 12-month, lifetime) from fact tables.
  • Build a consent fact table with two-tier taxonomy (purpose / medium) and conflict resolution.
  • Generate boolean and categorical customer segments.
  • Enrich fact tables with profile_id and deterministic hash keys.

See span_data/c360_compiler/README.md for full configuration reference and usage.

Python Support

This package supports Python >=3.11 (3.11–3.14), shipped as a cp311-abi3 wheel.

Usage

See SPAN Product Documentation for usage instructions.

License

This project is licensed under the BSD 3-Clause License. See span_data/packaging_info/LICENSE.

Third-party dependency license information is documented in span_data/packaging_info/THIRD_PARTY_NOTICES.md.

Release history is documented in span_data/packaging_info/CHANGELOG.md.

Metadata

Release files for span-data 0.4.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 span-data 0.4.0
File
span_data-0.4.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
span_data-0.4.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
span_data-0.4.0-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 abi3 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details
span_data-0.4.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 6.1 MB

Release files / span_data-0.4.0-cp311-abi3-win_amd64.whl

Download URL span_data-0.4.0-cp311-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e74e65095437a124a01aa620327c2bfcf92c45d39a8e8b132c84a30ce2afbc28
BLAKE2b-256 checksum
How to use checksums
2e79dfea476add93d72275a6e76c7bd474820c1bd6966cca0493fe6dc10a1aeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 8, 2026.

Transparency log

Release files / span_data-0.4.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL span_data-0.4.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
4ed2930d98804d7b1199347f5b5fd6e97a1eebe62618a3a3668b3a7bd51cae9b
BLAKE2b-256 checksum
How to use checksums
b62300ea5c47409850f3dcacde7f8eb1e84458d771ce033de7b7caa0a699d270
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 8, 2026.

Transparency log

Release files / span_data-0.4.0-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL span_data-0.4.0-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 abi3
SHA-256 checksum
How to use checksums
b3170ad391b6a1b79bfd1de5aadd0a9500b06f45cb550ccd712e3979b759d47f
BLAKE2b-256 checksum
How to use checksums
6bae7486a98a675c34c9df3985a185cd96d147df5781c19a254d33f2580525e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 8, 2026.

Transparency log

Release files / span_data-0.4.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL span_data-0.4.0-cp311-abi3-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cbac04798272c74920f704ecb2096a35992d7126e5b56dc66759afb583cec9bf
BLAKE2b-256 checksum
How to use checksums
e01ec46f63542e14928cff13f65f4228983976fd07fc8dcd6e78c2450464744c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

4 release files

This release

0.4.0 This release

4 release files

0.3.0

5 release files

0.2.0

5 release files

0.1.5

5 release files

0.1.4

5 release files

0.1.3

5 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