A sync pulls data from a connection into a dataset or a mediaset. It is not code: it is a configured pull, declared once and run like any producer, by hand, by a build of its output, or on a schedule. The lineage shows the connection feeding the output. Two kinds:

Declaring a sync

config carries three things:
  • connection_id, the source;
  • mode: SNAPSHOT (default) replaces the output’s content with this run, APPEND adds to it;
  • the source keys, which depend on the connection’s type and are passed to it as they are: table or query for a table sync, path_glob for a file sync (exports/2026/*.parquet: * stays within a directory, ** descends).
A sync, its connection and its output must live in the same project. Several syncs may feed one dataset; a dataset may also have one transform producing it, and the two are then its producers.

What a run does

A table sync streams the rows page by page: into a tabular dataset as snapshots of the table (the first page of a SNAPSHOT run overwrites, the rest append), into a file dataset as one Parquet part per page. A file sync lists the source with the glob, so the filtering happens at the source, and copies each file. Into a mediaset, each file must match the mediaset’s declared type: a file that does not is skipped and counted, never fatal. A SNAPSHOT run never empties the output first. The new content is staged beside it and swapped in at the end, so a source that fails mid-way leaves the previous content whole. On a data branch, a sync writes on the branch. Each run is a build: it appears in the output’s build history with its log, and its outcome is mirrored on the sync as last_execution (status, timing, rows or files written).

Running

The call answers 202 with the build it started. Building the output dataset or mediaset runs its sync too, so a transform downstream that is built with its dependencies refreshes the source on the way. A schedule runs the sync on a cron, in the time zone of your choice: declare it on the output from the Atlas interface.

Reading the result

The output is an ordinary dataset or mediaset: query it with Queries, read its files, bind it as an Input of a transform. A transform that must not reprocess what a sync already brought reads the sync’s output as an incremental input: a SNAPSHOT sync rewrites the table, so "added" has nothing to say after it, while an APPEND sync leaves a clean history to read from. A transform that walks a connection itself, selecting the files it wants, is the library’s way: see Connections.
These endpoints are served by the platform and used by the Atlas interface; they are being opened on the public gateway progressively, and the Python library does not wrap them yet. The API reference lists what the gateway exposes today.