From sciris
Handles Sciris file I/O: save/load Python objects, JSON/YAML, archives with metadata, file utilities, and versioning/reproducibility checks.
npx claudepluginhub sciris/scirisThis skill uses the workspace's default tool permissions.
Reference for file I/O and version management. See full tutorial: `docs/tutorials/tut_files.ipynb`.
Provides code patterns for basic Sciris features: array operations like findinds, date-formatted plotting, objdict containers, object save/load, and parallelization.
Automates backups for Jupyter notebooks, data files, HackMD presentations, and Python projects with intelligent type detection, skill-integrated cleanup, rolling daily backups, compressed milestones, and CHANGELOG tracking.
Inspects research repositories and generates .research/ manifests (project_manifest.yml, experiment_matrix.yml, data_dictionary.yml) from README, package files, git log, and project dirs for future AI sessions to skip rescanning. Triggered by 'compress project context' or similar.
Share bugs, ideas, or general feedback.
Reference for file I/O and version management. See full tutorial: docs/tutorials/tut_files.ipynb.
If you need more detail, use your MCP tools (Context7 or GitMCP) to look up current Sciris documentation, or consult the other Sciris skills.
sc.save('my-sim.obj', sim) # Gzipped pickle (works with any Python object)
sim = sc.load('my-sim.obj') # Load — methods and class still work
sc.zsave('fast.obj', sim) # Zstandard compression (slightly faster)
# sc.load() auto-detects compression format
sc.savejson('data.json', obj) # Saves JSONifiable parts of any object
data = sc.loadjson('data.json') # Returns dict (not original object)
data = sc.readjson(json_string) # Parse JSON from string
data = sc.readyaml(yaml_string) # Parse YAML (supports comments)
sc.saveyaml('config.yaml', data)
sc.getfilelist('*.ipynb') # List files matching pattern
sc.thispath() # Path of current file (use instead of pathlib.Path)
sc.makefilepath('data/out.csv', makedirs=True) # Ensure path exists
sc.rmpath('file_or_folder') # Remove file or folder (auto-detects)
md = sc.metadata() # Collect all environment metadata
sc.compareversions(np, '>1.0') # Version comparison (returns True/False)
sc.require('numpy>1.20') # Warn/raise if requirement not met
sc.savefig('fig.png', comments='My analysis') # Saves with metadata (use instead of plt.savefig)
md = sc.loadmetadata('fig.png') # Retrieve metadata later
sc.savearchive('sim.zip', sim, files='script.py', comments='Full run')
sim = sc.loadarchive('sim.zip') # Restore object
md = sc.loadmetadata('sim.zip') # Get metadata separately