Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SciDuck

A thin DuckDB layer for managing versioned scientific data.

Each variable is stored in its own table. Variables are associated with a hierarchical dataset schema (e.g. subject -> session -> trial) and can be saved at any level of that hierarchy. Multiple versions of each variable are supported natively.

All data -- including arrays -- is stored in queryable DuckDB types (LIST, nested LIST, JSON) so the database can be inspected with DBeaver or any DuckDB-compatible viewer.

Usage

from sciduckdb import SciDuck

duck = SciDuck("data.duckdb", dataset_schema=["subject", "session"])
duck.save("MyVar", data, subject="S01", session=1)
loaded = duck.load("MyVar", subject="S01", session=1)

Features

  • Three save modes: DataFrame with schema columns (Mode A), single entry via kwargs (Mode B), or dict mapping tuples to values (Mode C)
  • Automatic type inference: Maps Python/numpy types to DuckDB types
  • Round-trip restoration: Metadata tracks original types for lossless load
  • Version management: Automatic version numbering, duplicate hash detection
  • Variable groups: Organize variables into named groups
  • Schema validation: Validates dataset schema consistency across sessions

Note: all schema key values are coerced to strings before storage.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sciduckdb-0.1.9.dev0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sciduckdb-0.1.9.dev0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file sciduckdb-0.1.9.dev0.tar.gz.

File metadata

  • Download URL: sciduckdb-0.1.9.dev0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sciduckdb-0.1.9.dev0.tar.gz
Algorithm Hash digest
SHA256 53b2912957a367a538c1c0414221ed87574ff6d85eaa84999ce0554fdba04e9d
MD5 9232532014273dc12f9309e7f2fdbccd
BLAKE2b-256 4cbf01cbb0cbf00ca51a049b638eb2ae8f53758bbe526114a5e2a9d9cfcf391d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sciduckdb-0.1.9.dev0.tar.gz:

Publisher: publish.yml on mtillman14/scistack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sciduckdb-0.1.9.dev0-py3-none-any.whl.

File metadata

  • Download URL: sciduckdb-0.1.9.dev0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for sciduckdb-0.1.9.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 05b7f48e3c843930f3088a9adb488f1a4d1c786ac8d49f9f4b4ba3732a1099b9
MD5 802c96e109eea6aa87941daf3fa3b6b3
BLAKE2b-256 2a9040b0727c882e406f1544de90d8484c9999ea171d2f0f451473d229f17e38

See more details on using hashes here.

Provenance

The following attestation bundles were made for sciduckdb-0.1.9.dev0-py3-none-any.whl:

Publisher: publish.yml on mtillman14/scistack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.29

2 files

0.1.28

2 files

0.1.26

2 files

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.14

2 files

0.1.13

2 files

0.1.11

2 files

0.1.10

2 files

This release

0.1.9.dev0 This release

2 files

0.1.0

2 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