passagemath-graphs 10.5.48__cp311-cp311-musllinux_1_2_x86_64.whl → 10.6.1__cp311-cp311-musllinux_1_2_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/METADATA +27 -17
  2. passagemath_graphs-10.6.1.dist-info/METADATA.bak +304 -0
  3. {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/RECORD +145 -138
  4. passagemath_graphs.libs/{libgcc_s-2298274a.so.1 → libgcc_s-0cd532bd.so.1} +0 -0
  5. passagemath_graphs.libs/{libgmp-0b2a45b5.so.10.5.0 → libgmp-0e7fc84e.so.10.5.0} +0 -0
  6. passagemath_graphs.libs/{libstdc++-08d5c7eb.so.6.0.33 → libstdc++-5d72f927.so.6.0.33} +0 -0
  7. sage/all__sagemath_graphs.py +3 -2
  8. sage/combinat/abstract_tree.py +188 -17
  9. sage/combinat/cluster_algebra_quiver/interact.py +1 -2
  10. sage/combinat/cluster_algebra_quiver/mutation_type.py +518 -519
  11. sage/combinat/cluster_algebra_quiver/quiver.py +233 -205
  12. sage/combinat/designs/covering_design.py +2 -6
  13. sage/combinat/designs/database.py +11 -10
  14. sage/combinat/designs/designs_pyx.cpython-311-x86_64-linux-musl.so +0 -0
  15. sage/combinat/designs/designs_pyx.pyx +2 -2
  16. sage/combinat/designs/evenly_distributed_sets.cpython-311-x86_64-linux-musl.so +0 -0
  17. sage/combinat/designs/evenly_distributed_sets.pyx +4 -4
  18. sage/combinat/designs/gen_quadrangles_with_spread.cpython-311-x86_64-linux-musl.so +0 -0
  19. sage/combinat/designs/incidence_structures.py +2 -2
  20. sage/combinat/designs/latin_squares.py +53 -20
  21. sage/combinat/designs/orthogonal_arrays.py +2 -1
  22. sage/combinat/designs/orthogonal_arrays_find_recursive.cpython-311-x86_64-linux-musl.so +0 -0
  23. sage/combinat/designs/orthogonal_arrays_find_recursive.pyx +22 -21
  24. sage/combinat/designs/resolvable_bibd.py +191 -157
  25. sage/combinat/designs/subhypergraph_search.cpython-311-x86_64-linux-musl.so +0 -0
  26. sage/combinat/designs/subhypergraph_search.pyx +4 -4
  27. sage/combinat/designs/twographs.py +2 -2
  28. sage/combinat/finite_state_machine.py +6 -6
  29. sage/combinat/nu_tamari_lattice.py +1 -1
  30. sage/combinat/posets/bubble_shuffle.py +247 -0
  31. sage/combinat/posets/d_complete.py +3 -3
  32. sage/combinat/posets/elements.py +3 -3
  33. sage/combinat/posets/hasse_cython.cpython-311-x86_64-linux-musl.so +0 -0
  34. sage/combinat/posets/hasse_cython.pyx +1 -1
  35. sage/combinat/posets/hasse_diagram.py +16 -22
  36. sage/combinat/posets/hochschild_lattice.py +158 -0
  37. sage/combinat/posets/incidence_algebras.py +14 -16
  38. sage/combinat/posets/lattices.py +51 -53
  39. sage/combinat/posets/linear_extension_iterator.cpython-311-x86_64-linux-musl.so +0 -0
  40. sage/combinat/posets/linear_extensions.py +12 -13
  41. sage/combinat/posets/moebius_algebra.py +4 -4
  42. sage/combinat/posets/poset_examples.py +73 -23
  43. sage/combinat/posets/posets.py +294 -103
  44. sage/databases/knotinfo_db.py +2 -1
  45. sage/graphs/asteroidal_triples.cpython-311-x86_64-linux-musl.so +0 -0
  46. sage/graphs/asteroidal_triples.pyx +24 -3
  47. sage/graphs/base/boost_graph.cpython-311-x86_64-linux-musl.so +0 -0
  48. sage/graphs/base/boost_graph.pxd +3 -3
  49. sage/graphs/base/c_graph.cpython-311-x86_64-linux-musl.so +0 -0
  50. sage/graphs/base/c_graph.pyx +1 -1
  51. sage/graphs/base/dense_graph.cpython-311-x86_64-linux-musl.so +0 -0
  52. sage/graphs/base/dense_graph.pxd +5 -3
  53. sage/graphs/base/dense_graph.pyx +44 -0
  54. sage/graphs/base/graph_backends.cpython-311-x86_64-linux-musl.so +0 -0
  55. sage/graphs/base/sparse_graph.cpython-311-x86_64-linux-musl.so +0 -0
  56. sage/graphs/base/static_dense_graph.cpython-311-x86_64-linux-musl.so +0 -0
  57. sage/graphs/base/static_sparse_backend.cpython-311-x86_64-linux-musl.so +0 -0
  58. sage/graphs/base/static_sparse_backend.pyx +8 -5
  59. sage/graphs/base/static_sparse_graph.cpython-311-x86_64-linux-musl.so +0 -0
  60. sage/graphs/base/static_sparse_graph.pyx +86 -15
  61. sage/graphs/bipartite_graph.py +59 -36
  62. sage/graphs/centrality.cpython-311-x86_64-linux-musl.so +0 -0
  63. sage/graphs/centrality.pyx +82 -9
  64. sage/graphs/cographs.py +1 -1
  65. sage/graphs/comparability.cpython-311-x86_64-linux-musl.so +0 -0
  66. sage/graphs/comparability.pyx +64 -26
  67. sage/graphs/connectivity.cpython-311-x86_64-linux-musl.so +0 -0
  68. sage/graphs/convexity_properties.cpython-311-x86_64-linux-musl.so +0 -0
  69. sage/graphs/convexity_properties.pyx +52 -9
  70. sage/graphs/digraph.py +439 -95
  71. sage/graphs/digraph_generators.py +176 -104
  72. sage/graphs/distances_all_pairs.cpython-311-x86_64-linux-musl.so +0 -0
  73. sage/graphs/dot2tex_utils.py +1 -1
  74. sage/graphs/edge_connectivity.cpython-311-x86_64-linux-musl.so +0 -0
  75. sage/graphs/generators/basic.py +1 -1
  76. sage/graphs/generators/distance_regular.cpython-311-x86_64-linux-musl.so +0 -0
  77. sage/graphs/generators/distance_regular.pyx +2 -2
  78. sage/graphs/generators/families.py +40 -30
  79. sage/graphs/generators/random.py +2 -2
  80. sage/graphs/generators/smallgraphs.py +3 -3
  81. sage/graphs/generic_graph.py +559 -86
  82. sage/graphs/generic_graph_pyx.cpython-311-x86_64-linux-musl.so +0 -0
  83. sage/graphs/generic_graph_pyx.pyx +58 -11
  84. sage/graphs/genus.cpython-311-x86_64-linux-musl.so +0 -0
  85. sage/graphs/genus.pyx +3 -4
  86. sage/graphs/graph.py +291 -8
  87. sage/graphs/graph_coloring.cpython-311-x86_64-linux-musl.so +0 -0
  88. sage/graphs/graph_coloring.pyx +2 -2
  89. sage/graphs/graph_database.py +67 -12
  90. sage/graphs/graph_decompositions/bandwidth.cpython-311-x86_64-linux-musl.so +0 -0
  91. sage/graphs/graph_decompositions/clique_separators.cpython-311-x86_64-linux-musl.so +0 -0
  92. sage/graphs/graph_decompositions/clique_separators.pyx +24 -3
  93. sage/graphs/graph_decompositions/cutwidth.cpython-311-x86_64-linux-musl.so +0 -0
  94. sage/graphs/graph_decompositions/fast_digraph.cpython-311-x86_64-linux-musl.so +0 -0
  95. sage/graphs/graph_decompositions/fast_digraph.pyx +1 -1
  96. sage/graphs/graph_decompositions/graph_products.cpython-311-x86_64-linux-musl.so +0 -0
  97. sage/graphs/graph_decompositions/graph_products.pyx +67 -21
  98. sage/graphs/graph_decompositions/modular_decomposition.cpython-311-x86_64-linux-musl.so +0 -0
  99. sage/graphs/graph_decompositions/slice_decomposition.cpython-311-x86_64-linux-musl.so +0 -0
  100. sage/graphs/graph_decompositions/slice_decomposition.pyx +34 -8
  101. sage/graphs/graph_decompositions/tree_decomposition.cpython-311-x86_64-linux-musl.so +0 -0
  102. sage/graphs/graph_decompositions/vertex_separation.cpython-311-x86_64-linux-musl.so +0 -0
  103. sage/graphs/graph_generators.py +45 -32
  104. sage/graphs/graph_generators_pyx.cpython-311-x86_64-linux-musl.so +0 -0
  105. sage/graphs/graph_generators_pyx.pyx +15 -15
  106. sage/graphs/graph_latex.py +1 -1
  107. sage/graphs/graph_list.py +52 -9
  108. sage/graphs/graph_plot.py +7 -0
  109. sage/graphs/hyperbolicity.cpython-311-x86_64-linux-musl.so +0 -0
  110. sage/graphs/hyperbolicity.pyx +5 -3
  111. sage/graphs/independent_sets.cpython-311-x86_64-linux-musl.so +0 -0
  112. sage/graphs/isoperimetric_inequalities.cpython-311-x86_64-linux-musl.so +0 -0
  113. sage/graphs/isoperimetric_inequalities.pyx +42 -6
  114. sage/graphs/line_graph.cpython-311-x86_64-linux-musl.so +0 -0
  115. sage/graphs/line_graph.pyx +153 -37
  116. sage/graphs/matching_covered_graph.py +87 -62
  117. sage/graphs/orientations.py +3 -18
  118. sage/graphs/path_enumeration.cpython-311-x86_64-linux-musl.so +0 -0
  119. sage/graphs/path_enumeration.pyx +2 -2
  120. sage/graphs/spanning_tree.cpython-311-x86_64-linux-musl.so +0 -0
  121. sage/graphs/strongly_regular_db.cpython-311-x86_64-linux-musl.so +0 -0
  122. sage/graphs/strongly_regular_db.pyx +34 -34
  123. sage/graphs/traversals.cpython-311-x86_64-linux-musl.so +0 -0
  124. sage/graphs/traversals.pyx +13 -12
  125. sage/graphs/trees.cpython-311-x86_64-linux-musl.so +0 -0
  126. sage/graphs/tutte_polynomial.py +1 -1
  127. sage/graphs/views.cpython-311-x86_64-linux-musl.so +0 -0
  128. sage/graphs/views.pyx +1 -1
  129. sage/graphs/weakly_chordal.cpython-311-x86_64-linux-musl.so +0 -0
  130. sage/graphs/weakly_chordal.pyx +50 -8
  131. sage/groups/perm_gps/partn_ref/refinement_graphs.cpython-311-x86_64-linux-musl.so +0 -0
  132. sage/knots/free_knotinfo_monoid.py +3 -3
  133. sage/knots/knotinfo.py +102 -82
  134. sage/knots/link.py +72 -39
  135. sage/topology/cubical_complex.py +4 -5
  136. sage/topology/delta_complex.py +4 -4
  137. sage/topology/simplicial_complex.py +0 -1
  138. sage/topology/simplicial_complex_catalog.py +6 -0
  139. sage/topology/simplicial_complex_examples.py +4 -16
  140. sage_wheels/share/graphs/brouwer_srg_database.json +1 -0
  141. sage_wheels/share/graphs/graphs.db +0 -0
  142. sage_wheels/share/graphs/isgci_sage.xml +11116 -0
  143. sage_wheels/share/graphs/smallgraphs.txt +565 -0
  144. {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/WHEEL +0 -0
  145. {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: passagemath-graphs
3
- Version: 10.5.48
3
+ Version: 10.6.1
4
4
  Summary: passagemath: Graphs, posets, hypergraphs, designs, abstract complexes, combinatorial polyhedra, abelian sandpiles, quivers
5
5
  Author-email: The Sage Developers <sage-support@googlegroups.com>
6
6
  Maintainer: Matthias Köppe, passagemath contributors
@@ -17,22 +17,24 @@ Classifier: Development Status :: 6 - Mature
17
17
  Classifier: Intended Audience :: Education
18
18
  Classifier: Intended Audience :: Science/Research
19
19
  Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
20
21
  Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Operating System :: Microsoft :: Windows
21
23
  Classifier: Programming Language :: Python :: 3 :: Only
22
- Classifier: Programming Language :: Python :: 3.9
23
24
  Classifier: Programming Language :: Python :: 3.10
24
25
  Classifier: Programming Language :: Python :: 3.11
25
26
  Classifier: Programming Language :: Python :: 3.12
26
27
  Classifier: Programming Language :: Python :: 3.13
27
28
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
29
  Classifier: Topic :: Scientific/Engineering :: Mathematics
29
- Requires-Python: <3.14,>=3.9
30
+ Requires-Python: <3.14,>=3.10
30
31
  Description-Content-Type: text/x-rst
31
32
  Requires-Dist: gmpy2~=2.1.b999
33
+ Requires-Dist: cysignals<1.12.4; sys_platform == "win32"
32
34
  Requires-Dist: cysignals!=1.12.0,>=1.11.2
33
35
  Requires-Dist: memory_allocator
34
- Requires-Dist: passagemath-categories~=10.5.48.0
35
- Requires-Dist: passagemath-environment~=10.5.48.0
36
+ Requires-Dist: passagemath-categories~=10.6.1.0
37
+ Requires-Dist: passagemath-environment~=10.6.1.0
36
38
  Provides-Extra: test
37
39
  Requires-Dist: passagemath-repl; extra == "test"
38
40
  Provides-Extra: benzene
@@ -69,6 +71,7 @@ Provides-Extra: tdlib
69
71
  Requires-Dist: passagemath-tdlib; extra == "tdlib"
70
72
  Provides-Extra: combinat
71
73
  Requires-Dist: passagemath-combinat; extra == "combinat"
74
+ Provides-Extra: databases
72
75
  Provides-Extra: editor
73
76
  Requires-Dist: phitigra>=0.2.6; extra == "editor"
74
77
  Provides-Extra: groups
@@ -104,24 +107,25 @@ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
104
107
  developed 2005-2025 under the motto “Creating a Viable Open Source
105
108
  Alternative to Magma, Maple, Mathematica, and MATLAB”.
106
109
 
107
- The passagemath fork was created in October 2024 with the following
108
- goals:
110
+ The passagemath fork uses the motto "Creating a Free Passage Between the
111
+ Scientific Python Ecosystem and Mathematical Software Communities."
112
+ It was created in October 2024 with the following goals:
109
113
 
110
- - providing modularized installation with pip, thus completing a `major
111
- project started in 2020 in the Sage
112
- codebase <https://github.com/sagemath/sage/issues/29705>`__,
114
+ - providing modularized installation with pip,
113
115
  - establishing first-class membership in the scientific Python
114
116
  ecosystem,
115
117
  - giving `clear attribution of upstream
116
118
  projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
117
119
  - providing independently usable Python interfaces to upstream
118
120
  libraries,
119
- - providing `platform portability and integration testing
121
+ - offering `platform portability and integration testing
120
122
  services <https://github.com/passagemath/passagemath/issues/704>`__
121
123
  to upstream projects,
122
124
  - inviting collaborations with upstream projects,
123
125
  - `building a professional, respectful, inclusive
124
126
  community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
127
+ - `[empowering Sage users to participate in the scientific Python ecosystem
128
+ <https://github.com/passagemath/passagemath/issues/248](https://github.com/passagemath/passagemath/issues/248)https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
125
129
  - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
126
130
  serverless deployment with Javascript,
127
131
  - developing a native Windows port.
@@ -129,13 +133,19 @@ goals:
129
133
  `Full documentation <https://doc.sagemath.org/html/en/index.html>`__ is
130
134
  available online.
131
135
 
132
- passagemath attempts to support all major Linux distributions and recent versions of
133
- macOS. Use on Windows currently requires the use of Windows Subsystem for Linux or
134
- virtualization.
136
+ passagemath attempts to support and provides binary wheels suitable for
137
+ all major Linux distributions and recent versions of macOS.
135
138
 
136
- Complete sets of binary wheels are provided on PyPI for Python versions 3.9.x-3.12.x.
137
- Python 3.13.x is also supported, but some third-party packages are still missing wheels,
138
- so compilation from source is triggered for those.
139
+ For the Linux aarch64 (ARM) platform, some third-party packages are still missing wheels;
140
+ see ` <https://github.com/passagemath/passagemath?tab=readme-ov-file#full-installation-of-passagemath-from-binary-wheels-on-pypi>`__
141
+ for instructions for building them from source.
142
+
143
+ Binary wheels for native Windows (x86_64) are are available for a subset of
144
+ the passagemath distributions. Use of the full functionality of passagemath
145
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
146
+ or virtualization.
147
+
148
+ The supported Python versions in the passagemath 10.6.x series are 3.9.x-3.13.x.
139
149
 
140
150
 
141
151
  About this pip-installable distribution package
@@ -0,0 +1,304 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-graphs
3
+ Version: 10.6.1
4
+ Summary: passagemath: Graphs, posets, hypergraphs, designs, abstract complexes, combinatorial polyhedra, abelian sandpiles, quivers
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://doc.sagemath.org
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Operating System :: Microsoft :: Windows
23
+ Classifier: Programming Language :: Python :: 3 :: Only
24
+ Classifier: Programming Language :: Python :: 3.10
25
+ Classifier: Programming Language :: Python :: 3.11
26
+ Classifier: Programming Language :: Python :: 3.12
27
+ Classifier: Programming Language :: Python :: 3.13
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.14,>=3.10
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: gmpy2~=2.1.b999
33
+ Requires-Dist: cysignals<1.12.4; sys_platform == "win32"
34
+ Requires-Dist: cysignals!=1.12.0,>=1.11.2
35
+ Requires-Dist: memory_allocator
36
+ Requires-Dist: passagemath-categories~=10.6.1.0
37
+ Requires-Dist: passagemath-conf~=10.6.1.0; sys_platform != "win32"
38
+ Requires-Dist: passagemath-environment~=10.6.1.0
39
+ Provides-Extra: test
40
+ Requires-Dist: passagemath-repl; extra == "test"
41
+ Provides-Extra: benzene
42
+ Requires-Dist: passagemath-benzene; extra == "benzene"
43
+ Provides-Extra: bliss
44
+ Requires-Dist: passagemath-bliss; extra == "bliss"
45
+ Provides-Extra: buckygen
46
+ Requires-Dist: passagemath-buckygen; extra == "buckygen"
47
+ Provides-Extra: cliquer
48
+ Requires-Dist: passagemath-cliquer; extra == "cliquer"
49
+ Provides-Extra: cmr
50
+ Requires-Dist: passagemath-cmr; extra == "cmr"
51
+ Provides-Extra: gap
52
+ Requires-Dist: passagemath-gap; extra == "gap"
53
+ Provides-Extra: igraph
54
+ Requires-Dist: igraph; extra == "igraph"
55
+ Provides-Extra: mcqd
56
+ Requires-Dist: passagemath-mcqd; extra == "mcqd"
57
+ Provides-Extra: nauty
58
+ Requires-Dist: passagemath-nauty; extra == "nauty"
59
+ Provides-Extra: networkx
60
+ Requires-Dist: networkx>=2.4; extra == "networkx"
61
+ Provides-Extra: pari
62
+ Requires-Dist: passagemath-pari; extra == "pari"
63
+ Provides-Extra: planarity
64
+ Requires-Dist: passagemath-planarity; extra == "planarity"
65
+ Provides-Extra: plantri
66
+ Requires-Dist: passagemath-plantri; extra == "plantri"
67
+ Provides-Extra: rankwidth
68
+ Requires-Dist: passagemath-rankwidth; extra == "rankwidth"
69
+ Provides-Extra: rw
70
+ Requires-Dist: passagemath-graphs[rankwidth]; extra == "rw"
71
+ Provides-Extra: tdlib
72
+ Requires-Dist: passagemath-tdlib; extra == "tdlib"
73
+ Provides-Extra: combinat
74
+ Requires-Dist: passagemath-combinat; extra == "combinat"
75
+ Provides-Extra: databases
76
+ Provides-Extra: editor
77
+ Requires-Dist: phitigra>=0.2.6; extra == "editor"
78
+ Provides-Extra: groups
79
+ Requires-Dist: passagemath-groups; extra == "groups"
80
+ Requires-Dist: passagemath-graphs[nauty]; extra == "groups"
81
+ Provides-Extra: homology
82
+ Requires-Dist: passagemath-modules; extra == "homology"
83
+ Provides-Extra: mip
84
+ Requires-Dist: passagemath-polyhedra; extra == "mip"
85
+ Provides-Extra: modules
86
+ Requires-Dist: passagemath-modules; extra == "modules"
87
+ Provides-Extra: plot
88
+ Requires-Dist: passagemath-plot; extra == "plot"
89
+ Provides-Extra: polyhedra
90
+ Requires-Dist: passagemath-polyhedra; extra == "polyhedra"
91
+ Provides-Extra: repl
92
+ Requires-Dist: passagemath-repl; extra == "repl"
93
+ Provides-Extra: sat
94
+ Requires-Dist: passagemath-combinat; extra == "sat"
95
+ Provides-Extra: standard
96
+ Requires-Dist: passagemath-graphs[combinat,databases,groups,mip,modules,planarity,polyhedra,rankwidth,repl]; extra == "standard"
97
+ Requires-Dist: passagemath-plot[tachyon]; extra == "standard"
98
+
99
+ =======================================================================================================================================================
100
+ passagemath: Graphs, posets, hypergraphs, designs, abstract complexes, combinatorial polyhedra, abelian sandpiles, quivers
101
+ =======================================================================================================================================================
102
+
103
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
104
+ source mathematical software in Python, released under the GNU General
105
+ Public Licence GPLv2+.
106
+
107
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
108
+ developed 2005-2025 under the motto “Creating a Viable Open Source
109
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
110
+
111
+ The passagemath fork uses the motto "Creating a Free Passage Between the
112
+ Scientific Python Ecosystem and Mathematical Software Communities."
113
+ It was created in October 2024 with the following goals:
114
+
115
+ - providing modularized installation with pip,
116
+ - establishing first-class membership in the scientific Python
117
+ ecosystem,
118
+ - giving `clear attribution of upstream
119
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
120
+ - providing independently usable Python interfaces to upstream
121
+ libraries,
122
+ - offering `platform portability and integration testing
123
+ services <https://github.com/passagemath/passagemath/issues/704>`__
124
+ to upstream projects,
125
+ - inviting collaborations with upstream projects,
126
+ - `building a professional, respectful, inclusive
127
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
128
+ - `[empowering Sage users to participate in the scientific Python ecosystem
129
+ <https://github.com/passagemath/passagemath/issues/248](https://github.com/passagemath/passagemath/issues/248)https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
130
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
131
+ serverless deployment with Javascript,
132
+ - developing a native Windows port.
133
+
134
+ `Full documentation <https://doc.sagemath.org/html/en/index.html>`__ is
135
+ available online.
136
+
137
+ passagemath attempts to support and provides binary wheels suitable for
138
+ all major Linux distributions and recent versions of macOS.
139
+
140
+ For the Linux aarch64 (ARM) platform, some third-party packages are still missing wheels;
141
+ see ` <https://github.com/passagemath/passagemath?tab=readme-ov-file#full-installation-of-passagemath-from-binary-wheels-on-pypi>`__
142
+ for instructions for building them from source.
143
+
144
+ Binary wheels for native Windows (x86_64) are are available for a subset of
145
+ the passagemath distributions. Use of the full functionality of passagemath
146
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
147
+ or virtualization.
148
+
149
+ The supported Python versions in the passagemath 10.6.x series are 3.9.x-3.13.x.
150
+
151
+
152
+ About this pip-installable distribution package
153
+ -----------------------------------------------
154
+
155
+ This pip-installable package `passagemath-graphs` is a distribution of a part of the Sage Library. It provides a small subset of the modules of the Sage library ("sagelib", `passagemath-standard`) for computations with graphs, posets, complexes, etc.
156
+
157
+ It consists of over 170 first-party Python and Cython modules and uses the `Boost Graph Library <https://github.com/boostorg/graph>`_, with additional functionality from `NetworkX <https://networkx.github.io/>`_ and several other libraries.
158
+
159
+
160
+ What is included
161
+ ----------------
162
+
163
+ * `Graph Theory <https://doc.sagemath.org/html/en/reference/graphs/index.html>`_
164
+
165
+ * `Trees <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/enumerated_sets.html#trees>`_
166
+
167
+ * `Posets <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/all.html>`_
168
+
169
+ * `Abstract Complexes <https://doc.sagemath.org/html/en/reference/topology/index.html>`_
170
+
171
+ * `Combinatorial Designs and Incidence Structure <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/designs/all.html>`_
172
+
173
+ * `Finite State Machines, Automata, Transducers <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/finite_state_machine.html>`_
174
+
175
+ * `Cluster Algebras and Quivers <https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/cluster_algebra_quiver/all.html>`_
176
+
177
+ * `Knot Theory <https://doc.sagemath.org/html/en/reference/knots/index.html>`_
178
+
179
+ * `Sandpiles <https://doc.sagemath.org/html/en/reference/dynamics/sage/sandpiles/sandpile.html>`_
180
+
181
+ * see https://github.com/passagemath/passagemath/blob/main/pkgs/sagemath-graphs/MANIFEST.in
182
+
183
+
184
+ Examples
185
+ --------
186
+
187
+ A quick way to try it out interactively::
188
+
189
+ $ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[test]" ipython
190
+ In [1]: from sage.all__sagemath_graphs import *
191
+
192
+ In [6]: g = Graph([(1, 3), (3, 8), (5, 2)]); g
193
+ Out[6]: Graph on 5 vertices
194
+
195
+ In [7]: g.is_connected()
196
+ Out[7]: False
197
+
198
+
199
+ Available as extras, from other distributions
200
+ ---------------------------------------------
201
+
202
+ Libraries
203
+ ~~~~~~~~~
204
+
205
+ ``pip install passagemath-graphs[benzene,buckygen,plantri]`` additionally make
206
+ various graph generators available via `passagemath-benzene <https://pypi.org/project/passagemath-benzene/>`_, `passagemath-buckygen <https://pypi.org/project/passagemath-buckygen/>`_, and `passagemath-plantri <https://pypi.org/project/passagemath-plantri/>`_.
207
+
208
+ ``pip install passagemath-graphs[bliss]`` additionally installs `passagemath-bliss <https://pypi.org/project/passagemath-bliss/>`_ for the purpose
209
+ of computing graph (iso/auto)morphisms.
210
+
211
+ ``pip install passagemath-graphs[cliquer]`` additionally installs `passagemath-cliquer <https://pypi.org/project/passagemath-cliquer/>`_
212
+
213
+ ``pip install passagemath-graphs[cmr]`` additionally installs `passagemath-cmr <https://pypi.org/project/passagemath-cmr/>`_ for recognition and decomposition algorithms
214
+ for network matrices, totally unimodular matrices and regular matroids, series-parallel matroids, etc.
215
+
216
+ ``pip install passagemath-graphs[gap]`` additionally installs `passagemath-gap <https://pypi.org/project/passagemath-gap/>`_ for group-theoretic functionality.
217
+
218
+ ``pip install passagemath-graphs[igraph]`` additionally installs
219
+ `igraph <https://python.igraph.org/en/stable/>`_::
220
+
221
+ $ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[igraph,test]" ipython
222
+ In [1]: from sage.all__sagemath_graphs import *
223
+
224
+ In [2]: ## Example depending on igraph goes here
225
+
226
+ ``pip install passagemath-graphs[mcqd]`` additionally installs `passagemath-mcqd <https://pypi.org/project/passagemath-mcqd/>`_
227
+
228
+ ``pip install passagemath-graphs[nauty]`` additionally installs `passagemath-nauty <https://pypi.org/project/passagemath-nauty/>`_ for computing
229
+ automorphism groups of graphs and digraphs.
230
+
231
+ ``pip install passagemath-graphs[networkx]`` additionally installs
232
+ `NetworkX <https://networkx.github.io>`__::
233
+
234
+ $ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[networkx,test]" ipython
235
+ In [1]: from sage.all__sagemath_graphs import *
236
+
237
+ In [2]: ## Example depending on networkx goes here
238
+
239
+ ``pip install passagemath-graphs[pari]`` additionally installs `passagemath-pari <https://pypi.org/project/passagemath-pari/>`_
240
+
241
+ ``pip install passagemath-graphs[planarity]`` additionally installs `passagemath-planarity <https://pypi.org/project/passagemath-planarity/>`_ for planarity testing.
242
+
243
+ ``pip install passagemath-graphs[rankwidth]`` additionally installs `passagemath-rankwidth <https://pypi.org/project/passagemath-rankwidth/>`_ for rank width and rank decompositions.
244
+
245
+ ``pip install passagemath-graphs[tdlib]`` additionally installs `passagemath-tdlib <https://pypi.org/project/passagemath-tdlib/>`_ for computing tree decompositions.
246
+
247
+
248
+ Features
249
+ ~~~~~~~~
250
+
251
+ ``pip install passagemath-graphs[combinat]`` additionally installs `passagemath-combinat <https://pypi.org/project/passagemath-combinat/>`_
252
+
253
+ ``pip install passagemath-graphs[editor]`` additionally installs the interactive graph editor `phitigra <https://pypi.org/project/phitigra/>`_.
254
+
255
+ ``pip install passagemath-graphs[groups]`` additionally makes group-theoretic features
256
+ available via `passagemath-gap <https://pypi.org/project/passagemath-gap/>`_, `passagemath-groups <https://pypi.org/project/passagemath-groups/>`_, and `passagemath-nauty <https://pypi.org/project/passagemath-nauty/>`_::
257
+
258
+ $ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[groups,test]" ipython
259
+ In [1]: from sage.all__sagemath_graphs import *
260
+
261
+ In [2]: g = Graph({
262
+ 0: [1, 2],
263
+ 1: [0, 2],
264
+ 2: [0, 1, 3],
265
+ 3: [2]
266
+ })
267
+
268
+ In [3]: aut = g.automorphism_group()
269
+
270
+ In [4]: print(aut.order())
271
+
272
+ ``pip install passagemath-graphs[homology]`` provides homological computations for abstract complexes via `passagemath-modules <https://pypi.org/project/passagemath-modules/>`_.
273
+
274
+ ``pip install passagemath-graphs[mip]`` additionally makes the mixed-integer programming
275
+ solver GLPK available via `passagemath-glpk <https://pypi.org/project/passagemath-glpk/>`_ and `passagemath-polyhedra <https://pypi.org/project/passagemath-polyhedra/>`_ (see there for other available solvers).::
276
+
277
+ $ pipx run --pip-args="--prefer-binary" --spec "passagemath-graphs[mip,test]" ipython
278
+ In [1]: from sage.all__sagemath_graphs import *
279
+
280
+ In [2]: ## Example depending on MIP goes here
281
+
282
+ ``pip install passagemath-graphs[modules]`` additionally makes linear algebra features available via `passagemath-modules <https://pypi.org/project/passagemath-modules/>`_.
283
+
284
+ ``pip install passagemath-graphs[plot]`` additionally installs `passagemath-plot <https://pypi.org/project/passagemath-plot/>`_.
285
+
286
+ ``pip install passagemath-graphs[polyhedra]`` additionally installs `passagemath-polyhedra <https://pypi.org/project/passagemath-polyhedra/>`_.
287
+
288
+ ``pip install passagemath-graphs[sat]`` additionally provides SAT features via `passagemath-combinat <https://pypi.org/project/passagemath-combinat/>`_.
289
+
290
+ ``pip install passagemath-graphs[standard]`` installs all libraries and features related to graphs that
291
+ are available in a standard installation of Sage.
292
+
293
+
294
+ Development
295
+ -----------
296
+
297
+ ::
298
+
299
+ $ git clone --origin passagemath https://github.com/passagemath/passagemath.git
300
+ $ cd passagemath
301
+ passagemath $ ./bootstrap
302
+ passagemath $ python3 -m venv graphs-venv
303
+ passagemath $ source graphs-venv/bin/activate
304
+ (graphs-venv) passagemath $ pip install -v -e pkgs/sagemath-graphs