Graphtik

Latest version: v10.5.0

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

Scan your dependencies

Page 1 of 10

10.5.0

===========================================================

Fix all TCs and warnings for recent dependencies.

+ FIX(SITE): bump to latest sphinx:

+ FIX(TCs): bumped *jinja2*, added *MarkupSafe* and unpinned *pytest*
so that all TCs run OK again with latest deps.
+ fix(sphinxext.TC) probably *graphviz* generates slightly different captions in SVGs.
+ fix: version-parsing in docs/conf.py neglected since v1.0 and
manifested now as erroneously parsing pep440-version id - simplified it a lot;
stop using forgotten packaging dep.
+ fix: ``sphinx-extlinks >= 4`` plugin demands ``%s`` also in caption or else
pytest-fails, and a warning is issued on site generation.
+ fix(site) docutils-0.17+ broke long substitutions like ``|version|``;
fixed it with a ``docutils.conf`` file (instead of `resorting to pinning
<https://sourceforge.net/p/docutils/bugs/416/#4d3b>`_).
+ fix(build): unpin ``black==20.8b1`` since it's been years since ``black`` was released
and ``pip install -e[all]`` was failing when trying to build end-of-lifed ``typed-ast``
e.g. on Python3.11.
+ style: *black* & *isort* imports all over (with a *black* profile for the latter).
+ DOC: various nitpicks and diagram beauties.
+ DOC: add section about diffs with *schedula* project.
+ plot: various minor improvements.
+ ENH(plot) add RC-Shape badges in data-nodes
+ CHORE: TravisCI site lost :-( moved to **GitHub Actions**.

10.4.0

-------------------------------------------------------------------------------------------
+ FEAT(compose): a :term:`current-working-document` given when defining operation
prefixes its non-root dependencies as `jsonp` expressions.
+ feat(plot): color as "pink" any ``None``\s in the results, to facilitate identification
of operations returning nothing, by mistake, or non-produced :term:`implicit`\s.
Include "shape" when printing vectors (np-arrays and data-frames).
+ refact/feat(exe): the argument to :term:`callback`\s now contains the results;
replace ``OpCb`` class with pre-existing ``_OpTask`` (now publicized).

+ Calllbacks are now called from solution context, before :term:`marshalling`.

+ ENH(solution): preserve index/column names when concatenating pandas
(workaround https://github.com/pandas-dev/pandas/issues/13475, to be fixed with pandas-v1.2).

+ feat: ``sol.update()`` supports jsonps, and applies them grouped,
to avoid resolving paths repeatedly.

+ doc(api): add forgotten `jsonpointer` module; updated module-dependencies diagram

|v1040-module_deps|

10.3.0

---------------------------------------------------------------------------------------------
+ FEAT(solution+jsonp)): can extend in place pandas (dataframes & series) horizontally/vertically
with :term:`pandas concatenation`.
Usefull for when working with :ref:`Pandas advanced indexing <pandas:advanced.hierarchical>`.
or else, sideffecteds are needed to break read-update cycles on dataframes.

+ fix(jsonp): :func:`.set_path_value()` should have failed to modify object attributes
(but not mass-updated, utilized by :term:`accessor`\s).

+ FEAT/fix(solution): :term:`overwrite`\s work properly for non-:term:`layer`\ed solutions.

+ refact: dropped ``_layers`` solution-attribute, role passed to (existing) ``executed``.

+ FEAT(execution): support also *post*\-:term:`callbacks`.

+ FEAT/DROP(modifier): added x3 new modifiers, :func:`.vcat` and :func:`.hcat`,
(and respective accessors), :func:`.implicit` -- dropped never-used ``accessor`` modifier.

+ FEAT: parse string explicitly passed in ``jsonp=...`` argument in modifiers.

+ feat(modifier+fnop): keep just the last part of a keyword+jsonp dependency,
to save an explicit conversion (jsonps are invalid as python-identifiers).

+ break(modifier+fnop): forbid :term:`implicit` term:`sfxed` -- hard to find a solid use-case,
pure `sfx` would be preferable in that case.

+ fix: forbid :term:`aliasing <alias>` implicits -- they wouldn't work anyway.

+ enh(compose): check for node type collisions (i.e. a dependency name clashing
with some operation name).

10.2.1

-------------------------------------------------
+ FIX(PLOT): passing simple dictionaries into ``plot(solution=...)`` were crashing.

+ enh(plot): use also a different label (not only format) to distinguish sfx/sfxed in plots.

10.2.0

------------------------------------------------------------------------------------------------------
Should have been a "major" release due to x2 API-BREAKs not that important.

+ FEAT(pipeline+execution): add term ``pre_callback`` to be invoked prior to computing
each operation (see ``pre_callback`` arg in :meth:`.Pipeline.compute()`).

+ FEAT(pipeline+plan): can :term:`recompute` modified solutions, partial or complete --
The ``recompute_from=<dep / list-of-deps>`` argument has been added to
:meth:`.Pipeline.compute()`, :meth:`.Pipeline.compile()` & :meth:`.Network.compile()`
methods.

+ REFACT/break(OP): replace badly-specified public attributes ``op_needs`` & ``op_provides``
with private :attr:`.FnOp._user_needs` & :attr:`.FnOp._user_provides` -- now
it must be easier to inherit :class:`.Operation` anew (but) UNTESTED :-().

+ refact: don't crash of operations lacking ``rescheduled``, ``marshalled``
etc attributes.

+ ENH(OP):``Operation.name`` and ``name`` string compare *equal* -- that is,
dictionaries of operations, such as :attr:`.Solution.executed`, can be indexed
with their names (note, they didn't equal by accident).

+ REFACT: move ``FnOp.__hash__()/__eq__()`` up, to Operation class.

+ FEAT/break(pipeline): replace ``NULL_OP`` operation a new ``compose(excludes=..)`` argument,
in order to delete existing operations when merging pipelines.

+ FIX(PLAN): compile cache was ignoring(!) the state of the :term:`eviction` flag.

+ FIX(execution): solution ``copy()`` was crashing (for 9 months till now).

+ ENH(plot): make all nodes "filled" to facilitate hovering for tooltips.

+ fix(plot): "overwrite" tooltip was written "overridden".

+ fix(plan): bug when printing a list of "unsolvable graph" error-message.

+ FIX(TEST): ``exemethod`` fixture's ``exe_method`` was always empty when interrogated
for deciding "xfail"s.

+ enh(build): pin ``black`` version, changes in format affect commits.

+ doc(parallel): Deprecate(!), but just in docs, in favor of always producing
a list of "parallelizable batches", to fed to 3rdp parallelizing executors.

+ doc(execution+fnop): Mark mark :data:`.execution.task_context` as *unstable API*,
in favor of supporting a specially-named function argument to receive the same instances.

+ doc(site+doctests): use greek letters in algebraic formulas AND dependencies.

10.1.0

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

FEAT(op): :func:`.keyword` modifier can rename outputs of a :term:`returns dictionary`
function.

+ fix: rescheduled function err-msg were listing wrong missing provides.
+ enh: err-msg did not list returns-dict mismatches.

+ ENH(plot): add number badges on operations & data nodes to denote execution order;
theme ``show_steps=False`` can hide them;

+ feat: data-nodes are *Graphviz HTML-ized* to support badges.

+ break(fnop): do not accept operations without any `provides` - they were pruned before,
but it is better to fail asap.

+ fix/break: clip extra data from a :term:`returns dictionary` function - previously,
full-eviction assertion was kicking.

+ enh(plan): why operations are pruned is now explained in the plan & the plot tooltips.

+ fix(plan): :meth:`.ExecutionPlan.validate()` may be called with no args,
and uses the compiled ones.

+ enh: suggest mode of action on the error message, when graph has cycles;
top-sort nodes only once, and report them to `jetsam` (see below).
+ doc: enhance existing tutorial section to explain compilation.

+ feat(:term:`jetsam`): `pipeline` was not collected, till now.

+ FEAT: items can be accessed as jetsam attributes (helpful for interactive REPLs).
+ ENH: don't "catch" exception, use ``try-finally`` with ``ok`` flag instead,
not to corrupt the landing position of a post-mortem debugger.
+ feat: now collecting also ``pruned_dag``, ``op_comments``, ``sorted_nodes`` while
:term:`compiling <compile>`.
+ revert: stop logging every jetsam item on each salvaging point, not to flood
logs (which had been introduced in the previous release).
+ refact: move into own module.

+ fix(SphinxExt): catch top-level errors that if occurred, message and stack trace
were lost.

+ doc: list anti-features (when to avoid using this lib).

Page 1 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.