https://github.com/ywatanabe1989/scitex-python
Python toolkit for reproducible science. CLI commands, 371+ MCP tools, built-in skills. From raw data to manuscript — with reproducibility verification. For AI and human researchers.
https://github.com/ywatanabe1989/scitex-python
academic-writing ai-research automation bibtex data-visualization generative-ai latex literature-review machine-learning matplotlib mcp mcp-server pandas python pytorch reproducibility research-automation scientific-computing scitex statistics
Last synced: 5 days ago
JSON representation
Python toolkit for reproducible science. CLI commands, 371+ MCP tools, built-in skills. From raw data to manuscript — with reproducibility verification. For AI and human researchers.
- Host: GitHub
- URL: https://github.com/ywatanabe1989/scitex-python
- Owner: ywatanabe1989
- License: agpl-3.0
- Created: 2025-06-13T12:12:28.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-03-29T00:15:45.000Z (9 days ago)
- Last Synced: 2026-03-29T01:52:57.613Z (9 days ago)
- Topics: academic-writing, ai-research, automation, bibtex, data-visualization, generative-ai, latex, literature-review, machine-learning, matplotlib, mcp, mcp-server, pandas, python, pytorch, reproducibility, research-automation, scientific-computing, scitex, statistics
- Language: Python
- Homepage: https://scitex.ai
- Size: 98.3 MB
- Stars: 61
- Watchers: 0
- Forks: 19
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Cla: CLA.md
Awesome Lists containing this project
README
scitex.ai · Read the Docs · pip install scitex
---
# SciTeX — Modular Python Toolkit for Researchers and AI Agents
>Four Freedoms for Research
>
>0. The freedom to **run** your research anywhere — your machine, your terms.
>1. The freedom to **study** how every step works — from raw data to final manuscript.
>2. The freedom to **redistribute** your workflows, not just your papers.
>3. 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.
## 🎬 Demo
**40 min, zero human intervention** — AI agent conducts full research pipeline:
> Literature search → Data analysis → Statistics → Figures → 21-page manuscript → Peer review simulation
## 📦 Installation
``` bash
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/`:
```bash
# 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](./.env.d.examples/README.md)**
## Three Interfaces
🐍 Python API for Humans and AI Agents
**`@stx.session`** — Reproducible Experiment Tracking
```python
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)
```python
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)
```python
result = stx.stats.test_ttest_ind(group1, group2, return_as="dataframe")
# Includes: p-value, effect size, CI, normality check, power
```
→ **[Full module status](./docs/MODULE_STATUS.md)**
🖥️ CLI Commands for Humans and AI Agents
```bash
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](./docs/CLI_COMMANDS.md)**
🔧 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`):
```json
{
"mcpServers": {
"scitex": {
"command": "scitex",
"args": ["mcp", "start"],
"env": {
"SCITEX_ENV_SRC": "${SCITEX_ENV_SRC}"
}
}
}
}
```
→ **[Full MCP tool reference](./docs/MCP_TOOLS.md)**
## 🧩 Standalone Packages
SciTeX integrates several standalone packages that can be used independently:
| Package | scitex Module | Description |
|---------|--------------|-------------|
| [figrecipe](https://github.com/ywatanabe1989/figrecipe) | `scitex.plt` | Publication-ready matplotlib figures |
| [crossref-local](https://github.com/ywatanabe1989/crossref-local) | `scitex.scholar.crossref_scitex` | Local CrossRef database (167M+ papers) |
| [openalex-local](https://github.com/ywatanabe1989/openalex-local) | `scitex.scholar.openalex_scitex` | Local OpenAlex database (250M+ papers) |
| [socialia](https://github.com/ywatanabe1989/socialia) | `scitex.social` | Social media posting (Twitter, LinkedIn) |
| [scitex-writer](https://github.com/ywatanabe1989/scitex-writer) | `scitex.writer` | LaTeX manuscript compilation |
| [scitex-dataset](https://github.com/ywatanabe1989/scitex-dataset) | `scitex.dataset` | Scientific dataset access |
Each package works standalone or as part of scitex:
```bash
pip install figrecipe # Use independently
pip install scitex[plt] # Or via scitex
```
## 📖 Documentation
- **[Read the Docs](https://scitex-python.readthedocs.io/)**: Complete API reference
- **[Examples](./examples/)**: Usage examples and demonstrations
## 🤝 Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md).
---