scitex-template
uv pip install scitex-template[all] · pip install scitex[template]
Problem and Solution
| # | Problem | Solution |
|---|---|---|
| 1 | Six template repos evolving independently — minimal scitex-* package, research project, cloud-module plugin, pip project, LaTeX manuscript, singularity container | One vendored monorepo + cloner — pip install scitex-template ships every clone_* function, plus a code-snippet library for scitex idioms (session decorator, io save/load, plt subplots) |
| 2 | Cloner code buried in scitex-python — release cadence didn't match the templates' |
Standalone cloner — independent versioning, lazy umbrella imports, MCP server that exposes the same ops to agents |
Installation
pip install scitex-template # core (lazy imports for scitex.git / scitex.logging / scitex.scholar)
pip install scitex-template[mcp] # MCP server deps (fastmcp)
pip install scitex-template[dev] # pytest + coverage
The umbrella route also works — pip install scitex[template] pulls this package transitively.
Demo
# Clone any of the 6 vendored templates into a fresh dir
scitex-template clone scitex-pkg my-new-pkg # minimal scitex-* package
scitex-template clone research-project paper-2026
scitex-template clone latex-manuscript thesis
scitex-template clone singularity-container apptainer-rig
# List available templates + code snippets
scitex-template list-templates
scitex-template list-snippets
graph LR
Vendored["scitex_template/templates/<br/>(6 vendored template repos)"] --> Cloner["scitex-template clone"]
Snippets["scitex_template/snippets/<br/>(session, io, plt, ...)"] --> CLI["scitex-template list/get"]
Cloner --> Out1["fresh project dir"]
CLI --> Out2["copy-paste idioms"]
Architecture
scitex_template/
├── templates/ ← 6 vendored template repos (kept in sync)
│ ├── scitex-pkg/ ← minimal scitex-* package skeleton
│ ├── research-project/ ← @stx.session-driven analysis layout
│ ├── cloud-module-plugin/ ← scitex-cloud plugin scaffold
│ ├── pip-project/ ← bare-bones PyPI package
│ ├── latex-manuscript/ ← scitex-writer-compatible paper
│ └── singularity/ ← apptainer container recipe
├── snippets/ ← copy-paste idioms (session, io, plt, ...)
├── _cli/ ← `scitex-template clone` / list / get
└── _mcp/ ← MCP server exposing the same ops to agents
Each template ships as plain files; cloning is a recursive copy with
optional {name} substitution, no Cookiecutter-style runtime
templating engine. The MCP server re-exports the CLI surface 1:1.
Quick Start
pip install scitex-template
scitex-template list-templates
scitex-template clone research ./my-experiment
from scitex_template import clone_research, get_code_template
clone_research(target="my-experiment", project_name="my-experiment")
print(get_code_template("session"))
3 Interfaces
Python API
import scitex # noqa: F401 — ensures scitex.git / .logging are importable
from scitex_template import (
clone_research,
clone_pip_project,
clone_scitex_minimal,
get_available_templates_info,
get_code_template,
)
# Clone a research project template
clone_research(target="my-experiment", project_name="my-experiment")
# Discover available templates
for info in get_available_templates_info():
print(f"{info['id']:>10} {info['description']}")
# Pull a code snippet for a scitex session script
print(get_code_template("session"))
The legacy import path from scitex.template import … also still works via a compatibility shim in scitex-python.
CLI
Entry point: scitex-template (also python -m scitex_template).
scitex-template list-templates # enumerate templates
scitex-template show-info research # template metadata
scitex-template clone research ./my-proj # populate from cache
scitex-template refresh-cache # force re-clone
MCP Server — for AI Agents
Install with pip install scitex-template[mcp] and the package exposes
async handlers (template_list, template_info, template_clone,
template_cache_refresh) over MCP — agents can scaffold projects without
running Python themselves.
Template repos
scitex-template clones from these external repositories:
| Template id | Repo |
|---|---|
research |
scitex-research-template |
app / pip |
pip-project-template |
cloud-module |
scitex-template-cloud-module |
minimal |
scitex-minimal-template |
singularity |
singularity_template |
paper |
paper-template |
A future revision may vendor these as templates/<id>/ subdirs in this repo so the cloner and the templates ship in lockstep.
Dependency notes
Per the SciTeX downstream dependency rule (general/01_arch_02), this package aims to avoid a hard runtime dep on the scitex umbrella. At present three submodules are still imported lazily inside clone_* functions: scitex.git, scitex.logging, scitex.scholar.ensure_workspace. Once scitex-git is extracted as a standalone, those imports will move to the standalone equivalents (scitex_git, scitex_logging, scitex_scholar). Users running pip install scitex[template] pick up the umbrella transitively, so there is no current breakage.
License
AGPL-3.0-only.
Part of SciTeX
scitex-template is part of SciTeX. Install via
the umbrella with pip install scitex[template] to use as
scitex.template (Python) or scitex template ... (CLI).
Four Freedoms for Research
- The freedom to run your research anywhere — your machine, your terms.
- The freedom to study how every step works — from raw data to final manuscript.
- The freedom to redistribute your workflows, not just your papers.
- The freedom to modify any module and share improvements with the community.
AGPL-3.0 — because we believe research infrastructure deserves the same freedoms as the software it runs on.
Metadata
Release files for scitex-template 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| scitex_template-0.7.1.tar.gz | 7.8 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scitex_template-0.7.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.7 MB
Release files / scitex_template-0.7.1.tar.gz
| Download URL | scitex_template-0.7.1.tar.gz |
|---|---|
| Size | 7.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55096f4c8aca9bcf0becb60182dd0c1b11a96e1d4221baf0323f1e644510bf86
|
|
BLAKE2b-256 checksum How to use checksums |
90e3c48011d945873d41ebfa29a3feaffb8c43fb7fe439f307bb585bbbba83bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / scitex_template-0.7.1-py3-none-any.whl
| Download URL | scitex_template-0.7.1-py3-none-any.whl |
|---|---|
| Size | 7.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57ff22e992bf4c6a2dd8dcbb3a32deaa6c82fe2a811b50c736363b0285c7a3b6
|
|
BLAKE2b-256 checksum How to use checksums |
072c2617caab32b1e5e0a2adeb07c6644763945fa906b0aee0fb8381c7f99af9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for scitex-template 0.7.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.