seamless-suite 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- seamless_suite-0.1.0/LICENSE.txt +23 -0
- seamless_suite-0.1.0/PKG-INFO +67 -0
- seamless_suite-0.1.0/README.md +36 -0
- seamless_suite-0.1.0/pyproject.toml +42 -0
- seamless_suite-0.1.0/seamless_suite.egg-info/PKG-INFO +67 -0
- seamless_suite-0.1.0/seamless_suite.egg-info/SOURCES.txt +8 -0
- seamless_suite-0.1.0/seamless_suite.egg-info/dependency_links.txt +1 -0
- seamless_suite-0.1.0/seamless_suite.egg-info/requires.txt +8 -0
- seamless_suite-0.1.0/seamless_suite.egg-info/top_level.txt +1 -0
- seamless_suite-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Author: Sjoerd de Vries
|
|
4
|
+
Copyright (c) 2016-2022 INSERM, 2022-2026 CNRS.
|
|
5
|
+
Contributions are copyrighted by their respective authors.
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
in the Software without restriction, including without limitation the rights
|
|
10
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
furnished to do so, subject to the following conditions:
|
|
13
|
+
|
|
14
|
+
The above copyright notice and this permission notice shall be included in all
|
|
15
|
+
copies or substantial portions of the Software.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
+
SOFTWARE.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: seamless-suite
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Seamless umbrella distribution (all components by default)
|
|
5
|
+
Author: Sjoerd de Vries
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/sjdv1982/seamless
|
|
8
|
+
Project-URL: Repository, https://github.com/sjdv1982/seamless
|
|
9
|
+
Project-URL: Issues, https://github.com/sjdv1982/seamless/issues
|
|
10
|
+
Keywords: seamless,suite,workflow,reproducibility
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE.txt
|
|
22
|
+
Requires-Dist: seamless-core
|
|
23
|
+
Requires-Dist: seamless-config
|
|
24
|
+
Requires-Dist: seamless-remote
|
|
25
|
+
Requires-Dist: seamless-transformer
|
|
26
|
+
Requires-Dist: seamless-dask
|
|
27
|
+
Requires-Dist: seamless-jobserver
|
|
28
|
+
Requires-Dist: seamless-database
|
|
29
|
+
Requires-Dist: remote-http-launcher
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# Seamless
|
|
33
|
+
|
|
34
|
+
**Seamless: define your computation once — cache it, scale it, share it.**
|
|
35
|
+
|
|
36
|
+
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.
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
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.
|
|
41
|
+
|
|
42
|
+
## What about interactivity?
|
|
43
|
+
|
|
44
|
+
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
|
|
45
|
+
features are being ported to the new architecture. If your work is primarily
|
|
46
|
+
interactive/exploratory, you can use the [legacy version](https://sjdv1982.github.io/seamless/legacy/)
|
|
47
|
+
today, or watch this space for updates.
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install seamless-suite
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This installs all standard Seamless components. For a minimal install, the core user-facing packages are:
|
|
56
|
+
|
|
57
|
+
| Package | Import | Provides |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `seamless-core` | `import seamless` | `Checksum`, `Buffer`, cell types, buffer cache |
|
|
60
|
+
| `seamless-transformer` | `from seamless.transformer import direct, delayed` | `direct`, `delayed`, `seamless-run`, `seamless-upload`, `seamless-download` |
|
|
61
|
+
| `seamless-config` | `import seamless.config` | `seamless.config.init()`, `seamless-init` |
|
|
62
|
+
|
|
63
|
+
## Documentation
|
|
64
|
+
|
|
65
|
+
Full documentation — including getting-started guides, cluster setup, remote execution, and reference API — is at:
|
|
66
|
+
|
|
67
|
+
**<https://sjdv1982.github.io/seamless/>**
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Seamless
|
|
2
|
+
|
|
3
|
+
**Seamless: define your computation once — cache it, scale it, share it.**
|
|
4
|
+
|
|
5
|
+
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.
|
|
6
|
+
|
|
7
|
+
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.
|
|
8
|
+
|
|
9
|
+
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.
|
|
10
|
+
|
|
11
|
+
## What about interactivity?
|
|
12
|
+
|
|
13
|
+
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
|
|
14
|
+
features are being ported to the new architecture. If your work is primarily
|
|
15
|
+
interactive/exploratory, you can use the [legacy version](https://sjdv1982.github.io/seamless/legacy/)
|
|
16
|
+
today, or watch this space for updates.
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install seamless-suite
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
This installs all standard Seamless components. For a minimal install, the core user-facing packages are:
|
|
25
|
+
|
|
26
|
+
| Package | Import | Provides |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| `seamless-core` | `import seamless` | `Checksum`, `Buffer`, cell types, buffer cache |
|
|
29
|
+
| `seamless-transformer` | `from seamless.transformer import direct, delayed` | `direct`, `delayed`, `seamless-run`, `seamless-upload`, `seamless-download` |
|
|
30
|
+
| `seamless-config` | `import seamless.config` | `seamless.config.init()`, `seamless-init` |
|
|
31
|
+
|
|
32
|
+
## Documentation
|
|
33
|
+
|
|
34
|
+
Full documentation — including getting-started guides, cluster setup, remote execution, and reference API — is at:
|
|
35
|
+
|
|
36
|
+
**<https://sjdv1982.github.io/seamless/>**
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=69", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "seamless-suite"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Seamless umbrella distribution (all components by default)"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE.txt"]
|
|
13
|
+
authors = [{name = "Sjoerd de Vries"}]
|
|
14
|
+
dependencies = [
|
|
15
|
+
"seamless-core",
|
|
16
|
+
"seamless-config",
|
|
17
|
+
"seamless-remote",
|
|
18
|
+
"seamless-transformer",
|
|
19
|
+
"seamless-dask",
|
|
20
|
+
"seamless-jobserver",
|
|
21
|
+
"seamless-database",
|
|
22
|
+
"remote-http-launcher",
|
|
23
|
+
]
|
|
24
|
+
keywords = ["seamless", "suite", "workflow", "reproducibility"]
|
|
25
|
+
classifiers = [
|
|
26
|
+
"Development Status :: 3 - Alpha",
|
|
27
|
+
"Intended Audience :: Science/Research",
|
|
28
|
+
"Intended Audience :: Developers",
|
|
29
|
+
"Programming Language :: Python :: 3",
|
|
30
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
31
|
+
"Operating System :: OS Independent",
|
|
32
|
+
"Topic :: Scientific/Engineering",
|
|
33
|
+
"Topic :: Software Development :: Libraries",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.urls]
|
|
37
|
+
Homepage = "https://github.com/sjdv1982/seamless"
|
|
38
|
+
Repository = "https://github.com/sjdv1982/seamless"
|
|
39
|
+
Issues = "https://github.com/sjdv1982/seamless/issues"
|
|
40
|
+
|
|
41
|
+
[tool.setuptools]
|
|
42
|
+
packages = []
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: seamless-suite
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Seamless umbrella distribution (all components by default)
|
|
5
|
+
Author: Sjoerd de Vries
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/sjdv1982/seamless
|
|
8
|
+
Project-URL: Repository, https://github.com/sjdv1982/seamless
|
|
9
|
+
Project-URL: Issues, https://github.com/sjdv1982/seamless/issues
|
|
10
|
+
Keywords: seamless,suite,workflow,reproducibility
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE.txt
|
|
22
|
+
Requires-Dist: seamless-core
|
|
23
|
+
Requires-Dist: seamless-config
|
|
24
|
+
Requires-Dist: seamless-remote
|
|
25
|
+
Requires-Dist: seamless-transformer
|
|
26
|
+
Requires-Dist: seamless-dask
|
|
27
|
+
Requires-Dist: seamless-jobserver
|
|
28
|
+
Requires-Dist: seamless-database
|
|
29
|
+
Requires-Dist: remote-http-launcher
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# Seamless
|
|
33
|
+
|
|
34
|
+
**Seamless: define your computation once — cache it, scale it, share it.**
|
|
35
|
+
|
|
36
|
+
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.
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
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.
|
|
41
|
+
|
|
42
|
+
## What about interactivity?
|
|
43
|
+
|
|
44
|
+
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
|
|
45
|
+
features are being ported to the new architecture. If your work is primarily
|
|
46
|
+
interactive/exploratory, you can use the [legacy version](https://sjdv1982.github.io/seamless/legacy/)
|
|
47
|
+
today, or watch this space for updates.
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pip install seamless-suite
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
This installs all standard Seamless components. For a minimal install, the core user-facing packages are:
|
|
56
|
+
|
|
57
|
+
| Package | Import | Provides |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `seamless-core` | `import seamless` | `Checksum`, `Buffer`, cell types, buffer cache |
|
|
60
|
+
| `seamless-transformer` | `from seamless.transformer import direct, delayed` | `direct`, `delayed`, `seamless-run`, `seamless-upload`, `seamless-download` |
|
|
61
|
+
| `seamless-config` | `import seamless.config` | `seamless.config.init()`, `seamless-init` |
|
|
62
|
+
|
|
63
|
+
## Documentation
|
|
64
|
+
|
|
65
|
+
Full documentation — including getting-started guides, cluster setup, remote execution, and reference API — is at:
|
|
66
|
+
|
|
67
|
+
**<https://sjdv1982.github.io/seamless/>**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|