Manifest-driven synchronization for polyrepo development workspaces
Project description
The execution substrate packages a local, multi-repository workspace so it can be reconstructed and run on remote machines. It lets developers launch uncommitted or experimental code without pushing every change to source control or manually copying files.
polyrepo.yaml defines the participating repositories, their local locations, remote directory structure, and launch storage policy. During publication, the substrate creates:
- A reusable base archive containing a frozen workspace snapshot.
- A smaller patch archive containing the current tracked and visible untracked changes.
- Bootstrap shell code that downloads both archives, reconstructs the workspace, and prepares it for execution.
Launchers embed this bootstrap code into task scripts, then add dependency setup and workload commands. The substrate handles workspace transfer and reconstruction, while launchers and backend systems handle task planning, scheduling, resources, queues, and job lifecycle. This repository also includes generic launch helpers and a TPU dispatch CLI; project-specific bucket policy stays in files beside the workspace manifest.
The broader launch architecture has four layers:
- Planning: Defines tasks, parameters, stages, and dependencies.
- Execution shaping: Selects or modifies which tasks become launch requests.
- Launch orchestration: Publishes the workspace, creates scripts, and stores them.
- Submission: Sends those scripts to local, dispatch, or cluster backends.
The same process can support one-off diagnostic commands, keeping operator tools and larger workloads on one execution path.
Only source-relevant files are be published. Ignored files—such as datasets, credentials, checkpoints, generated outputs, and machine-specific artifacts—remain outside the archives. Because patches may contain unpublished code or configuration, they require controlled storage and source-code-level security. Generated scripts can contain the W&B key, so keep the GCS artifact bucket private.
Overall, the substrate creates a shared contract between development and remote execution: declare the workspace once, publish its current state at launch time, reconstruct it remotely, and submit the resulting scripts through any supported execution backend.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file polyrepo_template-0.1.0.tar.gz.
File metadata
- Download URL: polyrepo_template-0.1.0.tar.gz
- Upload date:
- Size: 30.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db2fc330aad087abc84bb2e81455cd8c817320b00a277e8d24e78b403c13aea7
|
|
| MD5 |
30bdc198eb3fded851338cd8780e6071
|
|
| BLAKE2b-256 |
fbebc1dca6c64d32021e8a44a31a7261244e490b4644c101fa7eafce8b85c326
|
File details
Details for the file polyrepo_template-0.1.0-py3-none-any.whl.
File metadata
- Download URL: polyrepo_template-0.1.0-py3-none-any.whl
- Upload date:
- Size: 38.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"20.04","id":"focal","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec6fb10a7f3d74467a7aeca46539ca9aed9aa2553d2b1767978ddaee8e791f46
|
|
| MD5 |
ac34532fb1de97e3e568b5e4e1a1b4a1
|
|
| BLAKE2b-256 |
62d7ad3fc858c239b9c92cc1c13e313e21d7d6c983a12030bec4766c38d3ae65
|