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 Product Documentation and the in-package guide span_data/packaging_info/USAGE.md (ships with the wheel) for usage examples.

c360_compiler

Customer 360 pipeline built on DuckDB. Driven by a SpanConfig (span_data.io.SpanConfig) via 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 Product Documentation and the in-package guide span_data/packaging_info/USAGE.md (ships with the wheel) for 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.5.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.5.0
File
span_data-0.5.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
span_data-0.5.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
span_data-0.5.0-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details
span_data-0.5.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 6.4 MB

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

Download URL span_data-0.5.0-cp311-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
59a95dc548835af639c84fdb028e940ee977d0871a7793c5dca8e9d4a9c36062
BLAKE2b-256 checksum
How to use checksums
cd34341bb7b7b3ddd18d00d1ab7f0af506982fe033836a97fbe501fa7e752cc4
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 Aug 5, 2026.

Transparency log

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

Download URL span_data-0.5.0-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
535c0b1ef02cf3db42c12bb5b3aac08e90891708921de596d8a713f1847ef826
BLAKE2b-256 checksum
How to use checksums
a5b3b036fbb8f182c67aa72b7873688ffe9b608591e6bdefb1a700d0953983c7
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 Aug 5, 2026.

Transparency log

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

Download URL span_data-0.5.0-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 1.8 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
ef1f8177209cd6634b9a5b169876d7188aa8e9dae8e5961ded2550b9ac18c47f
BLAKE2b-256 checksum
How to use checksums
15c28b1953fee2cd4cb7cc7b8cd65391e350d6d5fb545cea090d904b62561b11
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 Aug 5, 2026.

Transparency log

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

Download URL span_data-0.5.0-cp311-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c9c9e63964b202744bfffba4cee02b235462e01e86b387acb7cdddf234232af9
BLAKE2b-256 checksum
How to use checksums
c4c2a92f53353015e45e00101e7799b876bc339b59765b35443da3f47135bc80
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 Aug 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

4 release files

0.4.0

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