Project template cloner + code snippet library for the SciTeX ecosystem — six templates vendored, shallow-cloned on demand to ~/.scitex/template/cache/
Project description
SciTeX Template (scitex-template)
Project template cloner + code snippet library for the SciTeX ecosystem.
pip install scitex-template · 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.
Quick Start
pip install scitex-template
scitex-template list
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 # enumerate templates
scitex-template info research # template metadata
scitex-template clone research ./my-proj # populate from cache
scitex-template cache-refresh # 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.
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.
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 scitex_template-0.6.5.tar.gz.
File metadata
- Download URL: scitex_template-0.6.5.tar.gz
- Upload date:
- Size: 140.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0685dee71c79a5ba85d3b0303b9b0ecc8e2574d6918b3cfe70648b4dbf75d12
|
|
| MD5 |
12e9277d16c26ddcbfa39bb80f6083b7
|
|
| BLAKE2b-256 |
d0096a2b8493088b88a339a98fa2fc2f4be9519d5f780e6f84f21cecf291b1b7
|
Provenance
The following attestation bundles were made for scitex_template-0.6.5.tar.gz:
Publisher:
publish-pypi.yml on ywatanabe1989/scitex-template
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scitex_template-0.6.5.tar.gz -
Subject digest:
b0685dee71c79a5ba85d3b0303b9b0ecc8e2574d6918b3cfe70648b4dbf75d12 - Sigstore transparency entry: 1417393741
- Sigstore integration time:
-
Permalink:
ywatanabe1989/scitex-template@5a0b6c198fe6cd7c968fdfb4037863bdab81ef38 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/ywatanabe1989
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5a0b6c198fe6cd7c968fdfb4037863bdab81ef38 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file scitex_template-0.6.5-py3-none-any.whl.
File metadata
- Download URL: scitex_template-0.6.5-py3-none-any.whl
- Upload date:
- Size: 115.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04ced453109697fa037afc7794a9c3d7912bafcdd7054ea37524b607a435d83d
|
|
| MD5 |
7c88c7218df8d1aa9de7c3ac55468a09
|
|
| BLAKE2b-256 |
aea3a84b4ad8d3302b10c2b3b10e867344160156ae2f5ba0eaa3bfb2a645d3a1
|
Provenance
The following attestation bundles were made for scitex_template-0.6.5-py3-none-any.whl:
Publisher:
publish-pypi.yml on ywatanabe1989/scitex-template
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
scitex_template-0.6.5-py3-none-any.whl -
Subject digest:
04ced453109697fa037afc7794a9c3d7912bafcdd7054ea37524b607a435d83d - Sigstore transparency entry: 1417393754
- Sigstore integration time:
-
Permalink:
ywatanabe1989/scitex-template@5a0b6c198fe6cd7c968fdfb4037863bdab81ef38 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/ywatanabe1989
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5a0b6c198fe6cd7c968fdfb4037863bdab81ef38 -
Trigger Event:
workflow_dispatch
-
Statement type: