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 · Read the Docs · pip install scitex


SciTeX — Modular Python Toolkit for Researchers and AI Agents

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 research infrastructure deserves the same freedoms as the software it runs on.

SciTeX Ecosystem

🎬 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 (120+ tools)
scitex introspect api scitex.stats   # List APIs for specific module

Full CLI reference

🔧 MCP Tools — 120+ 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
writer 28 LaTeX manuscript compilation
scholar 23 PDF download, metadata enrichment
capture 12 Screen monitoring and capture
introspect 12 Python code introspection
audio 10 Text-to-speech, audio playback
stats 10 Automated statistical testing
plt 9 Matplotlib figure creation
diagram 9 Mermaid and Graphviz diagrams
dataset 8 Scientific dataset access
social 7 Social media posting
canvas 7 Scientific figure canvas
template 6 Project scaffolding
verify 6 Reproducibility verification
dev 6 Ecosystem version management
ui 5 Notifications
linter 3 Code pattern checking

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

{
  "mcpServers": {
    "scitex": {
      "command": "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

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.17.12.tar.gz (9.2 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.17.12-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scitex-2.17.12.tar.gz
  • Upload date:
  • Size: 9.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for scitex-2.17.12.tar.gz
Algorithm Hash digest
SHA256 20226d805d999fac4a5f1228fb1c93e62a9445b76e68405a474a5a41e092b4d0
MD5 ee02753e9b19e4c5067a02ef210afaad
BLAKE2b-256 9e9393e5b9d85f2a75894871ef6db847e9f042f8c1a07dcf029d10ce43eaccde

See more details on using hashes here.

File details

Details for the file scitex-2.17.12-py3-none-any.whl.

File metadata

  • Download URL: scitex-2.17.12-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for scitex-2.17.12-py3-none-any.whl
Algorithm Hash digest
SHA256 4de7624799f474e39ea5527307f6224ef098327b012030c23f32bdd415753094
MD5 8142df5bdacfeb2f08e43b9a3db48df3
BLAKE2b-256 93cefef678db686e6ce44ca6ab215dcec78de09cbaf24a8e4ef6e3485951722a

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