github analyzed 838b652

ywatanabe1989/scitex-io

github

Universal scientific data I/O with a plugin format registry

maintainer
ywatanabe1989
license
AGPL-3.0
first seen
2026-06-05
last seen
2026-06-12
releases · 30d
9
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×4 in ywatanabe1989/scitex-io
capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 838b652 · analyzer v18 · 2h ago

skills & prompt files 1

danger signals4

code evidence vv0.3.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 72

  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_cache.py :10 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_cli/_skills.py :11 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_glob.py :10 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_json2md.py :45 with open(args.input, "r") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_linter_plugin.py :357 message="`open()` detected — use `stx.io.save()`/`stx.io.load()` which includes auto-logging",
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_ZarrExplorer.py :23 self.store = zarr.open(storepath, mode=mode)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_bibtex.py :52 with open(lpath, "r", encoding=encoding) as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_image.py :41 return Image.open(lpath, **pil_kwargs)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_joblib.py :15 with open(lpath, "rb") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_json.py :16 with open(lpath, "r") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_markdown.py :44 with open(lpath_md, "r") as file:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_pdf_content_extractors.py :69 with pdfplumber.open(lpath) as pdf:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_pdf_text_extractors.py :48 doc = fitz.open(lpath)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_pdf_utils.py :142 with open(lpath, "rb") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_pickle.py :14 with gzip.open(lpath, "rb") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_txt.py :25 # with open(lpath, "r", encoding="utf-8") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_yaml.py :16 with open(lpath) as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_zarr.py :32 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_loading/_load.py :15 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_loading/_load_configs.py :14 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_resources.py :50 with open(path, "w") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :20 """Glob filesystem paths with natural sort and optional placeholder parsing. Drop-in upgrade for `glob.glob`/`pathlib.Path.glob` that returns natsort-ordered hits and (with `parse=True`) extracts `{na
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :182 ' with open(path, "w") as f:\n'
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/embed_metadata_jpeg.py :29 img = Image.open(image_path)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/embed_metadata_pdf.py :49 with open(image_path, "wb") as output_file:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/embed_metadata_png.py :19 img = Image.open(image_path)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/embed_metadata_svg.py :21 with open(image_path, encoding="utf-8") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/read_metadata_jpeg.py :24 img = Image.open(image_path)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/read_metadata_png.py :24 img = Image.open(image_path)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_metadata_modules/read_metadata_svg.py :24 with open(image_path, encoding="utf-8") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_mv_to_tmp.py :6 from shutil import move
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_observers/__init__.py :26 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_path.py :172 import pathlib
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_registry.py :30 ... with open(path, "w") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save.py :34 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_bibtex.py :72 with open(spath, "w", encoding=encoding) as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_hdf5.py :13 import shutil
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_html.py :43 with open(spath, "w") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_image.py :139 img = Image.open(buf)
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_joblib.py :24 with open(spath, "wb") as s:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_json.py :69 with open(spath, "w") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_listed_dfs_as_csv.py :44 with open(spath_csv, mode="a") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_pickle.py :25 with open(spath, "wb") as s:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_tex.py :153 with open(spath, "w") as f:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_text.py :22 with open(spath, "w") as file:
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_yaml.py :6 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_save_modules/_zarr.py :69 root = zarr.open(store, mode="w")
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/_utils.py :8 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_Bundle.py :15 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_children.py :20 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_core.py :16 import shutil
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_loader.py :18 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_manifest.py :21 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_mpl_helpers.py :379 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_nested.py :31 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_saver.py :35 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_storage.py :20 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_validation.py :24 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/_zip.py :19 import shutil
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_figure/_bundle.py :16 import shutil
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_image/__init__.py :15 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_plot/_backend/_export.py :5 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_plot/_legacy.py :19 import shutil
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_plot/_overview.py :18 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_stats/_integration.py :22 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_editor/_app.py :27 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_export.py :8 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_figure_exporter.py :8 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_table_exporter.py :11 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_validator.py :12 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/schemas/__init__.py :9 from pathlib import Path
  • fs ywatanabe1989-scitex-io-838b652/src/scitex_io/utils/h5_to_zarr.py :10 from pathlib import Path

shell / exec 3

  • shell ywatanabe1989-scitex-io-838b652/src/scitex_io/_save.py :33 import subprocess
  • shell ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_editor/_app.py :24 import subprocess
  • shell ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_validator.py :8 import subprocess

network 1

  • net ywatanabe1989-scitex-io-838b652/src/scitex_io/bundle/kinds/_table/_latex/_editor/_app.py :23 import socket

database 1

  • db ywatanabe1989-scitex-io-838b652/src/scitex_io/_load_modules/_sqlite3.py :12 import sqlite3

tool registrations 22

  • io_glob ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :16
  • io_parse_glob ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :42
  • io_get_loader ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :64
  • io_get_saver ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :83
  • io_read_metadata ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :102
  • io_has_metadata ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :119
  • io_embed_metadata ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :136
  • io_get_cache_info ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :156
  • io_clear_load_cache ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :164
  • io_configure_cache ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :173
  • io_explore_h5 ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :196
  • io_explore_zarr ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :214
  • io_has_h5_key ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :232
  • io_has_zarr_key ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :251
  • io_json2md ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/_tools_extra.py :270
  • io_list_formats ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :28
  • io_load ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :43
  • io_save ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :92
  • io_load_configs ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :127
  • io_register_info ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :167
  • io_skills_list ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :197
  • io_skills_get ywatanabe1989-scitex-io-838b652/src/scitex_io/_mcp/server.py :219

declared dependencies 28

  • tqdm@*
  • PyYAML@*
  • ruamel.yaml@*
  • mne@*
  • numpy@*
  • pandas@*
  • click@>=8.0.0
  • rich@>=13.0.0
  • scitex-dev@>=0.11.7
  • scitex-logging@>=0.1.0
  • natsort@>=8.0
  • fastmcp@>=2.0
  • scipy@*
  • h5py@*
  • zarr@>=3
  • numcodecs@*
  • matplotlib@*
  • optuna@*
  • figrecipe@>=0.28
  • pytest@>=7.0
  • pytest-cov@*
  • plotly@*
  • Pillow@*
  • sphinx@>=7.0
  • sphinx-rtd-theme@>=2.0
  • myst-parser@>=2.0
  • sphinx-copybutton@>=0.5
  • sphinx-autodoc-typehints@>=1.25