Sciris

Latest version: v3.1.6

Safety actively analyzes 624915 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.1.1

See http://docs.sciris.org/whatsnew.html for a complete list of changes.

1. Added Python 3.12 support.
2. Improved `sc.odict()`, `sc.download()`, `sc.load()`, and `sc.runcommand()`.

3.1.0

See http://docs.sciris.org/whatsnew.html for a complete list of changes.

1. Added functions `sc.equal()`, `sc.nanequal()`, and `sc.manualcolorbar()`.
2. Added additional backwards compatibility for NumPy, pandas, etc.
3. Improved `sc.load()`, `sc.dataframe`, `sc.iterobj()`, `sc.search()`, and 3D plotting functions.

3.0.0

See http://docs.sciris.org/whatsnew.html for a complete list of changes.

1. **New Parallel class**: A new `sc.Parallel()` class allows finer-grained managing of parallel processes, including automatic progress bars, better exception handling, and asynchronous running.
2. **Better versioning**: New functions `sc.metadata()`, `sc.savearchive()`, and `sc.loadarchive()` make it easier to store and save metadata along with objects.
3. **Faster data structures**: `sc.odict()` and `sc.dataframe()` have both been reimplemented for better performance and with additional methods.
4. **Easier imports**: `sc.importbypath()` lets you load a module into Python by providing the folder or filename (useful for loading one-off scripts, or two versions of the same library).
5. **Better documentation**: A comprehensive set of tutorials has been added to the documentation, and the documentation has been rewritten in a new style.

2.0.2

Parallelization
- The default parallelizer has been changed from `multiprocess` to `concurrent.futures`. The latter is faster, but less robust (e.g., it can't parallelize lambda functions). If an error is encountered, it will automatically fall back to the former.
- For debugging, instead of `sc.parallelize(..., serial=True)`, you can also now use `sc.parallelize(..., parallelizer='serial')`.
- Arguments to `sc.parallelize()` are now no longer usually deepcopied, since usually they are automatically during the pickling/unpickling process. However, deepcopying has been retained for `serial` and `thread` parallelizers; to *not* deepcopy, use e.g. `parallelizer='thread-nocopy'`.

Bugfixes
- `sc.autolist()` now correctly handles input arguments, and can be added on to other objects. (Previously, if an object was added to an `sc.autolist`, it would itself become an `sc.autolist`.)
- `sc.cat()` now has the same default behavior as `np.concatenate()` for 2D arrays (i.e., concatenating rows). Use `sc.cat(.., axis=None)` for the previous behavior.
- `sc.dataframe.from_dict()` and `sc.dataframe.from_records()` now return an `sc.dataframe` object (previously they returned a `pd.DataFrame` object).

Other changes
- `sc.dataframe.cat()` will concatenate multiple objects (dataframes, arrays, etc.) into a single dataframe.
- `sc.dataframe().concat()` now by default does *not* modify in-place.
- Colormaps are now also available with a `sciris-` prefix, e.g. `sciris-alpine`, as well as their original names (to avoid possible name collisions).
- Added `packaging` as a dependency and removed the (deprecated) `minimal` install option.

2.0.1

New features
- `sc.asciify()` converts a Unicode input string to the closest ASCII equivalent.
- `sc.dataframe().disp()` flexibly prints a dataframe (by default, all rows/columns).

Improvements
- `sc.findinds()` now allows a wider variety of numeric-but-non-array inputs.
- `sc.sanitizefilename()` now handles more characters, including Unicode, and has many new options.
- `sc.odict()` now allows you to delete by index instead of key.
- `sc.download()` now creates folders if they do not already exist.
- `sc.checktype(obj, 'arraylike')` now returns `True` for pandas `Series` objects.
- `sc.promotetoarray()` now converts pandas `Series` or `DataFrame` objects into arrays.
- `sc.savetext()` can now save arrays (like `np.savetxt()`).

Bugfixes
- Fixed a bug with addition (concatenation) for `sc.autolist()`.
- Fixed a bug with the `_copy` argument for `sc.mergedicts()` being ignored.
- `sc.checkmem()` no longer uses compression, giving more accurate estimates.
- Fixed a bug with `sc.options()` setting the plot style automatically; a `'default'` style was also added that restores Matplotlib defaults (which is now the Sciris default as well; use `'sciris'` or `'simple'` for the Sciris style).
- Fixed a bug with `packaging.version` not being found on some systems.
- Fixed an issue with colormaps attempting to be re-registered, which caused warnings.

1.3.0

Major updates to plotting and math functions; see changelog for details.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.