Skip to main content

A comprehensive Python library for scientific computing and data analysis

Project description

SciTeX

PyPI version Python Versions License uv recommended

scitex.ai · pip install scitex


Modular Python toolkit for scientific research automation — with verification features to ease peer review.

Empowers both human researchers and AI agents. Each module works independently and adapts to various academic workflows, handling primary and secondary research with real or simulated data.

SciTeX is fully modular; every module is opt-in and exposed only when operational.

🎬 Demo

40 min, zero human intervention — AI agent conducts full research pipeline:

Literature search → Data analysis → Statistics → Figures → 21-page manuscript → Peer review simulation

SciTeX Demo

📦 Installation

uv pip install scitex          # Core (minimal)
uv pip install scitex[plt,stats,scholar]  # Typical research setup
uv pip install scitex[all]     # Recommended: Full installation

⚙️ Configuration

Modular environment configuration via .env.d/:

# 1. Copy examples
cp -r .env.d.examples .env.d

# 2. Edit with your credentials
$EDITOR .env.d/

# 3. Source in shell (~/.bashrc or ~/.zshrc)
source /path/to/.env.d/entry.src

Structure:

.env.d/
├── entry.src              # Single entry point
├── 00_scitex.env          # Base settings (SCITEX_DIR)
├── 00_crossref-local.env  # CrossRef database
├── 00_figrecipe.env       # Plotting config
├── 01_scholar.env         # OpenAthens, API keys
├── 01_audio.env           # TTS backends
└── ...                    # Per-module configs

Full configuration reference

Three Interfaces

🐍 Python API for Humans and AI Agents

@stx.session — Reproducible Experiment Tracking

import scitex as stx

@stx.session
def main(filename="demo.jpg"):
    fig, ax = stx.plt.subplots()
    ax.plot_line(t, signal)
    ax.set_xyt("Time (s)", "Amplitude", "Title")
    stx.io.save(fig, filename)
    return 0

Output:

script_out/FINISHED_SUCCESS/2025-01-08_12-30-00_AbC1/
├── demo.jpg                    # Figure with embedded metadata
├── demo.csv                    # Auto-exported plot data
├── CONFIGS/CONFIG.yaml         # Reproducible parameters
└── logs/{stdout,stderr}.log    # Execution logs

stx.io — Universal File I/O (30+ formats)

stx.io.save(df, "output.csv")
stx.io.save(fig, "output.jpg")
df = stx.io.load("output.csv")

stx.stats — Publication-Ready Statistics (23 tests)

result = stx.stats.test_ttest_ind(group1, group2, return_as="dataframe")
# Includes: p-value, effect size, CI, normality check, power

Full module status

🖥️ CLI Commands for Humans and AI Agents
scitex --help-recursive              # Show all commands
scitex scholar fetch "10.1038/..."   # Download paper by DOI
scitex scholar bibtex refs.bib       # Enrich BibTeX
scitex stats recommend               # Suggest statistical tests
scitex audio speak "Done"            # Text-to-speech
scitex capture snap                  # Screenshot

# List available APIs and tools
scitex list-python-apis              # List all Python APIs (210 items)
scitex mcp list-tools                # List all MCP tools (148 tools)
scitex introspect api scitex.stats   # List APIs for specific module

Full CLI reference

🔧 MCP Tools — 148 tools for AI Agents

Turn AI agents into autonomous scientific researchers.

Typical workflow: Scholar (find papers) → Stats (analyze) → Plt (visualize) → Writer (manuscript) → Capture (verify)

Category Tools Description
scholar 23 PDF download, metadata enrichment
stats 10 Automated statistical testing
plt 9 Matplotlib figure creation
capture 12 Screen monitoring and capture
audio 10 Text-to-speech, audio playback
introspect 11 Python introspection
diagram 7 Mermaid and flowchart creation
canvas 7 Scientific figure canvas
social 9 Social media posting
template 4 Project scaffolding
ui 5 Notifications
writer 1 LaTeX manuscript compilation

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

{
  "mcpServers": {
    "scitex": {
      "command": "/home/ywatanabe/.venv/bin/scitex",
      "args": ["mcp", "start"],
      "env": {
        "SCITEX_ENV_SRC": "${SCITEX_ENV_SRC}"
      }
    }
  }
}

Full MCP tool reference

🧩 Standalone Packages

SciTeX integrates several standalone packages that can be used independently:

Package scitex Module Description
figrecipe scitex.plt Publication-ready matplotlib figures
crossref-local scitex.scholar.crossref_scitex Local CrossRef database (167M+ papers)
openalex-local scitex.scholar.openalex_scitex Local OpenAlex database (250M+ papers)
socialia scitex.social Social media posting (Twitter, LinkedIn)
scitex-writer scitex.writer LaTeX manuscript compilation
scitex-dataset scitex.dataset Scientific dataset access

Each package works standalone or as part of scitex:

pip install figrecipe        # Use independently
pip install scitex[plt]      # Or via scitex

📖 Documentation

🤝 Contributing

We welcome contributions! See CONTRIBUTING.md.


SciTeX
AGPL-3.0 · ywatanabe@scitex.ai

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-2.16.0.tar.gz (14.6 MB view details)

Uploaded Source

Built Distribution

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

scitex-2.16.0-py3-none-any.whl (9.6 MB view details)

Uploaded Python 3

File details

Details for the file scitex-2.16.0.tar.gz.

File metadata

  • Download URL: scitex-2.16.0.tar.gz
  • Upload date:
  • Size: 14.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scitex-2.16.0.tar.gz
Algorithm Hash digest
SHA256 fb6267dd0565b967ec3701db5cbe2520303e38776ff5e18201e2a366804d5c96
MD5 95e6e7dfc5eeb1984098ef74d8f9030d
BLAKE2b-256 1f83cd0cd97db101439b51a62123d3e574a240b88b482678bf6b8f530d3ca287

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex-2.16.0.tar.gz:

Publisher: release.yml on ywatanabe1989/scitex-python

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-2.16.0-py3-none-any.whl.

File metadata

  • Download URL: scitex-2.16.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scitex-2.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a002a931b128f2d1e269b780f5a2ab769055741551d8a4fb77c3bce96e089b8
MD5 e68aa27c8809bfb4a3b238318e652b9b
BLAKE2b-256 a001df464805249c1c1df0328711b24bb751edbdea29530cc5c47129a55fc367

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex-2.16.0-py3-none-any.whl:

Publisher: release.yml on ywatanabe1989/scitex-python

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