Crandore Hub

datom

A Unified Framework for Versioned, Traceable Tabular Data

Provides versioned storage for tabular data without a database or a server. Each table is written as an immutable, content-addressed version -- identical content is detected and stored only once -- while its version history and metadata are kept as code in a 'git' repository and the data itself in a local filesystem or cloud object storage ('S3'). Any past version can be read back exactly by its identifier, and each table records the sources it was derived from, so a project carries full data lineage. A lightweight reader role retrieves current or historical data from storage alone, without 'git' or write access, giving downstream analyses and pipelines a single versioned source of truth. It targets analytical and scientific data management, such as preparing clinical study datasets, and is designed as a foundation for higher-level governance tooling.

README

# {{{project_name}}}

> This repository is managed by [datom](https://github.com/amashadihossein/datom) — a version-controlled data management system for tabular data.

## Storage

| Setting | Value |
|---------|-------|
| Backend | `{{{backend}}}` |
| Root    | `{{{root}}}` |
| Prefix  | {{{prefix_display}}} |
| Region  | `{{{region}}}` |

## Getting Started

### 1. Clone this repository

```bash
git clone {{{remote_url}}}
```

### 2. Create a store and connect

**Developer** (has git clone + storage + GitHub access):

```r
library(datom)

store <- datom_store(
  governance    = {{{gov_constructor}}},
  data          = {{{store_constructor}}},
  github_pat    = Sys.getenv("GITHUB_PAT"),
  data_repo_url = "{{{remote_url}}}"
)

conn <- datom_get_conn(path = ".", store = store)
```

**Reader** (storage only, no git clone needed):

```r
library(datom)

store <- datom_store(
  governance = {{{gov_constructor}}},
  data       = {{{store_constructor}}}
)

conn <- datom_get_conn(store = store, project_name = "{{{project_name}}}")
```

### 3. Explore

```r
# List all tables
datom_list(conn)

# View version history of a specific table
datom_history(conn, "table_name")

# Read the latest version
datom_read(conn, "table_name")

# Read a specific version (use hash from datom_list or datom_history)
datom_read(conn, "table_name", version = "a8ee7a31")
```

## Notes

- **Do not commit data files** to this repository. The `.gitignore` is configured
  to exclude common data formats. Actual data lives in storage as parquet files;
  git tracks only metadata.
- See the datom documentation for details on store configuration.

---

*Initialized on {{{created_at}}} with datom v{{{datom_version}}}.*

Versions across snapshots

VersionRepositoryFileSize
0.1.1 rolling linux/jammy R-4.5 datom_0.1.1.tar.gz 670.4 KiB
0.1.1 rolling linux/noble R-4.5 datom_0.1.1.tar.gz 670.4 KiB
0.1.1 rolling source/ R- datom_0.1.1.tar.gz 345.7 KiB
0.1.1 latest linux/jammy R-4.5 datom_0.1.1.tar.gz 670.4 KiB
0.1.1 latest linux/noble R-4.5 datom_0.1.1.tar.gz 670.4 KiB
0.1.1 latest source/ R- datom_0.1.1.tar.gz 345.7 KiB
0.1.1 2026-04-23 source/ R- datom_0.1.1.tar.gz 0 B

Dependencies (latest)

Imports

Suggests