sciris 3.2.5__tar.gz → 3.2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sciris-3.2.5 → sciris-3.2.8}/.github/workflows/schedule_tests.yaml +1 -1
- sciris-3.2.8/.pylintrc +116 -0
- {sciris-3.2.5 → sciris-3.2.8}/CHANGELOG.rst +24 -1
- {sciris-3.2.5 → sciris-3.2.8}/CLAUDE.md +19 -31
- {sciris-3.2.5/sciris.egg-info → sciris-3.2.8}/PKG-INFO +1 -1
- sciris-3.2.8/context7.json +4 -0
- sciris-3.2.8/docs/_build/html/_static/scripts/bootstrap.js.LICENSE.txt +5 -0
- sciris-3.2.8/docs/_build/html/_static/scripts/fontawesome.js.LICENSE.txt +5 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.rst +48 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_asd.asd.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_asd.rst +34 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.alpinecolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.arraycolors.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.bandedcolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.bicolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.colormapdemo.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.gridcolors.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.hex2rgb.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.hsv2rgb.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.manualcolorbar.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.midpointnorm.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.orangebluecolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.parulacolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.rgb2hex.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.rgb2hsv.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.rst +51 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.sanitizecolor.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.shifthue.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.turbocolormap.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_colors.vectocolor.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_dataframe.dataframe.rst +45 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_dataframe.rst +34 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.Timer.rst +29 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.date.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.datedelta.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.daterange.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.datetoyear.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.day.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.daydiff.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.elapsedtimestr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.getdate.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.now.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.randsleep.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.readdate.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.rst +60 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.tic.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.time.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.timedsleep.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.timer.rst +29 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.toc.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.toctic.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_datetime.yeartodate.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.Blobject.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.Failed.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.Spreadsheet.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.UnpicklingError.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.UnpicklingWarning.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.dumpstr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.getfilelist.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.getfilepaths.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.glob.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.ispath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.jsonify.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.jsonpickle.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.jsonunpickle.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.load.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadany.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadjson.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadobj.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadspreadsheet.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadstr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadtext.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadyaml.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.loadzip.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.makefilepath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.makepath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.path.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.printjson.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.readjson.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.readyaml.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.rmpath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.rst +91 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.sanitizefilename.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.sanitizejson.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.sanitizepath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.save.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.savejson.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.saveobj.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.savespreadsheet.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.savetext.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.saveyaml.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.savezip.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.thisdir.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.thisfile.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.thispath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.unzip.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_fileio.zsave.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.approx.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.cat.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.convolve.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.count.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.dataindex.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.fillnans.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.findfirst.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.findinds.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.findlast.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.findnans.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.findnearest.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.gauss1d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.gauss2d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.getvaliddata.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.getvalidinds.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.inclusiverange.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.isprime.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.linregress.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.nanequal.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.normalize.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.normsum.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.numdigits.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.perturb.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.randround.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.rmnans.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.rolling.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.rst +65 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.safedivide.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.sanitize.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.sem.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.similarity.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.smooth.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_math.smoothinterp.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.Equal.rst +32 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.IterObj.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.equal.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.flattendict.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.getnested.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.iternested.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.iterobj.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.makenested.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.mergenested.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.nestedloop.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.rst +53 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.search.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_nested.setnested.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.argparse.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.asobj.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.counter.rst +26 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.ddict.rst +26 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.dictobj.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.objdict.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.odict.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_odict.rst +48 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.Parallel.rst +28 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.cpu_count.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.cpuload.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.loadbalancer.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.memload.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.parallelize.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_parallel.rst +47 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.SIticks.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.ScirisDateFormatter.rst +27 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.animation.rst +27 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.ax3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.bar3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.boxoff.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.commaticks.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.dateformatter.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.datenumformatter.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.emptyfig.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.fig3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.figlayout.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.fonts.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.get_rows_cols.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.getrowscols.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.loadfig.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.maximize.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.movelegend.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.orderlegend.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.plot3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.rst +71 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.savefig.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.savefigs.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.savemovie.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.scatter3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.separatelegend.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.setaxislim.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.setxlim.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.setylim.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.stackedbar.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_plotting.surf3d.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.arraymean.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.arraymedian.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.blank.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.capture.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.classatt.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.colorize.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.createcollist.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.heading.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.humanize_bytes.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.indent.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.objatt.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.objectid.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.objmeth.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.objprop.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.objrepr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.percentcomplete.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.pr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.prepr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.prettyobj.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printarr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printblue.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printcyan.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printdata.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printgreen.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printmagenta.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printmean.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printmedian.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printred.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printtologfile.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printv.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printvars.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.printyellow.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.progressbar.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.progressbars.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.quickobj.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.rst +80 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.sigfig.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.sigfiground.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.sigfigs.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_printing.slacknotification.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.LimitExceeded.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.benchmark.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.checkmem.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.checkram.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.cprofile.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.listfuncs.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.mprofile.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.profile.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.resourcemonitor.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.rst +57 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_profiling.tracecalls.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_settings.ScirisOptions.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_settings.help.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_settings.parse_env.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_settings.rst +44 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.KeyNotFoundError.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.LazyModule.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.Link.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.LinkException.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.asciify.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.autolist.rst +20 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.checktype.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.cp.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.dcp.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.download.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.fast_uuid.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.flexstr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.getplatform.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.getuser.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.htmlify.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.ifelse.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.importbyname.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.importbypath.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isarray.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isfunc.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isiterable.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isjupyter.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.islinux.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.ismac.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.ismodule.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isnumber.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.isstring.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.iswindows.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.mergedicts.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.mergelists.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.newlinejoin.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.pp.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.promotetoarray.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.promotetolist.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.robust_dcp.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.rst +98 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.runcommand.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.sanitizestr.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.sha.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.strjoin.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.strsplit.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.suggest.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.swapdict.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.toarray.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.tolist.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.traceback.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.transposelist.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.tryexcept.rst +28 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.uniquename.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.urlopen.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.uuid.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_utils.wget.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_version.rst +25 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.compareversions.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.freeze.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.getcaller.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.gitinfo.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.loadarchive.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.loadmetadata.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.metadata.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.require.rst +6 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.rst +42 -0
- sciris-3.2.8/docs/api/_autosummary/sciris.sc_versioning.savearchive.rst +6 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/requirements.txt +1 -1
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_asd.py +185 -128
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_odict.py +151 -36
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_parallel.py +6 -8
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_printing.py +25 -7
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_profiling.py +21 -6
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_utils.py +2 -1
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_version.py +3 -3
- {sciris-3.2.5 → sciris-3.2.8/sciris.egg-info}/PKG-INFO +1 -1
- sciris-3.2.8/sciris.egg-info/SOURCES.txt +455 -0
- sciris-3.2.8/tests/check_style +12 -0
- sciris-3.2.8/tests/pylint_report.txt +1057 -0
- sciris-3.2.8/tests/test_both_parallelizers.py +27 -0
- sciris-3.2.8/tests/test_mp_objdict.py +52 -0
- sciris-3.2.8/tests/test_objdict_pickle_detailed.py +61 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_odict.py +1 -1
- sciris-3.2.8/tests/test_parallel_mp.py +12 -0
- sciris-3.2.8/tests/test_parallel_odict.py +12 -0
- sciris-3.2.8/tests/test_pickle_objdict.py +31 -0
- sciris-3.2.5/llms.txt +0 -379
- sciris-3.2.5/sciris.egg-info/SOURCES.txt +0 -145
- {sciris-3.2.5 → sciris-3.2.8}/.github/workflows/pypi_release.yaml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/.github/workflows/test_downstream.yaml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/.github/workflows/test_sciris.yaml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/.gitignore +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/.readthedocs.yaml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/CODE_OF_CONDUCT.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/CONTRIBUTING.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/LICENSE +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/MANIFEST.in +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/README.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/STYLE_GUIDE.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/.gitignore +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/Makefile +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/README.md +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_static/theme_overrides.css +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_templates/custom-class-template.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_templates/custom-function-template.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_templates/custom-module-template.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_templates/footer.html +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/_templates/page.html +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/all.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/containers.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/files.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/index.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/math.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/parallel.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/printing.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/api/utils.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/build_docs +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/conf.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/contributing.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/favicon.ico +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/freeze_env +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/index.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/overview.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-citation.bib +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-logo-grey-small.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-logo-grey.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-logo-white-small.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-logo.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-showcase-code.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/sciris-showcase-output.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/README.md +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/clean_outputs +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/dancing_lines.gif +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-advanced.gif +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-arrays.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-dates.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-dicts.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-files.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-intro.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-parallel.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-plotting.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-printing.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/img-utils.png +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/index.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/run_tutorials +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/sim1/sim.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/sim2/sim.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_advanced.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_arrays.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_dates.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_dicts.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_files.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_intro.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_parallel.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_plotting.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_printing.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/tutorials/tut_utils.ipynb +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/docs/whatsnew.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/pyproject.toml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/README.md +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/__init__.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/_extras/README.md +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/_extras/__init__.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/_extras/ansicolors.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/_extras/legacy.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/fancy.mplstyle +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_colors.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_dataframe.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_datetime.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_fileio.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_math.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_nested.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_plotting.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_settings.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/sc_versioning.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris/simple.mplstyle +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris.egg-info/dependency_links.txt +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris.egg-info/requires.txt +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/sciris.egg-info/top_level.txt +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/setup.cfg +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/.coveragerc +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/README.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/check_coverage +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/archive_2023-04-19.zip +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/deadclass.obj +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/deadclass.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/exampledata.xlsx +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/examplefont.ttf +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/make_archive.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/make_deadclass.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/pickle_2021-01-01.obj +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/files/pickle_2022-01-01.obj +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/pytest.ini +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/README.rst +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/run_downstream +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/run_regression +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/sciris2021-01-01.yml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/sciris2022-01-01.yml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/sciris2023-01-01.yml +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/regression/setup_envs +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/requirements.txt +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/run_tests +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/sc_test_utils.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/showcase_sciris.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/showcase_vanilla.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_asd.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_colors.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_dataframe.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_datetime.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_fileio.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_math.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_nested.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_parallel.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_plotting.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_printing.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_profiling.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_settings.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_utils.py +0 -0
- {sciris-3.2.5 → sciris-3.2.8}/tests/test_versioning.py +0 -0
sciris-3.2.8/.pylintrc
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
[BASIC]
|
|
2
|
+
|
|
3
|
+
# Regular expression matching correct argument names. Overrides argument-
|
|
4
|
+
# naming-style. If left empty, argument names will be checked with the set
|
|
5
|
+
# naming style.
|
|
6
|
+
argument-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
7
|
+
variable-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
8
|
+
attr-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
9
|
+
class-attribute-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
10
|
+
function-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
11
|
+
method-rgx=[a-z_][a-z0-9_]{0,15}$ # Sciris
|
|
12
|
+
class-rgx=[a-zA-Z_][a-zA-Z0-9_]{0,15}$ # Sciris
|
|
13
|
+
|
|
14
|
+
# Good variable names which should always be accepted, separated by a comma.
|
|
15
|
+
good-names=E # Sciris
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
[DESIGN]
|
|
19
|
+
|
|
20
|
+
# Maximum number of arguments for function / method.
|
|
21
|
+
max-args=20 # Sciris
|
|
22
|
+
|
|
23
|
+
# Maximum number of attributes for a class (see R0902).
|
|
24
|
+
max-attributes=20 # Sciris
|
|
25
|
+
|
|
26
|
+
# Maximum number of boolean expressions in an if statement (see R0916).
|
|
27
|
+
max-bool-expr=5
|
|
28
|
+
|
|
29
|
+
# Maximum number of branch for function / method body.
|
|
30
|
+
max-branches=15 # Sciris
|
|
31
|
+
|
|
32
|
+
# Maximum number of locals for function / method body.
|
|
33
|
+
max-locals=20 # Sciris
|
|
34
|
+
|
|
35
|
+
# Maximum number of parents for a class (see R0901).
|
|
36
|
+
max-parents=7
|
|
37
|
+
|
|
38
|
+
# Maximum number of public methods for a class (see R0904).
|
|
39
|
+
max-public-methods=20
|
|
40
|
+
|
|
41
|
+
# Maximum number of return / yield for function / method body.
|
|
42
|
+
max-returns=5 # Sciris
|
|
43
|
+
|
|
44
|
+
# Maximum number of statements in function / method body.
|
|
45
|
+
max-statements=200 # Sciris
|
|
46
|
+
|
|
47
|
+
# Minimum number of public methods for a class (see R0903).
|
|
48
|
+
min-public-methods=2
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
[FORMAT]
|
|
52
|
+
|
|
53
|
+
# Maximum number of characters on a single line.
|
|
54
|
+
max-line-length=200 # Sciris
|
|
55
|
+
|
|
56
|
+
# Maximum number of lines in a module.
|
|
57
|
+
max-module-lines=2000 # Sciris
|
|
58
|
+
|
|
59
|
+
# Allow the body of an if to be on the same line as the test if there is no
|
|
60
|
+
# else.
|
|
61
|
+
single-line-if-stmt=yes # Sciris
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
[IMPORTS]
|
|
65
|
+
|
|
66
|
+
# Allow wildcard imports from modules that define __all__.
|
|
67
|
+
allow-wildcard-with-all=yes # Sciris
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
[MESSAGES CONTROL]
|
|
71
|
+
|
|
72
|
+
# Disable the message, report, category or checker with the given id(s). You
|
|
73
|
+
# can either give multiple identifiers separated by comma (,) or put this
|
|
74
|
+
# option multiple times (only on the command line, not in the configuration
|
|
75
|
+
# file where it should appear only once). You can also use "--disable=all" to
|
|
76
|
+
# disable everything first and then re-enable specific checks. For example, if
|
|
77
|
+
# you want to run only the similarities checker, you can use "--disable=all
|
|
78
|
+
# --enable=similarities". If you want to run only the classes checker, but have
|
|
79
|
+
# no Warning level messages displayed, use "--disable=all --enable=classes
|
|
80
|
+
# --disable=W".
|
|
81
|
+
disable=raw-checker-failed,
|
|
82
|
+
bad-inline-option,
|
|
83
|
+
locally-disabled,
|
|
84
|
+
file-ignored,
|
|
85
|
+
suppressed-message,
|
|
86
|
+
useless-suppression,
|
|
87
|
+
deprecated-pragma,
|
|
88
|
+
use-symbolic-message-instead,
|
|
89
|
+
C0103, # Sciris: allow lowercase constants
|
|
90
|
+
C0321, # Sciris: multiple statements on a line
|
|
91
|
+
C0325, # Sciris: allow parentheses in if
|
|
92
|
+
C0411, # Sciris: allow different import order
|
|
93
|
+
C0412, # Sciris: allow ungrouped imports
|
|
94
|
+
C0413, # Sciris: allow imports not at the top
|
|
95
|
+
E1101, # Sciris: don't check class membership (dynamic classes)
|
|
96
|
+
R1705, # Sciris: allow else-return
|
|
97
|
+
R1711, # Sciris: empty return
|
|
98
|
+
R1720, # Sciris: allow else after raise
|
|
99
|
+
R1735, # Sciris: dict literal
|
|
100
|
+
W0702, # Sciris: allow bare except
|
|
101
|
+
W0718 # Sciris: allow general exception
|
|
102
|
+
|
|
103
|
+
# Enable the message, report, category or checker with the given id(s). You can
|
|
104
|
+
# either give multiple identifier separated by comma (,) or put this option
|
|
105
|
+
# multiple time (only on the command line, not in the configuration file where
|
|
106
|
+
# it should appear only once). See also the "--disable" option for examples.
|
|
107
|
+
enable=c-extension-no-member
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
[MISCELLANEOUS]
|
|
111
|
+
|
|
112
|
+
# List of note tags to take in consideration, separated by a comma.
|
|
113
|
+
notes=FIXME,
|
|
114
|
+
XXX,
|
|
115
|
+
TODO,
|
|
116
|
+
TEMP # Sciris
|
|
@@ -7,9 +7,32 @@ All major updates to Sciris are documented here.
|
|
|
7
7
|
|
|
8
8
|
By import convention, components of the Sciris library are listed beginning with ``sc.``, e.g. ``sc.odict()``.
|
|
9
9
|
|
|
10
|
+
Version 3.2.8 (2026-02-28)
|
|
11
|
+
--------------------------
|
|
12
|
+
#. Changed resolution order in :class:`sc.objdict() <sc_odict.objdict>` so that dunder attributes (e.g. ``__await__``) are never accidentally set as dict keys. Attempting to set an existing attribute as a key now raises ``KeyError`` instead of ``ValueError``.
|
|
13
|
+
#. Fixed a bug in :class:`sc.profile() <sc_profiling.profile>` that prevented profiling information from being printed for certain combinations of filenames.
|
|
14
|
+
|
|
15
|
+
Version 3.2.7 (2026-02-18)
|
|
16
|
+
--------------------------
|
|
17
|
+
#. Refactored :class:`sc.asd() <sc_asd.asd>` to be more robust to different parameter inputs and different objective function return values.
|
|
18
|
+
|
|
19
|
+
Version 3.2.6 (2026-02-12)
|
|
20
|
+
--------------------------
|
|
21
|
+
#. Added :class:`sc.argparse() <sc_odict.argparse>`, a simple argument parser based on ``sc.objdict``.
|
|
22
|
+
#. :class:`sc.objdict() <sc_odict.objdict>` now has an ``update()`` method, as well as improved pickling support via ``__reduce__()`` and ``__setstate__()``.
|
|
23
|
+
#. :func:`sc.sigfig() <sc_printing.sigfig>` now has a ``formats`` argument for customizing SI unit formatting, and uses ``'g'`` format when ``sigfigs=None``.
|
|
24
|
+
#. :func:`sc.parallelize() <sc_parallel.parallelize>` now has improved exception handling, providing clearer error messages when tasks fail.
|
|
25
|
+
#. :class:`sc.profile() <sc_profiling.profile>` now properly disables the profiler after running, and has improved function name parsing.
|
|
26
|
+
|
|
10
27
|
Version 3.2.5 (2026-01-27)
|
|
11
28
|
--------------------------
|
|
12
|
-
#. Updated :func
|
|
29
|
+
#. Updated :func:`sc.dataframe.replacedata() <sc_dataframe.dataframe.replacedata>` with support for Pandas 3.0.
|
|
30
|
+
#. :class:`sc.timer() <sc_datetime.timer>` now has a ``string`` attribute for returning formatted time strings.
|
|
31
|
+
#. :func:`sc.parallelize() <sc_parallel.parallelize>` now has ``capture`` and ``lbkwargs`` arguments for capturing task output and passing load balancer options.
|
|
32
|
+
#. :func:`sc.loadbalancer() <sc_parallel.loadbalancer>` has been moved from ``sc_profiling`` to ``sc_parallel`` for better organization.
|
|
33
|
+
#. Fixed a bug in :func:`sc.SIticks() <sc_plotting.SIticks>` that caused incorrect tick formatting.
|
|
34
|
+
#. :class:`sc.profile() <sc_profiling.profile>` now handles cases when another profiler is already running.
|
|
35
|
+
#. :func:`sc.options() <sc_settings.options>` now prevents accidental modification by raising an error when attempting to set invalid options.
|
|
13
36
|
|
|
14
37
|
Version 3.2.4 (2025-07-12)
|
|
15
38
|
--------------------------
|
|
@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
|
6
6
|
|
|
7
7
|
**Citation**: Kerr CC, Sanz-Leon P, Abeysuriya RG, et al. Sciris: Simplifying scientific software in Python. *Journal of Open Source Software*. 2023;8(88):5076. doi:10.21105/joss.05076
|
|
8
8
|
|
|
9
|
-
**Key Applications**: Used by
|
|
9
|
+
**Key Applications**: Used by Starsim (general-purpose disease modeling), Covasim, Optima HIV, Optima Nutrition, Atomica, and other scientific software tools adopted in 30+ countries.
|
|
10
10
|
|
|
11
11
|
## Quick Reference
|
|
12
12
|
|
|
@@ -32,28 +32,40 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
|
32
32
|
## Development Commands
|
|
33
33
|
|
|
34
34
|
### Testing
|
|
35
|
-
- **
|
|
35
|
+
- **Install test requirements first:** `pip install -r tests/requirements.txt` (adds pytest, pytest-cov, pytest-xdist)
|
|
36
|
+
- **Run all tests:** `cd tests && ./run_tests` (uses pytest with parallel execution via pytest-xdist)
|
|
36
37
|
- **Run specific test:** `cd tests && pytest test_<module>.py -v`
|
|
37
38
|
- **Check test coverage:** `cd tests && ./check_coverage` (generates HTML report at tests/htmlcov/index.html)
|
|
39
|
+
- **Test downstream packages:** `cd tests/regression && ./run_downstream` (tests covasim, hpvsim, fpsim, atomica)
|
|
38
40
|
- **Environment:** Tests run with `SCIRIS_BACKEND=agg` to prevent matplotlib windows
|
|
39
41
|
|
|
40
42
|
### Code Quality
|
|
41
|
-
- **Linting:**
|
|
42
|
-
- **Type checking:**
|
|
43
|
+
- **Linting:** Uses pylint with custom .pylintrc; `cd tests && ./check_style` (generates text report at tests/pylint_report.txt)
|
|
44
|
+
- **Type checking:** Do not use type hints (Sciris prioritizes flexibility over strict typing)
|
|
43
45
|
- **Pre-commit hooks:** Not configured
|
|
44
|
-
- **Style guide:**
|
|
46
|
+
- **Style guide:** See https://github.com/starsimhub/styleguide/blob/main/README.rst
|
|
45
47
|
|
|
46
48
|
### Documentation
|
|
47
49
|
- **Build docs:** `cd docs && ./build_docs` (builds Sphinx documentation)
|
|
48
50
|
- **Build docs without notebooks:** `cd docs && ./build_docs never`
|
|
49
51
|
- **Debug mode (serial):** `cd docs && ./build_docs debug`
|
|
50
|
-
- **Output:** Documentation built to docs/_build/html/index.html
|
|
52
|
+
- **Output:** Documentation built to `docs/_build/html/index.html`
|
|
51
53
|
|
|
52
54
|
### Development Setup
|
|
53
55
|
- **Install package:** `pip install -e .` (editable install from pyproject.toml)
|
|
54
56
|
- **Test requirements:** `pip install -r tests/requirements.txt`
|
|
55
57
|
- **Python version:** Requires Python >=3.9
|
|
56
58
|
|
|
59
|
+
### Git Workflow
|
|
60
|
+
- **Main branch:** `main` (use this as base for PRs)
|
|
61
|
+
- **Feature branches:** Create descriptive branch names (e.g., `update-profiler`)
|
|
62
|
+
|
|
63
|
+
### Continuous Integration
|
|
64
|
+
- **Main test workflow:** `.github/workflows/test_sciris.yaml` (runs on push/PR)
|
|
65
|
+
- **Scheduled tests:** `.github/workflows/schedule_tests.yaml` (periodic testing)
|
|
66
|
+
- **Downstream tests:** `.github/workflows/test_downstream.yaml` (tests dependent packages)
|
|
67
|
+
- **Release workflow:** `.github/workflows/pypi_release.yaml` (automated PyPI publishing)
|
|
68
|
+
|
|
57
69
|
## Architecture Overview
|
|
58
70
|
|
|
59
71
|
Sciris is a scientific Python utilities library with a modular design organized around functional domains. Published in the Journal of Open Source Software (JOSS), Sciris aims to streamline the development of scientific software by making it easier to perform common tasks through "simplifying interfaces" that reduce boilerplate code and focus on scientific clarity.
|
|
@@ -223,10 +235,6 @@ Sciris functions accept multiple input types (lists, arrays, scalars) and handle
|
|
|
223
235
|
- Default: System default
|
|
224
236
|
- Example: `export SCIRIS_BACKEND=agg` (for headless environments)
|
|
225
237
|
|
|
226
|
-
- **`SCIRIS_LAZY`**: Enable lazy loading for optional dependencies
|
|
227
|
-
- Default: False
|
|
228
|
-
- Example: `export SCIRIS_LAZY=1`
|
|
229
|
-
|
|
230
238
|
### Usage in Code
|
|
231
239
|
```python
|
|
232
240
|
import os
|
|
@@ -261,14 +269,6 @@ When developing Sciris itself, modules use:
|
|
|
261
269
|
import sciris as sc # Even internal modules use this pattern
|
|
262
270
|
```
|
|
263
271
|
|
|
264
|
-
### Specific Module Access
|
|
265
|
-
For performance-critical code or when you need only specific functionality:
|
|
266
|
-
```python
|
|
267
|
-
import sciris as sc
|
|
268
|
-
# Then use: sc.odict(), sc.save(), etc.
|
|
269
|
-
# This is preferred over direct module imports
|
|
270
|
-
```
|
|
271
|
-
|
|
272
272
|
## Common Development Patterns
|
|
273
273
|
|
|
274
274
|
### Adding New Functions
|
|
@@ -309,9 +309,8 @@ All I/O functions handle both file paths and file objects, with automatic compre
|
|
|
309
309
|
- **Memory-constrained environments**: Sciris's convenience features use additional memory
|
|
310
310
|
|
|
311
311
|
### Common Pitfalls
|
|
312
|
-
- **`die` parameter
|
|
312
|
+
- **`die` parameter**: Remember `die=False` = soft warnings, `die=True` = strict exceptions
|
|
313
313
|
- **Import order**: Always use `import sciris as sc` rather than individual module imports
|
|
314
|
-
- **Thread limits**: Respect `SCIRIS_NUM_THREADS` environment variable in parallel code
|
|
315
314
|
- **Type assumptions**: Don't assume specific return types - Sciris prioritizes flexibility over strict typing
|
|
316
315
|
|
|
317
316
|
### Migration Strategies
|
|
@@ -365,15 +364,4 @@ print(f"Thread limit: {os.environ.get('SCIRIS_NUM_THREADS', 'auto')}")
|
|
|
365
364
|
|
|
366
365
|
# Monitor memory usage during operations
|
|
367
366
|
sc.checkmem() # Shows current memory usage
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### Common Debug Patterns
|
|
371
|
-
```python
|
|
372
|
-
# Type checking and conversion
|
|
373
|
-
data = sc.promotetoarray(data, verbose=True) # Shows conversion details
|
|
374
|
-
sc.checktype(data, 'arraylike', die=False) # Non-fatal type check
|
|
375
|
-
|
|
376
|
-
# Container inspection
|
|
377
|
-
od = sc.odict(a=1, b=2, c=3)
|
|
378
|
-
print(od.disp()) # Detailed container info
|
|
379
367
|
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
sciris
|
|
2
|
+
======
|
|
3
|
+
|
|
4
|
+
.. automodule:: sciris
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
.. autosummary::
|
|
26
|
+
:toctree:
|
|
27
|
+
:template: custom-module-template.rst
|
|
28
|
+
:recursive:
|
|
29
|
+
:nosignatures:
|
|
30
|
+
|
|
31
|
+
sc_asd
|
|
32
|
+
sc_colors
|
|
33
|
+
sc_dataframe
|
|
34
|
+
sc_datetime
|
|
35
|
+
sc_fileio
|
|
36
|
+
sc_math
|
|
37
|
+
sc_nested
|
|
38
|
+
sc_odict
|
|
39
|
+
sc_parallel
|
|
40
|
+
sc_plotting
|
|
41
|
+
sc_printing
|
|
42
|
+
sc_profiling
|
|
43
|
+
sc_settings
|
|
44
|
+
sc_utils
|
|
45
|
+
sc_version
|
|
46
|
+
sc_versioning
|
|
47
|
+
|
|
48
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
sc\_asd
|
|
2
|
+
=======
|
|
3
|
+
|
|
4
|
+
.. automodule:: sciris.sc_asd
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
.. rubric:: Functions
|
|
17
|
+
|
|
18
|
+
.. autosummary::
|
|
19
|
+
:toctree:
|
|
20
|
+
:template: custom-function-template.rst
|
|
21
|
+
:nosignatures:
|
|
22
|
+
|
|
23
|
+
asd
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
sc\_colors
|
|
2
|
+
==========
|
|
3
|
+
|
|
4
|
+
.. automodule:: sciris.sc_colors
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
.. rubric:: Functions
|
|
17
|
+
|
|
18
|
+
.. autosummary::
|
|
19
|
+
:toctree:
|
|
20
|
+
:template: custom-function-template.rst
|
|
21
|
+
:nosignatures:
|
|
22
|
+
|
|
23
|
+
sanitizecolor
|
|
24
|
+
shifthue
|
|
25
|
+
rgb2hex
|
|
26
|
+
hex2rgb
|
|
27
|
+
rgb2hsv
|
|
28
|
+
hsv2rgb
|
|
29
|
+
vectocolor
|
|
30
|
+
arraycolors
|
|
31
|
+
gridcolors
|
|
32
|
+
midpointnorm
|
|
33
|
+
manualcolorbar
|
|
34
|
+
colormapdemo
|
|
35
|
+
alpinecolormap
|
|
36
|
+
bicolormap
|
|
37
|
+
parulacolormap
|
|
38
|
+
turbocolormap
|
|
39
|
+
bandedcolormap
|
|
40
|
+
orangebluecolormap
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
dataframe
|
|
2
|
+
=========
|
|
3
|
+
|
|
4
|
+
.. currentmodule:: sciris.sc_dataframe
|
|
5
|
+
|
|
6
|
+
.. autoclass:: dataframe
|
|
7
|
+
:members:
|
|
8
|
+
:show-inheritance:
|
|
9
|
+
:special-members: __call__, __add__, __mul__
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
.. rubric:: Attributes
|
|
14
|
+
|
|
15
|
+
.. autosummary::
|
|
16
|
+
|
|
17
|
+
~dataframe.T
|
|
18
|
+
~dataframe.at
|
|
19
|
+
~dataframe.attrs
|
|
20
|
+
~dataframe.axes
|
|
21
|
+
~dataframe.cols
|
|
22
|
+
~dataframe.columns
|
|
23
|
+
~dataframe.dtypes
|
|
24
|
+
~dataframe.empty
|
|
25
|
+
~dataframe.flags
|
|
26
|
+
~dataframe.iat
|
|
27
|
+
~dataframe.iloc
|
|
28
|
+
~dataframe.index
|
|
29
|
+
~dataframe.loc
|
|
30
|
+
~dataframe.ncols
|
|
31
|
+
~dataframe.ndim
|
|
32
|
+
~dataframe.nrows
|
|
33
|
+
~dataframe.shape
|
|
34
|
+
~dataframe.size
|
|
35
|
+
~dataframe.style
|
|
36
|
+
~dataframe.values
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
.. rubric:: Methods
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
sc\_dataframe
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
.. automodule:: sciris.sc_dataframe
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
.. rubric:: Classes
|
|
13
|
+
|
|
14
|
+
.. autosummary::
|
|
15
|
+
:toctree:
|
|
16
|
+
:template: custom-class-template.rst
|
|
17
|
+
:nosignatures:
|
|
18
|
+
|
|
19
|
+
dataframe
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|