<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/networkx.git/networkx/algorithms/components, branch main</title>
<subtitle>github.com: networkx/networkx.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/'/>
<entry>
<title>Remove `topo_order` kwarg from `is_semiconnected` without deprecation. (#6651)</title>
<updated>2023-05-03T09:22:18+00:00</updated>
<author>
<name>Ross Barnowski</name>
<email>rossbar@berkeley.edu</email>
</author>
<published>2023-05-03T09:22:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=c37b27664f1002b041f1e9fb7e88209e6d8f8f1d'/>
<id>c37b27664f1002b041f1e9fb7e88209e6d8f8f1d</id>
<content type='text'>
* Remove topo_order kwarg without deprecation.

* Add release note about semiconnected removing the topo_order kwarg.

* Add to doc_string the method used to find semiconnected

---------

Co-authored-by: Dan Schult &lt;dschult@colgate.edu&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove topo_order kwarg without deprecation.

* Add release note about semiconnected removing the topo_order kwarg.

* Add to doc_string the method used to find semiconnected

---------

Co-authored-by: Dan Schult &lt;dschult@colgate.edu&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Test dispatching via nx-loopback backend (#6536)</title>
<updated>2023-03-28T23:17:46+00:00</updated>
<author>
<name>Jim Kitchen</name>
<email>jim22k@users.noreply.github.com</email>
</author>
<published>2023-03-28T23:17:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=abd0a82d06c0ae8ecc1c60e5a9bde4c0dee08d48'/>
<id>abd0a82d06c0ae8ecc1c60e5a9bde4c0dee08d48</id>
<content type='text'>
* Add tests for nx._dispatch decorator

The dispatch functionality is used to delegate graph
computations to a different backend. Because those backends
are not part of NetworkX, testing the dispatching feature
was not originally added, relying instead on the other
backends (e.g. graphblas-algorithms) to verify the dispatch
functionality is working.

This change creates a "loopback" backend where NetworkX dispatches
to itself for the sole purpose of exercising the dispatching
machinery.

In one incarnation, various tests are augmented to use the
LoopbackGraph family and force loopback dispatching to occur
as normal usage would.

A second incarnation forces *all* tests to run in dispatch mode
but use of a different _dispatch decorator. This mode is triggered
for all of pytest, so it must be tested by the CI system specifically.

* Update CI to hopefully run dispatching auto tests

* Formatting

* More formatting fixes

* Better comments explaining dispatching tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add tests for nx._dispatch decorator

The dispatch functionality is used to delegate graph
computations to a different backend. Because those backends
are not part of NetworkX, testing the dispatching feature
was not originally added, relying instead on the other
backends (e.g. graphblas-algorithms) to verify the dispatch
functionality is working.

This change creates a "loopback" backend where NetworkX dispatches
to itself for the sole purpose of exercising the dispatching
machinery.

In one incarnation, various tests are augmented to use the
LoopbackGraph family and force loopback dispatching to occur
as normal usage would.

A second incarnation forces *all* tests to run in dispatch mode
but use of a different _dispatch decorator. This mode is triggered
for all of pytest, so it must be tested by the CI system specifically.

* Update CI to hopefully run dispatching auto tests

* Formatting

* More formatting fixes

* Better comments explaining dispatching tests</pre>
</div>
</content>
</entry>
<entry>
<title>Dispatch more BFS-based algorithms (#6467)</title>
<updated>2023-03-12T06:21:12+00:00</updated>
<author>
<name>Erik Welch</name>
<email>erik.n.welch@gmail.com</email>
</author>
<published>2023-03-12T06:21:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=3c43f3da6787d7ee9428e6187282efaa53c57908'/>
<id>3c43f3da6787d7ee9428e6187282efaa53c57908</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>plugin based backend infrastructure to use multiple computation backends (#6000)</title>
<updated>2022-11-08T18:39:27+00:00</updated>
<author>
<name>Mridul Seth</name>
<email>seth.mridul@gmail.com</email>
</author>
<published>2022-11-08T18:39:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=0f91550007fd3a95261d858b1a6a623ef8bda38a'/>
<id>0f91550007fd3a95261d858b1a6a623ef8bda38a</id>
<content type='text'>
* Wrappers classes to dispatch to a backend

* Rework the backend dispatching

- Use __networkx_plugin__=name to find graph-like objects instead of
  subclassing
- Add PluginInfo to smooth over differences in importlib.metadata across
  python versions
- Add dispatch behavior override via environment variable to aid in
  testing plugins

* Dispatch more algorithms and improve auto-test capabilities

* Allow dispatcher decorator without a name

- Name is taken from the decorated function
- Raise error if backend doesn't implement a decorated function which is called
- Check for duplicate names for dispatching algorithms

* Make sphinx pick up backend docs

* make black happy

* Rename decorator to _dispatch as it's experimental

* A few more dispatched functions

* Make convert to and from methods for auto-testing

- Rename `convert` to `convert_from_nx`
- Add `convert_to_nx` function

These will allow backends to return native objects when dispatching,
but provide a mechanism to convert the result to the type expected
by NetworkX tests for the auto-test plugin mechanism.

* More dispatching

* Include name with `convert_**_nx` methods

* Remove known plugin names

This check is not needed, as any plugin can register itself in the entry points section.
The dispatching and auto-testing explicitly specify the plugin to use, so there is no
need to hardcode the options.
These were originally included for security, but any malicious actor would simply use one
of the valid names, so having a hardcoded list does not actually provide any meaningful
security.

* Add `dispatchname` to dispatchable functions

Co-authored-by: Jim Kitchen &lt;jim22k@gmail.com&gt;
Co-authored-by: Erik Welch &lt;erik.n.welch@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Wrappers classes to dispatch to a backend

* Rework the backend dispatching

- Use __networkx_plugin__=name to find graph-like objects instead of
  subclassing
- Add PluginInfo to smooth over differences in importlib.metadata across
  python versions
- Add dispatch behavior override via environment variable to aid in
  testing plugins

* Dispatch more algorithms and improve auto-test capabilities

* Allow dispatcher decorator without a name

- Name is taken from the decorated function
- Raise error if backend doesn't implement a decorated function which is called
- Check for duplicate names for dispatching algorithms

* Make sphinx pick up backend docs

* make black happy

* Rename decorator to _dispatch as it's experimental

* A few more dispatched functions

* Make convert to and from methods for auto-testing

- Rename `convert` to `convert_from_nx`
- Add `convert_to_nx` function

These will allow backends to return native objects when dispatching,
but provide a mechanism to convert the result to the type expected
by NetworkX tests for the auto-test plugin mechanism.

* More dispatching

* Include name with `convert_**_nx` methods

* Remove known plugin names

This check is not needed, as any plugin can register itself in the entry points section.
The dispatching and auto-testing explicitly specify the plugin to use, so there is no
need to hardcode the options.
These were originally included for security, but any malicious actor would simply use one
of the valid names, so having a hardcoded list does not actually provide any meaningful
security.

* Add `dispatchname` to dispatchable functions

Co-authored-by: Jim Kitchen &lt;jim22k@gmail.com&gt;
Co-authored-by: Erik Welch &lt;erik.n.welch@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance biconnected components to avoid indexing (#5974)</title>
<updated>2022-09-12T21:17:25+00:00</updated>
<author>
<name>Morrison Turnansky</name>
<email>59176208+mturnansky@users.noreply.github.com</email>
</author>
<published>2022-09-12T21:17:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=6662dd6d6cbaf9928bc9ccc37756f6d6fc992337'/>
<id>6662dd6d6cbaf9928bc9ccc37756f6d6fc992337</id>
<content type='text'>
* index costs the size of the stack, which is always greater than or equal to the size of the newly discovered biconnnected component, and in general much larger.

Instead, introduce a dict that maps the edge to an index instead of using the list.index method on the full stack.

Co-authored-by: Kelly Boothby &lt;boothby@dwavesys.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* index costs the size of the stack, which is always greater than or equal to the size of the newly discovered biconnnected component, and in general much larger.

Instead, introduce a dict that maps the edge to an index instead of using the list.index method on the full stack.

Co-authored-by: Kelly Boothby &lt;boothby@dwavesys.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Minor doc fixups (#5868)</title>
<updated>2022-07-15T17:58:39+00:00</updated>
<author>
<name>Ross Barnowski</name>
<email>rossbar@berkeley.edu</email>
</author>
<published>2022-07-15T17:58:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=e79084b57e1553b5a1e3d80d940acc077ddb771a'/>
<id>e79084b57e1553b5a1e3d80d940acc077ddb771a</id>
<content type='text'>
* Fix examples section formatting in condensed docstr.

* Rm stray reference to ordered grpahs.

* Add naive LCA algs to reference guide.

* Fix heading names in LCA docstrings.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix examples section formatting in condensed docstr.

* Rm stray reference to ordered grpahs.

* Add naive LCA algs to reference guide.

* Fix heading names in LCA docstrings.</pre>
</div>
</content>
</entry>
<entry>
<title>Add examples for the condensation function (#5452)</title>
<updated>2022-06-23T20:34:28+00:00</updated>
<author>
<name>kpetridis</name>
<email>petridkon@gmail.com</email>
</author>
<published>2022-06-23T20:34:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=d285c9de21ed0895614a1742ab382e3fed509c21'/>
<id>d285c9de21ed0895614a1742ab382e3fed509c21</id>
<content type='text'>
* Add examples for the condensation function

* Added comments and removed unnecessary operation</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add examples for the condensation function

* Added comments and removed unnecessary operation</pre>
</div>
</content>
</entry>
<entry>
<title>Compute `is_strongly_connected` lazily (#5793)</title>
<updated>2022-06-21T12:03:21+00:00</updated>
<author>
<name>Matus Valo</name>
<email>matusvalo@users.noreply.github.com</email>
</author>
<published>2022-06-21T12:03:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=d783b40bbad19edebaa2d70880d19f9d7cc97387'/>
<id>d783b40bbad19edebaa2d70880d19f9d7cc97387</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Compute `is_weakly_connected` lazily (#5795)</title>
<updated>2022-06-21T12:02:30+00:00</updated>
<author>
<name>Matus Valo</name>
<email>matusvalo@users.noreply.github.com</email>
</author>
<published>2022-06-21T12:02:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=659f07fdbe099e5faf9a09476a90af7d1323b05b'/>
<id>659f07fdbe099e5faf9a09476a90af7d1323b05b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Dont compute all biconnected components in `is_biconnected()` (#5688)</title>
<updated>2022-06-09T13:11:59+00:00</updated>
<author>
<name>Matus Valo</name>
<email>matusvalo@users.noreply.github.com</email>
</author>
<published>2022-06-09T13:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/networkx.git/commit/?id=6bcb3d847548785113c05802fac934a262d067b7'/>
<id>6bcb3d847548785113c05802fac934a262d067b7</id>
<content type='text'>
Dont compute all biconnected components in is_biconnected()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Dont compute all biconnected components in is_biconnected()</pre>
</div>
</content>
</entry>
</feed>
