Pycomex

Latest version: v0.15.0

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

Scan your dependencies

Page 6 of 8

0.6.1

------------------

* Fixed a bug where numpy arrays within the storage would cause an exception during the serialization
process by using a custom json encoder class which first converts all numpy arrays to nested lists

0.6.0

------------------

* Added ``pycomex.cli.ExperimentCLI`` class which can be used to automatically create a computational
experiment command line interface for a project by simply providing the folder path at which all the
experiment modules are located. They will automatically be discovered and the CLI will automatically
be built based on those experiments. Currently supported are ``list`` command which will
show an overview of experiments, ``info`` which will print more details and ``run`` which will prompt
the execution of an experiment.
* Made some changes in the ``Experiment`` class. Most importantly it now sets ``__experiment__`` global
variable in the original module namespace, which makes it easier to detect whether any given
python module contains an experiment or not.

0.5.2

------------------

* Extended ``run_experiment`` such that it can be called in a non-blocking manner and such that it relays
the output of the experiment subprocess to stdout in the main process

0.5.1

------------------

* If numpy arrays are added to the internal data store, they are automatically converted to lists, so that
they can be json serialized later.

0.5.0

------------------

* By fixing the previous bug, I introduced a new one: Essentially now that I moved the analysis context
manager to the same logical level as the experiment context manager I was facing the same problem: It got
executed when merely importing the module, which had all sorts of bad side effects. This bug is fixed now.
* While fixing that bug, I accidentally stumbled on a much better method of how to make context managers
skippable, which I find so good that I moved the experiment context manager to use the same mechanism
as well, which gets rid of the need for calling ``Experiment.prepare()``. But this means some
backwards incompatible API changes.

0.4.1

------------------

* Fixed a bug which broke the ``with e.analysis:`` functionality in Python 3.10. Rewrote ``RecordCode``
such that it no longer uses the deprecated functionality and now also works for the new version.
* ``with e.analysis:`` can now also be used on the indent level as the experiment context manager itself
which is more intuitive. Using it this way also solves some unwanted interaction with the error catching
behavior of the experiment context.

Page 6 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.