• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / rustworkx
96%
main: 94%

Build:
Build:
LAST BUILD BRANCH: more-lockfiles
DEFAULT BRANCH: main
Repo Added 03 Aug 2022 06:29AM UTC
Files 116
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH gh-readonly-queue/main/pr-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5
branch: gh-readonly-queue/main/pr-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5
CHANGE BRANCH
x
Reset
  • gh-readonly-queue/main/pr-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5
  • Specify-Any-for-PyGraph/PyDiGraph
  • add-in-edge-indices-function
  • add-random-regular-graph
  • add_bellman_ford_fuzz_target
  • add_fuzz_centrality
  • add_fuzz_contraction
  • add_fuzz_planar
  • add_fuzz_random_generator
  • add_fuzz_targets
  • add_generator_fuzz_targets
  • advanced_rustworkx-core_tests
  • all-simple-paths-multi
  • barabasi-seeding
  • bfs-in-closeness
  • bfs_layer
  • bugfix/contracted-node-pickle
  • bugfix/json-preserves-node-gaps
  • bump-msrv-deps-018
  • bump-petgraph
  • bump-petgraph-8
  • bump-rust-179
  • bump-to-17
  • cargo-clippy-tests
  • class-get-item
  • clippy_189
  • closeness-wgraph
  • consolidate-docstrings
  • consolidate-hashset-match
  • consolidate-str
  • copy-return-self
  • cycle_basis_edges
  • dependabot/cargo/quick-xml-0.37.2
  • dependabot/cargo/serde-1.0.216
  • dependabot/cargo/serde-1.0.217
  • dependabot/cargo/serde_json-1.0.134
  • dependabot/cargo/serde_json-1.0.135
  • dependency-groups
  • digraph-adj-succ-pred
  • distance-matrix-core
  • docs-exceptions
  • docs-toposort
  • docstring-generators
  • docstring-graph-connectivity
  • docstrings-digraph
  • document-conda
  • enable-all-simple-path-multiple-targets
  • enhance-traversal-docs
  • enhance-visualization-typing
  • even-more-annotation-fixes
  • even-more-visit-annotation-fixes
  • expose-can-contract-without-cycle
  • feat/generate_condensation_graph
  • feature/add-in-edge-indices-function
  • fix-annotation-layers
  • fix-clippy-188
  • fix-clippy-issues
  • fix-clippy-warnings
  • fix-docs-publishing
  • fix-panic-ancestors
  • fix-panic-bfs-search
  • fix-pyproject-toml
  • fix-sdist-build
  • fix-visit-annotations
  • fix_840
  • foldhash-rand
  • from_dot_feature
  • gh-readonly-queue/main/pr-1246-9969f0e6afdabe42e2f85bd7f50610763847af56
  • gh-readonly-queue/main/pr-1247-e9e49f0c0390f5d6697dd5e544c8816b47b892e0
  • gh-readonly-queue/main/pr-1280-cb897b9cb31fe91c34b3abd40a8378a58f145324
  • gh-readonly-queue/main/pr-1288-6096c8f4c8900a58cbf9fdfb4e6ec8d0be8b76fa
  • gh-readonly-queue/main/pr-1290-327b089841f0e8c67f17c4ac4549d4439e3e6019
  • gh-readonly-queue/main/pr-1291-78efc368410fe5e65e76b1bd22f702038b1af6e5
  • gh-readonly-queue/main/pr-1292-c223d21edb1643d89257c2d8a5450b952554db75
  • gh-readonly-queue/main/pr-1293-a38ed218266b287bcc42870d2b25fae3805f0d22
  • gh-readonly-queue/main/pr-1296-6f1d2ecad34f0d66d9344e90742a93636f2bb9c5
  • gh-readonly-queue/main/pr-1297-8cc1286f9e55e78f9ee21d1b8c3aff4155c85379
  • gh-readonly-queue/main/pr-1299-4ed5d9df7b72f7475def99359644a29409d7e52d
  • gh-readonly-queue/main/pr-1300-644853d87a31b0b1a92fa97375e04c6df551e2fb
  • gh-readonly-queue/main/pr-1301-9e9fcdea2bd17fa77a541c52d30672752b711c38
  • gh-readonly-queue/main/pr-1302-c7af0732a1273623a0c851744bfe05864f4a080a
  • gh-readonly-queue/main/pr-1303-4f0228d171595a607076148ac112cf82b6624a05
  • gh-readonly-queue/main/pr-1304-8b5106e66a786de84ca944b7b5158c1e30cad2f0
  • gh-readonly-queue/main/pr-1305-a895988e66bbfc96bad480f813a2a22195043055
  • gh-readonly-queue/main/pr-1306-44d9fb068cb7090ec4bc76296cbef7dcb51f99a2
  • gh-readonly-queue/main/pr-1310-8774ccde2014e3a7e145e7bb14b4381b013f2d66
  • gh-readonly-queue/main/pr-1312-d9fbe83c4abb8fc3b228be79a3ca8b7d9d1a9c64
  • gh-readonly-queue/main/pr-1313-badf425d4113e55ec4a269b110aa6c2bef8eac15
  • gh-readonly-queue/main/pr-1314-aea56cf23b8a45716c1ae5af15a63b14222c8cf9
  • gh-readonly-queue/main/pr-1315-ff611f22bf488d1b6dd06edb21ef46afc7c1b65b
  • gh-readonly-queue/main/pr-1320-45885b8bac05fb85623d1919fecc69a40aeb350d
  • gh-readonly-queue/main/pr-1321-2cf35c0eb44ce380a676456fbe8ca3277ed272a2
  • gh-readonly-queue/main/pr-1323-0017d000e6bf82aed0da095410de6f4a4596fa4d
  • gh-readonly-queue/main/pr-1324-d21fe54b97d6c293b289d55dc9212f9ee95ad94c
  • gh-readonly-queue/main/pr-1326-537f67f48e08b28bfdbe23cfcd6281831f911d89
  • gh-readonly-queue/main/pr-1329-eaee0b577f25ce1e773f2fd7df8fb0e779981b1c
  • gh-readonly-queue/main/pr-1330-5d28053f31240182d697a6841d595d6e5fcad8f1
  • gh-readonly-queue/main/pr-1332-37bee6f326aede01926f8b528a6ef536e07a4961
  • gh-readonly-queue/main/pr-1333-b66662f7747642fadd1993686437a1fb2a7beb64
  • gh-readonly-queue/main/pr-1334-680789b5147198b02f426fef036d0b2269e98044
  • gh-readonly-queue/main/pr-1336-25077aa8517361d6873b68fe5ffb144177625339
  • gh-readonly-queue/main/pr-1337-30f29079eeaea6aefa1eb1485d496230173cb1b8
  • gh-readonly-queue/main/pr-1338-73288c3629306dd9cf8d5d86fc8145f52ac19b81
  • gh-readonly-queue/main/pr-1339-5dbc246de95cc46584de3af7a33ce28af0ac83b5
  • gh-readonly-queue/main/pr-1341-05e1d29c19f51957611a034f49182ba03b263fb5
  • gh-readonly-queue/main/pr-1344-14be08f95d57afe44731d7c4cc322751f48db5ee
  • gh-readonly-queue/main/pr-1346-686d8cf1c8bfbe7199585991845dcfcb09873564
  • gh-readonly-queue/main/pr-1347-91c73e61f3b60538bb2fe124f5441ee39ab420c3
  • gh-readonly-queue/main/pr-1348-abef7e258ff5d2903c32368829b9ce27110a0bec
  • gh-readonly-queue/main/pr-1351-f182dc232cf972526e381cdb17536e411ad27616
  • gh-readonly-queue/main/pr-1353-830668b22906309f53c051b2bc9f75d3936dd486
  • gh-readonly-queue/main/pr-1355-35418f563f4e61f5c08b357222309198e4e58571
  • gh-readonly-queue/main/pr-1356-a9aeaef127930493f79edc08cb70dbe04805f173
  • gh-readonly-queue/main/pr-1358-515802c0a6688e205d37b7a301fd857752d35df5
  • gh-readonly-queue/main/pr-1359-752555d2b22000784464db90187c3afba60f72b1
  • gh-readonly-queue/main/pr-1362-b44272f6fb59d340ec79ef34d19807eeab33b7dd
  • gh-readonly-queue/main/pr-1364-51e2830fda7bd3750a6285323546e7951a5c3d27
  • gh-readonly-queue/main/pr-1366-1fb70e9f9bb5e1b03306b3c852e924b384166f4b
  • gh-readonly-queue/main/pr-1369-df38b0a553e355a8c96fbb74e67ac3a67551c854
  • gh-readonly-queue/main/pr-1370-c05a583ea17855238c4d8cf65aa105fd025dee16
  • gh-readonly-queue/main/pr-1371-7ab5b3f82fb581f5b4f542409d2f6294e72cd0f4
  • gh-readonly-queue/main/pr-1374-c4e943298923bc400c57886f72c9a0f3b24958b0
  • gh-readonly-queue/main/pr-1375-f2f45425c70b49d89aa5527271a34f64fb114f1d
  • gh-readonly-queue/main/pr-1377-504ff5fd2435362d1a5665b4cdcfdd3b6fced0f4
  • gh-readonly-queue/main/pr-1385-a9460dcdd045bfc8e5fdfc8e1d3749feea1a3f7b
  • gh-readonly-queue/main/pr-1388-4c872456b5b6425d506093f0ac8748d08d9c67c9
  • gh-readonly-queue/main/pr-1389-6257b1a1532df5850b6711a2497908741010a8a6
  • gh-readonly-queue/main/pr-1392-9fda230a6033719b5640d0587925649bf4f51b9f
  • gh-readonly-queue/main/pr-1394-286a719db1ecb40d9a6faf6215f13576bc1d1b91
  • gh-readonly-queue/main/pr-1395-7fe89258d2e11822dcd8fb9acf849c6e282bcd65
  • gh-readonly-queue/main/pr-1396-4738ef690e0b63d6e0eb8bd78d2d6648a1e93c27
  • gh-readonly-queue/main/pr-1397-c21e3d365318015d9aced9c4688b429421f3a7e3
  • gh-readonly-queue/main/pr-1398-9b2a9daa9fd97e90b0249680270fd5784e01e33d
  • gh-readonly-queue/main/pr-1399-8e714153ea5e2a798ee0558080e8c5888a6671a1
  • gh-readonly-queue/main/pr-1400-5f10121b0e4e9a8ee03b52bd69393164403fc0b9
  • gh-readonly-queue/main/pr-1401-5befc61f947bd885404621ab44a6faea064917b8
  • gh-readonly-queue/main/pr-1402-b4bd37852870e830d0fe93b2aa264712e4276d03
  • gh-readonly-queue/main/pr-1403-80e70a8cb2453f158fdcdbf68dedcb4e697f7983
  • gh-readonly-queue/main/pr-1404-ae695d565b39b08d4459a20358bbd0f2f5efe8e7
  • gh-readonly-queue/main/pr-1405-4baef300db32eae69ca301c78340901c0d69cd47
  • gh-readonly-queue/main/pr-1406-d7b3f4feaeca22483803148d2f159163d3ea30dd
  • gh-readonly-queue/main/pr-1408-c683aedd6cee50820f4c794ceb9c72fd8a19c0f8
  • gh-readonly-queue/main/pr-1409-fba1275d58954629182dc7ba3c3ab89e102dfd98
  • gh-readonly-queue/main/pr-1413-0e338fd527a47c1e204278a61bed6bd6e4501bac
  • gh-readonly-queue/main/pr-1414-2b8a173a1a567438c9a1615d2208467c9bb0a955
  • gh-readonly-queue/main/pr-1415-34eec215d4c004f5fd3842f4e7c832414a813467
  • gh-readonly-queue/main/pr-1417-6ffa9bd387fe0f9282c22ae4ca00e2a83a655748
  • gh-readonly-queue/main/pr-1418-5ca23e156739e1eee7d11c3c0ba014bfb7bdf3b2
  • gh-readonly-queue/main/pr-1419-62181fbefc6ac85bf126e3e077284afb9b7092c2
  • gh-readonly-queue/main/pr-1420-408397f10f6a0164dc117f1e3f6415ad1251ef5d
  • gh-readonly-queue/main/pr-1421-51b7c7282ac38dfe883e822b6b10ef9baaf26748
  • gh-readonly-queue/main/pr-1422-ee5e2ce71164ae391d28ac80036da32e961f333a
  • gh-readonly-queue/main/pr-1423-74cf8117f8147112e3dab06fc33866a20c50c2e0
  • gh-readonly-queue/main/pr-1424-4c671c08e117ded793bdc24a5243bc2f88895a20
  • gh-readonly-queue/main/pr-1425-08c21ece6510171615d358352dd2933ca3494fc8
  • gh-readonly-queue/main/pr-1426-cc6229c5b3301d54b81e9abda265697717c4b05a
  • gh-readonly-queue/main/pr-1427-9900471f33b4dda2938e5cced87f70fd092a737d
  • gh-readonly-queue/main/pr-1430-ab84b60a3741e40f0b7ab5c251e34ba0c6292039
  • gh-readonly-queue/main/pr-1433-487c1f618a43193143386cbcecc48c2d1c5cb498
  • gh-readonly-queue/main/pr-1434-30897c5bc46efcb17bc81c33946a0a4260e2d652
  • gh-readonly-queue/main/pr-1435-217d58ded7b457c30d409f594b720c5be637778e
  • gh-readonly-queue/main/pr-1436-db9e5b8ae309d309392a6be563e046489986de46
  • gh-readonly-queue/main/pr-1439-3b01a173cc73c4312ebc0f8f1e9e1b0b1c8904db
  • gh-readonly-queue/main/pr-1440-5a0f6b70ca9f2ab416c5bb3039c5b7b9576eedad
  • gh-readonly-queue/main/pr-1441-f521a50b56560b1c936f3f9150d9811fc31a5c94
  • gh-readonly-queue/main/pr-1442-5b67a47d36eb775e1492ac38098b8a912411d8c2
  • gh-readonly-queue/main/pr-1443-3fbc10df24be28ce041ca22ccc6fc9e7176df123
  • gh-readonly-queue/main/pr-1445-50682ba39d6307a8d1d6c510ca0a7f7eb1a9a194
  • gh-readonly-queue/main/pr-1446-03799b307ff521a95b978528f15487ecbed320c5
  • gh-readonly-queue/main/pr-1447-f52e9b86a19289359c6669ebe50879b5a94fe20e
  • gh-readonly-queue/main/pr-1448-ba6d65bf4bbb38c57dc641b1abdcfde306535576
  • gh-readonly-queue/main/pr-1452-b28d5a510a2d916fd65572302fbb3084c92bbd5e
  • gh-readonly-queue/main/pr-1453-355afdedcf43678a794dcab8a6817b0d1c6a8c1f
  • gh-readonly-queue/main/pr-1458-7840a2c606dcb3065e960bbd28df7437e59312c7
  • gh-readonly-queue/main/pr-1459-ac1082ca9d1774e6e9a91436a15a201b0c7baffd
  • gh-readonly-queue/main/pr-1461-f600acc272e8394ad1c9f943ced5438ad7b7ad0a
  • gh-readonly-queue/main/pr-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43
  • gh-readonly-queue/main/pr-1465-359757202a50e48c3745401ee879e8d6179c96c7
  • gh-readonly-queue/main/pr-1467-fb530db6dbbc2ae6d89afab472c6b322e02fe56e
  • gh-readonly-queue/main/pr-1468-af1c75ca3c7de38793ecda35a2e1448be1c4c737
  • gh-readonly-queue/main/pr-1469-d32e3d8a60c746fd29cf9370cf705018f2b1fa8f
  • gh-readonly-queue/main/pr-1470-03115630a4ebdf6cb9b30ca23a6717c7bac1f696
  • gh-readonly-queue/main/pr-1471-8cf854cc4bd661718d999fa0b06e31d3bcdce0f6
  • gh-readonly-queue/main/pr-1472-34ffae45c6402390a67fb6913dca7438b379bff4
  • gh-readonly-queue/main/pr-1473-d543e0d9f75b776c7cd05111d3b613093cdb31d0
  • gh-readonly-queue/main/pr-1474-5ecfdb781942c082249a0cfa28f5979962f090af
  • gh-readonly-queue/main/pr-1475-4dd066d3c7f10917b58bf65c9d5a112b7715d6cc
  • gh-readonly-queue/main/pr-1477-d1b1b92fe25449bb9224b8c9041eb2b9ff132dc9
  • gh-readonly-queue/main/pr-1478-8145325093362ebdd357fe1836b202a06e195d6b
  • gh-readonly-queue/main/pr-1479-4c69907d7f8330835c06d90353bd712eb4606eb5
  • gh-readonly-queue/main/pr-1481-1a2baf65dd93e47dec685b025398ab43d50ebc95
  • gh-readonly-queue/main/pr-1482-46ff474f5d3dcd1931a5d29e4c2dd7ba2b805c53
  • gh-readonly-queue/main/pr-1483-27d6022ea4d503ff00042db3c8b21216f92005d5
  • gh-readonly-queue/main/pr-1484-62b5e6ab6be7fa57c6e178609756f4c9763f262e
  • gh-readonly-queue/main/pr-1485-101fa22089eb7ccc78696164943eea0dce71fbf1
  • gh-readonly-queue/main/pr-1486-acf34abe6a6a014c85c0da6a099485ca861b5c7a
  • gh-readonly-queue/main/pr-1488-949d30b5b0be26404b2469832ec7475809be7d6a
  • gh-readonly-queue/main/pr-1489-69af7ff2370aa335911e008502a9d900bfce6e06
  • gh-readonly-queue/main/pr-1490-f0240d424f105ada2b0b9af60335094ba69e715b
  • gh-readonly-queue/main/pr-1494-28b1e9c846125fbc99faf0c3da78bef1ff3cfe8d
  • gh-readonly-queue/main/pr-1505-7318a803dc87853cbb2e916d7095b440985507e0
  • gh-readonly-queue/main/pr-1510-feda690dc3c7bf52f46bceb4b2808e9af34add86
  • gh-readonly-queue/main/pr-1511-7385756fb198377ded2d059676145f6b81400bcd
  • gh-readonly-queue/main/pr-1515-8d2742d6b1a6212b43502434afc25db6e188ec48
  • gh-readonly-queue/main/pr-1520-d1b43b6a2b85a33596f69f0e396e79eb69bc0e30
  • greedy-routing
  • johnson-core
  • jookuma/subgraph-with-nodemap
  • jupyterlite-docs
  • less-lambda
  • local_complementation
  • main
  • market_matrix
  • mergify/bp/stable/0.16/pr-1371
  • mergify/bp/stable/0.17/pr-1439
  • mergify/bp/stable/0.17/pr-1494
  • mergify/bp/stable/0.17/pr-1505
  • modernize-setup
  • more-lockfiles
  • mst
  • new-uv-branch
  • numpy-typing
  • one-off-aarch64-trigger
  • override-to-dot
  • parallel-centrality
  • patch-1
  • pep563-custom-return-types
  • pixi-pyodide
  • port-transitivity
  • pred-succ-anc-desc
  • prepare-016
  • prepare-017
  • promote-arm64
  • property_checks_special_graph
  • pygeneric-alias
  • pyodide-rayon
  • quickcheck_barbell_graph
  • quickcheck_binomial_tree_graph
  • quickcheck_complete_graph
  • quickcheck_cycle_graph
  • quickcheck_dorogovtsev_goltsev_mendes_graph
  • quickcheck_full_rary_graph
  • quickcheck_grid_graph
  • quickcheck_heavy_hex_graph
  • quickcheck_heavysquare_graph
  • quickcheck_hexlattice_graph
  • quickcheck_karateclub
  • quickcheck_path_graph
  • quickcheck_petersen_graph
  • quickcheck_star_graph
  • read_edge_list_doc
  • refs/heads/main
  • remove-39-retworkx
  • remove-fixtures
  • resolve-issue-#1184
  • resolve-issue-1437
  • resolve-issue-840
  • spelling
  • stable/0.12
  • stable/0.13
  • stable/0.14
  • stable/0.15
  • stable/0.16
  • stable/0.17
  • strong-connected
  • test-pyodide
  • topological-sorts
  • tox-nox-shim
  • typos
  • update-ci-buildhweel
  • update-deps
  • update-rand
  • update_subgraph_docs
  • upgrade-314
  • use-native-aarch64-gh-actions
  • use-pyo3-23

17 Dec 2024 03:30AM UTC coverage: 95.825% (-0.04%) from 95.868%
12365801109

push

github

web-flow
Migrate Johnson's algorithm to rustworkx-core (#1318)

* Migrate Johnson's algorithm to rustworkx-core

This commit adds Johnson's algorithm for computing simple cycles to
rustworkx-core. This implementation returns an iterator-like struct
which requires a reference to the graph for each step of the iterator.
This mirrors the structure of the Bfs and similar structs in petgraph.
While an implementor of Iterator could be used for this, this
complicates using it from Python because we can't have a shared
reference in a pyclass struct. This also has the advantage of enabling
mutable references while iterating over the cycles.

To facilitate this 2 traits are added `EdgeFindable` and `EdgeRemovable`
which add traits for `remove_edge()` and `find_edge()` to petgraph graph
types. The `EdgeRemovable` trait isn't actually used currently, it was
in an earlier local draft of the PR which attempted to remove self
cycles from a clone before changing direction of the interface. Since
the implementation was done and relatively simple, and the potential
general usefulness this was left in. `EdgeFindable` is actively used
by this new function however.

* Simplify python side logic

* Set name of pyclass to SimpleCycleIter for backwards compat

* Fix rustdoc warnings

---------

Co-authored-by: Ivan Carvalho <8753214+IvanIsCoding@users.noreply.github.com>
Co-authored-by: Ivan Carvalho <ivancarv@student.ubc.ca>

288 of 312 new or added lines in 4 files covered. (92.31%)

18360 of 19160 relevant lines covered (95.82%)

1137670.45 hits per line

Relevant lines Covered
Build:
Build:
19160 RELEVANT LINES 18360 COVERED LINES
1137670.45 HITS PER LINE
Source Files on gh-readonly-queue/main/pr-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5
  • Tree
  • List 108
  • Changed 26
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
12365801109 gh-readonly-queue/main/pr-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5 Migrate Johnson's algorithm to rustworkx-core (#1318) * Migrate Johnson's algorithm to rustworkx-core This commit adds Johnson's algorithm for computing simple cycles to rustworkx-core. This implementation returns an iterator-like struct which r... push 17 Dec 2024 03:41AM UTC web-flow github
95.82
See All Builds (2320)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc