Skip to main content

Project template cloner + code snippet library for the SciTeX ecosystem

Project description

SciTeX Template (scitex-template)

Project template cloner + code snippet library for the SciTeX ecosystem.

PyPI version Tests License: AGPL-3.0

pip install scitex-template · pip install scitex[template]


Problem

SciTeX ecosystem users need starting points for three distinct project kinds — a minimal scitex-* package, a full research project, a cloud-module plugin — plus boilerplate for pip projects, LaTeX manuscripts, singularity containers. Each of those template repos evolves independently, and the glue code that clones them (clone_research, clone_pip_project, …) has historically lived buried inside scitex-python where its release cadence doesn't match.

Solution

scitex-template is the standalone cloner. One install gives you every clone_* function, the code-snippet library for scitex idioms (session decorator, io save/load, plt subplots, …), the project-config generators (create_project_config, build_directory_tree), and the MCP server that exposes the same operations 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.

Python usage

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                           # starts MCP server

CLI parity with the Python API is planned; for now the cloners are invoked programmatically.

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

  1. The freedom to run your research anywhere — your machine, your terms.
  2. The freedom to study how every step works — from raw data to final manuscript.
  3. The freedom to redistribute your workflows, not just your papers.
  4. 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.


SciTeX

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

scitex_template-0.1.0.tar.gz (78.5 kB view details)

Uploaded Source

Built Distribution

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

scitex_template-0.1.0-py3-none-any.whl (101.9 kB view details)

Uploaded Python 3

File details

Details for the file scitex_template-0.1.0.tar.gz.

File metadata

  • Download URL: scitex_template-0.1.0.tar.gz
  • Upload date:
  • Size: 78.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for scitex_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9985d34b13afbf2367664cab8b07491e9ddc8c0f9af719f72f29c8b18467ebee
MD5 d38aa7e4ef8061fc78c53bd3c6d8e01d
BLAKE2b-256 a561d48f8bc7b33b57a63ed1a2bdb0c0d08cb4dbbec99d14d5073c07dc243fad

See more details on using hashes here.

File details

Details for the file scitex_template-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scitex_template-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 101.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for scitex_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab6d03a2075049b236f6c449c94ce9dd014eb2984d762fb6a2a178b7b8092f59
MD5 5d83cf9721e2251b64d9b27e321f5b70
BLAKE2b-256 2910eb92c823e17f28c9724d7ed67ddd6e4a6991bba588d2c9b3b60b41ecf525

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