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

Qiskit / rustworkx
95%
main: 94%

Build:
Build:
LAST BUILD BRANCH: bfs_layer
DEFAULT BRANCH: main
Repo Added 03 Aug 2022 06:29AM UTC
Files 112
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-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43
branch: gh-readonly-queue/main/pr-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43
CHANGE BRANCH
x
Reset
  • gh-readonly-queue/main/pr-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43
  • 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
  • barabasi-seeding
  • bfs-in-closeness
  • bfs_layer
  • bugfix/contracted-node-pickle
  • 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-1318-6bc3933121d04e4d4ae3484625cebebfe9de7fd5
  • 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-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-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
  • greedy-routing
  • johnson-core
  • jookuma/subgraph-with-nodemap
  • jupyterlite-docs
  • less-lambda
  • local_complementation
  • main
  • 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
  • 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
  • use-native-aarch64-gh-actions
  • use-pyo3-23

17 Jun 2025 01:03PM UTC coverage: 95.201% (-0.08%) from 95.283%
15708015562

push

github

web-flow
Fix #840: Add GraphML serializer (#1464)

* Fix #840: Add GraphML serializer

This commit adds a GraphML serializer:

```python
def write_graphml(
    graphs: list[PyGraph | PyDiGraph],
    keys: list[tuple[str, Domain, str, Type, Any]],
    path: str,
    /,
    compression: str | None = ...,
) -> None: ...
```

`keys` is a list of tuples: id, domain, name of the key, type, and
default value. This commit also introduces the
`read_graphml_with_keys` function, which returns the key definitions
in the same format, along with the list of parsed graphs.

The implementation preserves the ids of graphs, nodes, and edges when
possible. If some ids conflict, fresh ids are generated in the written
GraphML file. The `read_graphml` function has also been updated to
store the graph id in the graph attributes, just like node and edge
ids are stored in the corresponding attributes.

The `write_graphml` function supports gzip compression, as does
`read_graphml`.

Note that the JSON node-link serializer (the other part of #840) was
already implemented in #1091.

Compared to #1462:

- Keys are passed explicitly instead of being inferred (which allows
to use the types `float` and `int`, and to use default values);

- Attributes for graphs, nodes, and edges are taken from the weight of elements, instead of relying on callbacks. This allows write_graphml to act as a proper reciprocal of read_graphml. Round-trip tests have been added.

- IDs are taken from attributes when possible, instead of being generated from indices.

- Multiple graphs can be written to the same file.

- Gzip compression is supported.

- Tests have been added.

Regarding @IvanIsCoding's
comment (https://github.com/Qiskit/rustworkx/pull/1462#issuecomment-2951935390),
about using https://github.com/jonasbb/petgraph-graphml:

- Rustworkx's `graphml.rs` introduces an internal `Graph` data
structure, which is used for `read_graphml`. It is natural to
have `write_graphml` rely on the same data structure.

... (continued)

447 of 487 new or added lines in 2 files covered. (91.79%)

19383 of 20360 relevant lines covered (95.2%)

1033394.12 hits per line

Relevant lines Covered
Build:
Build:
20360 RELEVANT LINES 19383 COVERED LINES
1033394.12 HITS PER LINE
Source Files on gh-readonly-queue/main/pr-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43
  • Tree
  • List 109
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
15708015562 gh-readonly-queue/main/pr-1464-b3bfd7a6cba44e38b82ced3627dd7409ef611f43 Fix #840: Add GraphML serializer (#1464) * Fix #840: Add GraphML serializer This commit adds a GraphML serializer: ```python def write_graphml( graphs: list[PyGraph | PyDiGraph], keys: list[tuple[str, Domain, str, Type, Any]], path:... push 17 Jun 2025 01:15PM UTC web-flow github
95.2
See All Builds (2280)
  • 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