github Python analyzed 984cea0

ywatanabe1989/scitex-io

github

Universal scientific data I/O with a plugin format registry

maintainer
ywatanabe1989
licence
AGPL-3.0
first seen
2026-06-05
last seen
2026-06-27
releases · 30d
0
short id

Drift inferred · capture-to-capture

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

tools

  • io_clear_load_cache
  • io_configure_cache
  • io_embed_metadata
  • io_explore_h5
  • io_explore_zarr
  • io_get_cache_info
  • io_get_loader
  • io_get_saver
  • io_glob
  • io_has_h5_key
  • io_has_metadata
  • io_has_zarr_key
  • io_json2md
  • io_list_formats
  • io_load
  • io_load_configs
  • io_parse_glob
  • io_read_metadata
  • io_register_info
  • io_save
  • io_skills_get
  • io_skills_list
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 984cea0 · analyzer v33 · 4d ago

skills & prompt files 1

danger signals5

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

code files: 391

filesystem 149

  • fs (weak) scitex-ai-scitex-io-984cea0/examples/02_custom_format.py :22 with open(path, "w") as f:
  • fs (weak) scitex-ai-scitex-io-984cea0/examples/03_load_configs.py :16 import shutil
  • fs (weak) scitex-ai-scitex-io-984cea0/examples/05_metadata_embedding.py :55 with open(path, "wb") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_cache.py :10 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_cli/_skills.py :11 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_glob.py :10 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_json2md.py :45 with open(args.input, "r") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_linter/plugin.py :155 message="`open()` detected — use `stx.io.save()`/`stx.io.load()` which includes auto-logging",
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_ZarrExplorer.py :23 self.store = zarr.open(storepath, mode=mode)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_bibtex.py :52 with open(lpath, "r", encoding=encoding) as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_image.py :41 return Image.open(lpath, **pil_kwargs)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_joblib.py :15 with open(lpath, "rb") as f:
show 28 more
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_json.py :16 with open(lpath, "r") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_markdown.py :44 with open(lpath_md, "r") as file:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_pdf_content_extractors.py :69 with pdfplumber.open(lpath) as pdf:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_pdf_text_extractors.py :48 doc = fitz.open(lpath)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_pdf_utils.py :142 with open(lpath, "rb") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_pickle.py :14 with gzip.open(lpath, "rb") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_txt.py :25 # with open(lpath, "r", encoding="utf-8") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_yaml.py :16 with open(lpath) as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_load_modules/_zarr.py :32 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_loading/_load.py :15 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_loading/_load_configs.py :14 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_mcp/_resources.py :50 with open(path, "w") as f:
  • fs scitex-ai-scitex-io-984cea0/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 scitex-ai-scitex-io-984cea0/src/scitex_io/_mcp/server.py :182 ' with open(path, "w") as f:\n'
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/embed_metadata_jpeg.py :29 img = Image.open(image_path)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/embed_metadata_pdf.py :49 with open(image_path, "wb") as output_file:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/embed_metadata_png.py :19 img = Image.open(image_path)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/embed_metadata_svg.py :21 with open(image_path, encoding="utf-8") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/read_metadata_jpeg.py :24 img = Image.open(image_path)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/read_metadata_png.py :24 img = Image.open(image_path)
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_metadata_modules/read_metadata_svg.py :24 with open(image_path, encoding="utf-8") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_observers/__init__.py :26 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_path_modules/_mv_to_tmp.py :6 from shutil import move
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_path_modules/_path.py :172 import pathlib
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_path_modules/_symlink.py :17 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_registry.py :30 ... with open(path, "w") as f:
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_save.py :33 from pathlib import Path
  • fs scitex-ai-scitex-io-984cea0/src/scitex_io/_save_modules/_bibtex.py :72 with open(spath, "w", encoding=encoding) as f:

109 more not shown — this panel samples each group; the count above is the real total.

shell / exec 13

  • shell scitex-ai-scitex-io-984cea0/src/scitex_io/_path_modules/_symlink.py :16 import subprocess
  • shell scitex-ai-scitex-io-984cea0/src/scitex_io/bundle/kinds/_table/_latex/_editor/_app.py :24 import subprocess
  • shell scitex-ai-scitex-io-984cea0/src/scitex_io/bundle/kinds/_table/_latex/_validator.py :8 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_01_basic_save_load.py :3 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_02_custom_format.py :3 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_03_load_configs.py :3 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_04_dotdict.py :3 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_05_metadata_embedding.py :3 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/examples/test_scitex_io_lint.py :17 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/scitex_io/test___main__.py :11 import subprocess
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/scitex_io/test__glob.py :641 pattern = str(tmp_path / "test.txt'; import os; os.system('echo hacked')")
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/scitex_io/test__save.py :843 import subprocess as _subproc
show 1 more
  • shell (weak) scitex-ai-scitex-io-984cea0/tests/scitex_io/test__utils.py :900 import subprocess as _subproc_dt

network 1

  • net scitex-ai-scitex-io-984cea0/src/scitex_io/bundle/kinds/_table/_latex/_editor/_app.py :23 import socket

database 1

  • db (weak) scitex-ai-scitex-io-984cea0/tests/scitex_io/test__optional_providers_db.py :22 import sqlite3

tool registrations 22

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

declared dependencies 39

  • fastmcp@>=2.0
  • tqdm@*
  • PyYAML@*
  • ruamel.yaml@*
  • scitex-io@*
  • mne@*
  • scipy@*
  • h5py@*
  • zarr@>=3
  • numcodecs@*
  • matplotlib@*
  • optuna@*
show 27 more
  • figrecipe@>=0.28
  • scitex-db@>=0.1.11
  • pytest@>=7.0
  • pytest-cov@*
  • plotly@*
  • Pillow@*
  • pymatreader@*
  • openpyxl@*
  • pyarrow@*
  • torch@*
  • joblib@*
  • PyPDF2@*
  • pypdf@*
  • pdfplumber@*
  • PyMuPDF@*
  • scikit-learn@*
  • piexif@*
  • markdown@*
  • html2text@*
  • kaleido@*
  • python-docx@*
  • scitex-stats@>=0.2.22
  • sphinx@>=7.0
  • sphinx-rtd-theme@>=2.0
  • myst-parser@>=2.0
  • sphinx-copybutton@>=0.5
  • sphinx-autodoc-typehints@>=1.25