Skip to main content

Seamless umbrella distribution (all components by default)

Project description

Seamless

Seamless: define your computation once — cache it, scale it, share it.

Most computational pipelines are already reproducible — the same inputs produce the same outputs. Wrap your code as a step with declared inputs and outputs, and Seamless gives you caching (never recompute what you've already computed) and remote deployment (run on a cluster without changing your code). Remote execution also acts as a reproducibility test: if your wrapped code runs on a clean worker and produces the same result, it is reproducible. If not, Seamless has helped you find the problem — whether it's a missing input, an undeclared dependency, or a sensitivity to platform or library versions.

Seamless wraps both Python and command-line code. In Python, direct runs a function immediately; delayed records the function for deferred or remote execution. From the shell, seamless-run wraps any command as a Seamless transformation — no Python required. In both cases, the transformation is identified by the checksum of its code and inputs: identical work always produces the same identity.

Sharing works at two levels. The lightweight path is to exchange checksums: if two researchers have computed the same transformation, they already have the same result — no data transfer needed. The concrete path is to share the seamless.db file, a portable SQLite database that maps transformation checksums to result checksums. Copy it to a colleague, a cluster, or a publication archive, and every cached result travels with it. Combined, these two paths let a lab build up a shared computation cache that grows over time and never recomputes what anyone has already computed.

What about interactivity?

This is Seamless 1.x, running on a new code architecture. Seamless 0.x offered an interactive, notebook-first workflow experience with reactive cells, Jupyter widget integration, filesystem mounting, and collaborative web interfaces. These features are being ported to the new architecture. If your work is primarily interactive/exploratory, you can use the legacy version today, or watch this space for updates.

Installation

pip install seamless-suite

This installs all standard Seamless components. For a minimal install, the core user-facing packages are:

Package Import Provides
seamless-core import seamless Checksum, Buffer, cell types, buffer cache
seamless-transformer from seamless.transformer import direct, delayed, parallel direct, delayed, parallel, parallel_async, TransformationList, seamless-run, seamless-upload, seamless-download
seamless-config import seamless.config seamless.config.init(), seamless.config.set_nparallel(), seamless-init

Source code

All source code is on GitHub: seamless-core, seamless-transformer, seamless-config, seamless-remote, seamless-jobserver, seamless-dask

Quick Examples

Python: direct

from seamless.transformer import direct

@direct
def add(a, b):
    return a + b

add(2, 3)   # runs the function, returns 5
add(2, 3)   # cache hit — returns 5 instantly

Command line: seamless-run

export SEAMLESS_CACHE=~/.seamless/cache     # global persistent caching

seamless-run 'seq 1 10 | tac && sleep 5'    # runs, caches result
seamless-run 'seq 1 10 | tac && sleep 5'    # cache hit — instant

Seamless mode

Automatically wrap the bash commands you type

seamless-mode demo

Documentation

Full documentation — including getting-started guides, cluster setup, remote execution, compiled transformers, compression, and reference API — is at:

https://sjdv1982.github.io/seamless/

For changes since v1.2 (April 2026), see RELEASE-NOTES.md.

Agent Skill

Seamless includes an agent skill (seamless-adoption) for AI coding assistants. It guides assessment of codebase fit and planning/executing ports — covering both the Python face (direct/delayed) and the Unix face (seamless-run). See skills/seamless-adoption/SKILL.md.

Project details


Download files

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

Source Distribution

seamless_suite-1.4.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

seamless_suite-1.4.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file seamless_suite-1.4.1.tar.gz.

File metadata

  • Download URL: seamless_suite-1.4.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for seamless_suite-1.4.1.tar.gz
Algorithm Hash digest
SHA256 e73b3a073798d808bbf16ffa3eeb42f1c584a43f857166fe4d80b012b7314e28
MD5 bdb604e3cd91a6a89e5c61e23462964f
BLAKE2b-256 6ba68ac09e2c3646fe675fd89200866b1e1300a93726e2558938ab5ac6700b64

See more details on using hashes here.

File details

Details for the file seamless_suite-1.4.1-py3-none-any.whl.

File metadata

  • Download URL: seamless_suite-1.4.1-py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for seamless_suite-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f729e9ce603df2c6ce7f6cfdfa7bac68592dfc8269435bcb42ed6a70aabdec97
MD5 d23e62ba82432f159d4a2f766a859442
BLAKE2b-256 31d700f4643a178191f55677eec289abf089a87b0a31c6d24a4489959930d036

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page