Skip to main content

SciTeX Hub - Deployment and management CLI for SciTeX

Project description

SciTeX Hub (scitex-hub)

pypi python docs

tests install-check cov license

Full Documentation · uv pip install scitex-hub[all]


Problem and Solution

# Problem Solution
1

Fragmented tools

Literature, writing, analysis, and visualization require separate, often proprietary applications, forcing constant context-switching and making it difficult for AI agents to build sufficient context across the research workflow.

Unified platform

Scholar, Writer, FigRecipe, Console, Hub, and Clew in a single Django web application, deployable anywhere with Docker. All apps share the same project filesystem and integrate through the scitex Python package.
2

No custom tooling

Every research group needs domain-specific tools (e.g., clinical trial dashboards, spike-sorting interfaces, compound screening pipelines), yet building and sharing them requires deep computational knowledge and creating components from scratch.

App Maker and Store

Researchers create, publish, and install custom research tools on top of shared components — user/group permissions, AI infrastructure, containerized computation, and file operations are handled by the platform.
3

AI tools not research-aware

Existing tools often lack AI assistant capabilities and domain-specific skills for scientific work, unable to operate across the full research lifecycle (literature review, analysis, writing, verification).

Built-in AI co-pilot

Platform-aware context, skills, and tools such as MCP (Model Context Protocol) and CLI span the full research lifecycle, providing an AI assistant that understands the entire project from natural language.
4

Review crisis

The growing volume and heterogeneity of published papers overwhelms a limited, volunteer-based peer review process that cannot scale.

Open review via Issues and PRs

GitHub-style issue tracking and pull requests bring transparent, structured, and scalable peer review to research projects — anyone can inspect, comment, and propose changes.
5

Broken provenance

Papers, code, and execution environments are rarely tied together, making it difficult for reviewers to verify claims and for other researchers to replicate results — slowing cumulative scientific progress.

Verifiable provenance

Clew links papers, code, data, and execution environments into a hash-verified DAG (Directed Acyclic Graph) with visualization that serves as a compressed view of the research workflow and logic — reducing the decision points reviewers must check.
6

Lost knowledge on handoff

When researchers graduate or leave a project, successors inherit scattered files with little context, making it difficult to understand where to pick up and continue the work.

Seamless project handoff

The full project state — code, data, provenance graph, manuscript drafts, and execution environment — lives in one place, so successors can understand and continue work immediately.
7

No research community platform

No GitHub-like infrastructure exists for research-project-centric, fully traceable, parallel-working collaboration.

GitHub-style project hub

Repository hosting and ticket-based development with co-authors and the community enable efficient research advancement and collaboration.
8

No control

Researchers have no ownership over their infrastructure: vendor lock-in, opaque algorithms, unilateral pricing changes, and data policies they cannot influence.

Self-hosted, open-source, runnable from anywhere

Deploy on your laptop, lab server, or cloud. AGPL-3.0 licensed — inspect every line, customize freely, no vendor lock-in, no data surrender.

Table 1. Eight infrastructure challenges in scientific research and how SciTeX Hub addresses each. These gaps fuel the reproducibility crisis, limit what AI can do for research, and leave knowledge stranded when people move on.

SciTeX Hub is an AI-native infrastructure so that researchers can focus on science, not on tooling.

Demo

Writer
Writer

Scholar
Scholar

Apps
Apps

Figure 1. Core application modules. Writer provides a LaTeX manuscript environment with live compilation. Scholar offers literature discovery, BibTeX enrichment, and PDF management. The Apps panel shows the project-centric hub linking all modules.

Architecture

graph TB
    subgraph workspace[apps/workspace]
        S[scholar_app] --- W[writer_app]
        W --- F[figrecipe / plt]
        F --- CN[console_app]
        CN --- H[repo_app]
        H --- CW[clew_app]
    end
    subgraph infra[apps/infra]
        WS[workspace_app] --- PA[platform_app<br/>DataStore / FileVault / JobQueue]
        PA --- PR[project_app]
        PR --- A2[a2a_app]
    end
    workspace --> infra
    infra --> DK[Docker / Postgres / Gitea]
scitex-hub/
├── apps/
│   ├── workspace/         # scholar / writer / figrecipe / console / hub / clew
│   ├── infra/             # workspace_app, platform_app, project_app, a2a_app
│   └── public_app/        # landing page + public tools
├── deployment/docker/     # docker_dev / docker_prod / envs
├── config/                # Django settings
├── src/scitex_hub/      # pip package: CLI + MCP server
└── tests/

Installation

pip install scitex-hub              # CLI only
pip install scitex-hub[mcp]         # CLI + MCP server
pip install scitex-hub[all]         # Everything

Quick Start

git clone https://github.com/ywatanabe1989/scitex-hub.git
cd scitex-hub
make start                    # Start development environment

# Access at: http://localhost:8000
# Gitea: http://localhost:3000
# Test user: test-user / Password123!

Four Interfaces

Python API
import scitex_hub

# Version and health
scitex_hub.__version__        # read from pyproject.toml (e.g. "0.17.0-alpha")
scitex_hub.get_version()      # Version string
scitex_hub.health_check()     # Local package info
scitex_hub.health_check("https://scitex.ai/api/health/")  # Remote endpoint

# Clients / helpers
client = scitex_hub.CloudClient()            # HTTP client
env = scitex_hub.get_environment()           # Environment config
docker = scitex_hub.DockerManager()          # Container helpers

Full API reference

CLI Commands
scitex-hub --help                    # Help
scitex-hub --help-recursive          # All commands recursively
scitex-hub --version                 # Version

# Git hosting (Gitea)
scitex-hub gitea list                # List repositories
scitex-hub gitea clone user/repo     # Clone repository
scitex-hub gitea push                # Push changes
scitex-hub gitea pr create           # Create pull request
scitex-hub gitea issue create        # Create issue

# Docker management
scitex-hub docker up                 # Start containers
scitex-hub docker down               # Stop containers
scitex-hub docker ps                 # Container status
scitex-hub docker build              # Build images
scitex-hub docker restart            # Restart services

# MCP server
scitex-hub mcp start                 # Start MCP server
scitex-hub mcp list-tools            # List available tools
scitex-hub mcp doctor                # Diagnose setup
scitex-hub mcp installation          # Client config instructions

# Utilities
scitex-hub status                    # Deployment status
scitex-hub completion                # Shell completion setup
scitex-hub list-python-apis          # List all Python APIs

Full CLI reference

MCP Server — for AI Agents

AI agents can interact with the SciTeX Hub platform autonomously via MCP (Model Context Protocol) tools.

Category Tools Description
gitea 14 Git operations (clone, push, pull, PR, issues, auth)
sdk 14 DataStore, FileVault, JobQueue operations
api 9 Scholar search, CrossRef, BibTeX enrichment
app 7 App plugin lifecycle (init, validate, submit)
onsite 6 On-site platform operations
project_crud 5 Project create, list, rename, delete

Table 2. MCP tool categories — 55 tools total registered via register_all_tools in _mcp_tools/init.py. Use scitex-hub mcp list-tools for the live list.

Claude Desktop (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "scitex-hub": {
      "command": "scitex-hub",
      "args": ["mcp", "start"]
    }
  }
}

Full MCP specification

Skills — for AI Agents

Skill files provide context-aware guidance to AI agents working within the SciTeX ecosystem.

# Export skills to dotfiles (sync to Claude)
scitex-dev skills export --package scitex-hub

# List available skills
scitex-hub skills list

Skills are stored in src/scitex_hub/_skills/scitex-hub/ and cover deployment, development, testing, and more.

Skills index

Web Platform

Deployment
make start                    # Development (default)
make ENV=prod start           # Production
make ENV=prod status          # Health check
make ENV=prod db-backup       # Backup database
make help                     # All available commands
Configuration

.env files in deployment/docker/envs/ (gitignored):

.env.dev        # Development
.env.prod       # Production
.env.staging    # Staging
.env.example    # Template (tracked)

Key variables:

SCITEX_HUB_DJANGO_SECRET_KEY=your-secret-key
SCITEX_HUB_POSTGRES_PASSWORD=strong-password
SCITEX_HUB_GITEA_TOKEN=your-token
Project Structure
scitex-hub/
├── apps/                    # Django applications
│   ├── workspace/          # Workspace modules
│   │   ├── apps_app/      # App marketplace & dev install
│   │   ├── scholar_app/   # Literature discovery
│   │   ├── writer_app/    # Scientific writing
│   │   ├── console_app/   # Terminal & code execution
│   │   ├── repo_app/       # Project hub & file browser
│   │   └── clew_app/      # Verification pipeline
│   ├── infra/             # Platform infrastructure
│   │   ├── workspace_app/ # Module registry & workspace shell
│   │   ├── platform_app/  # DataStore, FileVault, JobQueue APIs
│   │   └── project_app/   # Project management
│   └── public_app/        # Landing page & public tools
│
├── deployment/docker/
│   ├── docker_dev/         # Development compose
│   ├── docker_prod/        # Production compose
│   └── envs/               # .env files (gitignored)
│
├── config/                  # Django settings
├── static/                  # Shared frontend assets
├── src/scitex_hub/        # pip package (platform CLI + MCP)
├── tests/                   # Test suite
└── Makefile                 # Thin dispatcher

For app developers: Use pip install scitex-app[cli] and the scitex-app app CLI. scitex-hub is the platform server — app developers don't need to install it.

Part of SciTeX

scitex-hub is part of SciTeX. Install via the umbrella with pip install scitex[hub] to use as scitex.hub (Python) or scitex hub ... (CLI).

From Produces To Outcome
Scholar Citations as cards Writer Convenient, evidence-based referencing
SciTeX-followed Analysis Artifacts Writer AI writes a manuscript based on actual results
FigRecipe Style-editable, composable figures Writer Publication-ready figures in context
Clew Verification and DAG visualization Writer Proven reproducibility for every claim

The SciTeX system follows the Four Freedoms for Research below, inspired by the Free Software Definition:

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.

A2A Protocol Surface

scitex-hub serves the Google A2A protocol at a2a.scitex.ai for the orochi agent fleet — AgentCard discovery, JSON-RPC dispatch, bearer-auth via Gitea PAT, and a Tier 3 forwarder to live agents. See apps/infra/a2a_app/README.md.

curl https://a2a.scitex.ai/v1/agents/ | jq '.agents | length'

Status

SciTeX Hub is in alpha. Core functionality is working and under active development. Data formats may change between releases — back up important work.

Contributing

We welcome contributions! See CONTRIBUTING.md.


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_hub-0.18.1.tar.gz (154.4 kB view details)

Uploaded Source

Built Distribution

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

scitex_hub-0.18.1-py3-none-any.whl (192.2 kB view details)

Uploaded Python 3

File details

Details for the file scitex_hub-0.18.1.tar.gz.

File metadata

  • Download URL: scitex_hub-0.18.1.tar.gz
  • Upload date:
  • Size: 154.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_hub-0.18.1.tar.gz
Algorithm Hash digest
SHA256 a33ddab2162f984da9c09ae1ba010c6e2a926f925bac91f3b2690390da759ec4
MD5 926012f0855b1d1d6b8369a2a31752e0
BLAKE2b-256 b5faa2dadd091af3d4537478f399e26538c3705f5d7b9d0e76276ddeb563e607

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_hub-0.18.1.tar.gz:

Publisher: pypi-publish-and-github-release-on-tag.yml on ywatanabe1989/scitex-hub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scitex_hub-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: scitex_hub-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 192.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_hub-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb0bd88dfc897276ca8687d88bb93bd6cb630fd523de6de29577a9b1d8189fd8
MD5 24b38d4dff095e299c2cf4a2b9cded78
BLAKE2b-256 50e12c65ac791a485c7d40c5c2362a621f3072621a31f980dfcb97823a695a3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_hub-0.18.1-py3-none-any.whl:

Publisher: pypi-publish-and-github-release-on-tag.yml on ywatanabe1989/scitex-hub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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