{"id":40994197,"url":"https://github.com/ywatanabe1989/scitex-python","last_synced_at":"2026-04-01T21:01:36.657Z","repository":{"id":300325207,"uuid":"1001456268","full_name":"ywatanabe1989/scitex-python","owner":"ywatanabe1989","description":"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.","archived":false,"fork":false,"pushed_at":"2026-03-29T00:15:45.000Z","size":103097,"stargazers_count":61,"open_issues_count":14,"forks_count":19,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T01:52:57.613Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://scitex.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ywatanabe1989.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"},"funding":{"github":"ywatanabe1989","buy_me_a_coffee":"ywatanabe","custom":["https://scitex.ai/donate/"]}},"created_at":"2025-06-13T12:12:28.000Z","updated_at":"2026-03-28T15:27:12.000Z","dependencies_parsed_at":"2026-01-07T12:03:29.222Z","dependency_job_id":"87e53ee4-49c8-449b-b749-756f6f21681c","html_url":"https://github.com/ywatanabe1989/scitex-python","commit_stats":null,"previous_names":["ywatanabe1989/scitex-code","ywatanabe1989/scitex-python"],"tags_count":71,"template":false,"template_full_name":null,"purl":"pkg:github/ywatanabe1989/scitex-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywatanabe1989%2Fscitex-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywatanabe1989%2Fscitex-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywatanabe1989%2Fscitex-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywatanabe1989%2Fscitex-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ywatanabe1989","download_url":"https://codeload.github.com/ywatanabe1989/scitex-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywatanabe1989%2Fscitex-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2026-01-22T08:07:23.004Z","updated_at":"2026-04-01T21:01:36.608Z","avatar_url":"https://github.com/ywatanabe1989.png","language":"Python","readme":"\u003c!-- ---\n!-- Timestamp: 2026-02-16 10:13:53\n!-- Author: ywatanabe\n!-- File: /home/ywatanabe/proj/scitex-python/README.md\n!-- --- --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scitex.ai\"\u003e\n    \u003cimg src=\"docs/assets/images/scitex-logo-blue-cropped.png\" alt=\"SciTeX\" width=\"400\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://badge.fury.io/py/scitex\"\u003e\u003cimg src=\"https://badge.fury.io/py/scitex.svg\" alt=\"PyPI version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/scitex/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/pyversions/scitex.svg\" alt=\"Python Versions\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ywatanabe1989/scitex-python/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/ywatanabe1989/scitex-python\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/uv-recommended-blue\" alt=\"uv recommended\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scitex.ai\"\u003escitex.ai\u003c/a\u003e · \u003ca href=\"https://scitex-python.readthedocs.io\"\u003eRead the Docs\u003c/a\u003e · \u003ccode\u003epip install scitex\u003c/code\u003e\n\u003c/p\u003e\n\n---\n\n# SciTeX — Modular Python Toolkit for Researchers and AI Agents\n\n\u003eFour Freedoms for Research\n\u003e\n\u003e0. The freedom to **run** your research anywhere — your machine, your terms.\n\u003e1. The freedom to **study** how every step works — from raw data to final manuscript.\n\u003e2. The freedom to **redistribute** your workflows, not just your papers.\n\u003e3. The freedom to **modify** any module and share improvements with the community.\n\u003e\n\u003eAGPL-3.0 — because research infrastructure deserves the same freedoms as the software it runs on.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"scripts/assets/workflow_out/workflow.png\" alt=\"SciTeX Ecosystem\" width=\"800\"\u003e\n\u003c/p\u003e\n\n## 🎬 Demo\n\n**40 min, zero human intervention** — AI agent conducts full research pipeline:\n\n\u003e Literature search → Data analysis → Statistics → Figures → 21-page manuscript → Peer review simulation\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scitex.ai/demos/watch/scitex-automated-research/\" title=\"▶ Watch full demo at scitex.ai/demos/\"\u003e\n    \u003cimg src=\"docs/assets/images/scitex-demo.gif\" alt=\"SciTeX Demo\" width=\"800\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 📦 Installation\n\n\n``` bash\nuv pip install scitex          # Core (minimal)\nuv pip install scitex[plt,stats,scholar]  # Typical research setup\nuv pip install scitex[all]     # Recommended: Full installation\n```\n\n## ⚙️ Configuration\n\nModular environment configuration via `.env.d/`:\n\n\u003cdetails\u003e\n\n```bash\n# 1. Copy examples\ncp -r .env.d.examples .env.d\n\n# 2. Edit with your credentials\n$EDITOR .env.d/\n\n# 3. Source in shell (~/.bashrc or ~/.zshrc)\nsource /path/to/.env.d/entry.src\n```\n\n**Structure:**\n```\n.env.d/\n├── entry.src              # Single entry point\n├── 00_scitex.env          # Base settings (SCITEX_DIR)\n├── 00_crossref-local.env  # CrossRef database\n├── 00_figrecipe.env       # Plotting config\n├── 01_scholar.env         # OpenAthens, API keys\n├── 01_audio.env           # TTS backends\n└── ...                    # Per-module configs\n```\n\n→ **[Full configuration reference](./.env.d.examples/README.md)**\n\n\u003c/details\u003e\n\n## Three Interfaces\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🐍 Python API for Humans and AI Agents\u003c/strong\u003e\u003c/summary\u003e\n\n\u003cbr\u003e\n\n**`@stx.session`** — Reproducible Experiment Tracking\n\n```python\nimport scitex as stx\n\n@stx.session\ndef main(filename=\"demo.jpg\"):\n    fig, ax = stx.plt.subplots()\n    ax.plot_line(t, signal)\n    ax.set_xyt(\"Time (s)\", \"Amplitude\", \"Title\")\n    stx.io.save(fig, filename)\n    return 0\n```\n\n**Output**:\n```\nscript_out/FINISHED_SUCCESS/2025-01-08_12-30-00_AbC1/\n├── demo.jpg                    # Figure with embedded metadata\n├── demo.csv                    # Auto-exported plot data\n├── CONFIGS/CONFIG.yaml         # Reproducible parameters\n└── logs/{stdout,stderr}.log    # Execution logs\n```\n\n**`stx.io`** — Universal File I/O (30+ formats)\n\n```python\nstx.io.save(df, \"output.csv\")\nstx.io.save(fig, \"output.jpg\")\ndf = stx.io.load(\"output.csv\")\n```\n\n**`stx.stats`** — Publication-Ready Statistics (23 tests)\n\n```python\nresult = stx.stats.test_ttest_ind(group1, group2, return_as=\"dataframe\")\n# Includes: p-value, effect size, CI, normality check, power\n```\n\n→ **[Full module status](./docs/MODULE_STATUS.md)**\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🖥️ CLI Commands for Humans and AI Agents\u003c/strong\u003e\u003c/summary\u003e\n\n\u003cbr\u003e\n\n```bash\nscitex --help-recursive              # Show all commands\nscitex scholar fetch \"10.1038/...\"   # Download paper by DOI\nscitex scholar bibtex refs.bib       # Enrich BibTeX\nscitex stats recommend               # Suggest statistical tests\nscitex audio speak \"Done\"            # Text-to-speech\nscitex capture snap                  # Screenshot\n\n# List available APIs and tools\nscitex list-python-apis              # List all Python APIs (210 items)\nscitex mcp list-tools                # List all MCP tools (120+ tools)\nscitex introspect api scitex.stats   # List APIs for specific module\n```\n\n→ **[Full CLI reference](./docs/CLI_COMMANDS.md)**\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e🔧 MCP Tools — 120+ tools for AI Agents\u003c/strong\u003e\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTurn AI agents into autonomous scientific researchers.\n\n**Typical workflow**: Scholar (find papers) → Stats (analyze) → Plt (visualize) → Writer (manuscript) → Capture (verify)\n\n| Category | Tools | Description |\n|----------|-------|-------------|\n| writer | 28 | LaTeX manuscript compilation |\n| scholar | 23 | PDF download, metadata enrichment |\n| capture | 12 | Screen monitoring and capture |\n| introspect | 12 | Python code introspection |\n| audio | 10 | Text-to-speech, audio playback |\n| stats | 10 | Automated statistical testing |\n| plt | 9 | Matplotlib figure creation |\n| diagram | 9 | Mermaid and Graphviz diagrams |\n| dataset | 8 | Scientific dataset access |\n| social | 7 | Social media posting |\n| canvas | 7 | Scientific figure canvas |\n| template | 6 | Project scaffolding |\n| verify | 6 | Reproducibility verification |\n| dev | 6 | Ecosystem version management |\n| ui | 5 | Notifications |\n| linter | 3 | Code pattern checking |\n\n**Claude Desktop** (`~/.config/claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"scitex\": {\n      \"command\": \"scitex\",\n      \"args\": [\"mcp\", \"start\"],\n      \"env\": {\n        \"SCITEX_ENV_SRC\": \"${SCITEX_ENV_SRC}\"\n      }\n    }\n  }\n}\n```\n\n→ **[Full MCP tool reference](./docs/MCP_TOOLS.md)**\n\n\u003c/details\u003e\n\n## 🧩 Standalone Packages\n\nSciTeX integrates several standalone packages that can be used independently:\n\n\u003cdetails\u003e\n\n| Package | scitex Module | Description |\n|---------|--------------|-------------|\n| [figrecipe](https://github.com/ywatanabe1989/figrecipe) | `scitex.plt` | Publication-ready matplotlib figures |\n| [crossref-local](https://github.com/ywatanabe1989/crossref-local) | `scitex.scholar.crossref_scitex` | Local CrossRef database (167M+ papers) |\n| [openalex-local](https://github.com/ywatanabe1989/openalex-local) | `scitex.scholar.openalex_scitex` | Local OpenAlex database (250M+ papers) |\n| [socialia](https://github.com/ywatanabe1989/socialia) | `scitex.social` | Social media posting (Twitter, LinkedIn) |\n| [scitex-writer](https://github.com/ywatanabe1989/scitex-writer) | `scitex.writer` | LaTeX manuscript compilation |\n| [scitex-dataset](https://github.com/ywatanabe1989/scitex-dataset) | `scitex.dataset` | Scientific dataset access |\n\nEach package works standalone or as part of scitex:\n\n```bash\npip install figrecipe        # Use independently\npip install scitex[plt]      # Or via scitex\n```\n\n\u003c/details\u003e\n\n## 📖 Documentation\n\n- **[Read the Docs](https://scitex-python.readthedocs.io/)**: Complete API reference\n- **[Examples](./examples/)**: Usage examples and demonstrations\n\n## 🤝 Contributing\n\nWe welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scitex.ai\" target=\"_blank\"\u003e\u003cimg src=\"docs/assets/images/scitex-icon-navy-inverted.png\" alt=\"SciTeX\" width=\"40\"/\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  AGPL-3.0\n\u003c/p\u003e\n\n\u003c!-- EOF --\u003e","funding_links":["https://github.com/sponsors/ywatanabe1989","https://buymeacoffee.com/ywatanabe","https://scitex.ai/donate/"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fywatanabe1989%2Fscitex-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fywatanabe1989%2Fscitex-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fywatanabe1989%2Fscitex-python/lists"}