pygraphviz 2.0rc4__tar.gz → 2.0.2__tar.gz

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 (67) hide show
  1. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/INSTALL.txt +1 -1
  2. {pygraphviz-2.0rc4/pygraphviz.egg-info → pygraphviz-2.0.2}/PKG-INFO +2 -1
  3. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/install.rst +1 -1
  4. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/release/index.rst +3 -0
  5. pygraphviz-2.0.2/doc/source/release/release_2.0.1.rst +34 -0
  6. pygraphviz-2.0.2/doc/source/release/release_2.0.2.rst +29 -0
  7. pygraphviz-2.0.2/doc/source/release/release_2.0.rst +108 -0
  8. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/plot_miles.py +1 -1
  9. pygraphviz-2.0.2/examples/plot_subgraph_boundaries.py +36 -0
  10. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/__init__.py +1 -1
  11. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/agraph.py +5 -16
  12. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_attribute_defaults.py +10 -0
  13. {pygraphviz-2.0rc4 → pygraphviz-2.0.2/pygraphviz.egg-info}/PKG-INFO +2 -1
  14. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz.egg-info/SOURCES.txt +4 -1
  15. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pyproject.toml +1 -0
  16. pygraphviz-2.0rc4/doc/source/release/release_dev.rst +0 -38
  17. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/LICENSE +0 -0
  18. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/LICENSE.graphviz +0 -0
  19. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/MANIFEST.in +0 -0
  20. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/Makefile +0 -0
  21. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/README.rst +0 -0
  22. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/Makefile +0 -0
  23. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/conf.py +0 -0
  24. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/developer/contribute.rst +0 -0
  25. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/developer/index.rst +0 -0
  26. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/developer/release.rst +0 -0
  27. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/index.rst +0 -0
  28. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/reference/agraph.rst +0 -0
  29. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/reference/credits.rst +0 -0
  30. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/reference/history.rst +0 -0
  31. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/reference/index.rst +0 -0
  32. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/release/old_release_log.rst +0 -0
  33. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/release/release_1.12.rst +0 -0
  34. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/release/release_1.13.rst +0 -0
  35. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/doc/source/release/release_1.14.rst +0 -0
  36. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/README.txt +0 -0
  37. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/miles_dat.txt.gz +0 -0
  38. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/plot_attributes.py +0 -0
  39. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/plot_simple.py +0 -0
  40. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/plot_star.py +0 -0
  41. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/plot_subgraph.py +0 -0
  42. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/skip_django_simple.py +0 -0
  43. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/examples/skip_utf8_encoding.py +0 -0
  44. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/graphviz.i +0 -0
  45. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/graphviz.py +0 -0
  46. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/scraper.py +0 -0
  47. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/testing.py +0 -0
  48. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/__init__.py +0 -0
  49. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_clear.py +0 -0
  50. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_close.py +0 -0
  51. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_drawing.py +0 -0
  52. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_edge_attributes.py +0 -0
  53. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_graph.py +0 -0
  54. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_html.py +0 -0
  55. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_layout.py +0 -0
  56. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_node_attributes.py +0 -0
  57. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_pygraphviz.py +0 -0
  58. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_readwrite.py +0 -0
  59. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_repr_mimebundle.py +0 -0
  60. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_scraper.py +0 -0
  61. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_string.py +0 -0
  62. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_subgraph.py +0 -0
  63. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz/tests/test_unicode.py +0 -0
  64. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz.egg-info/dependency_links.txt +0 -0
  65. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/pygraphviz.egg-info/top_level.txt +0 -0
  66. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/setup.cfg +0 -0
  67. {pygraphviz-2.0rc4 → pygraphviz-2.0.2}/setup.py +0 -0
@@ -39,7 +39,7 @@ Install from Source
39
39
 
40
40
  Building PyGraphviz from source requires:
41
41
 
42
- - Python (version 3.10, 3.11, 3.12, 3.13 or 3.14)
42
+ - Python (version 3.10, 3.11, 3.12, 3.13, 3.14, or 3.15)
43
43
  - `Graphviz <https://www.graphviz.org/>`_ (version 2.46 or later)
44
44
  - C/C++ compiler
45
45
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygraphviz
3
- Version: 2.0rc4
3
+ Version: 2.0.2
4
4
  Summary: Python interface to Graphviz
5
5
  Author: Manos Renieris
6
6
  Author-email: Aric Hagberg <aric.hagberg@gmail.com>, Dan Schult <dschult@colgate.edu>
@@ -25,6 +25,7 @@ Classifier: Programming Language :: Python :: 3.11
25
25
  Classifier: Programming Language :: Python :: 3.12
26
26
  Classifier: Programming Language :: Python :: 3.13
27
27
  Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: 3.15
28
29
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
30
  Classifier: Programming Language :: Python :: Implementation :: PyPy
30
31
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -39,7 +39,7 @@ Install from Source
39
39
 
40
40
  Building PyGraphviz from source requires:
41
41
 
42
- - Python (version 3.10, 3.11, 3.12, 3.13 or 3.14)
42
+ - Python (version 3.10, 3.11, 3.12, 3.13, 3.14, or 3.15)
43
43
  - `Graphviz <https://www.graphviz.org/>`_ (version 2.46 or later)
44
44
  - C/C++ compiler
45
45
 
@@ -8,6 +8,9 @@ Releases
8
8
  :maxdepth: 2
9
9
 
10
10
  release_dev
11
+ release_2.0.2
12
+ release_2.0.1
13
+ release_2.0
11
14
  release_1.14
12
15
  release_1.13
13
16
  release_1.12
@@ -0,0 +1,34 @@
1
+ pygraphviz 2.0.1
2
+ ================
3
+
4
+ We're happy to announce the release of pygraphviz 2.0.1!
5
+
6
+ Bug Fixes
7
+ ---------
8
+
9
+ - Fix graph-level attribute masking node/edge default (gh-563) (`#639 <https://github.com/pygraphviz/pygraphviz/pull/639>`_).
10
+ - BUG: Use "nop2" instead of "neato -n2" for rendering with pre-computed positions (`#638 <https://github.com/pygraphviz/pygraphviz/pull/638>`_).
11
+
12
+ Maintenance
13
+ -----------
14
+
15
+ - Bump actions/checkout from 6 to 7 (`#631 <https://github.com/pygraphviz/pygraphviz/pull/631>`_).
16
+
17
+ Contributors
18
+ ------------
19
+
20
+ 4 authors added to this release (alphabetically):
21
+
22
+ - `@dependabot[bot] <https://github.com/apps/dependabot>`_
23
+ - Apoorv Darshan (`@apoorvdarshan <https://github.com/apoorvdarshan>`_)
24
+ - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
25
+ - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
26
+
27
+ 3 reviewers added to this release (alphabetically):
28
+
29
+ - Dan Schult (`@dschult <https://github.com/dschult>`_)
30
+ - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
31
+ - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
32
+
33
+ _These lists are automatically generated, and may not be complete or may contain
34
+ duplicates._
@@ -0,0 +1,29 @@
1
+ pygraphviz 2.0.2
2
+ ================
3
+
4
+ We're happy to announce the release of pygraphviz 2.0.2!
5
+
6
+ Maintenance
7
+ -----------
8
+
9
+ - MAINT: simplify compressed filename handling (`#644 <https://github.com/pygraphviz/pygraphviz/pull/644>`_).
10
+ - CI: Update twine requirement from >=4.0 to >=7.0.0 (`#643 <https://github.com/pygraphviz/pygraphviz/pull/643>`_).
11
+ - CI: Update pre-commit requirement from >=4.1 to >=4.6.1 (`#642 <https://github.com/pygraphviz/pygraphviz/pull/642>`_).
12
+ - CI: Bump actions/setup-python from 6 to 7 (`#641 <https://github.com/pygraphviz/pygraphviz/pull/641>`_).
13
+ - Support Python 3.15 (`#649 <https://github.com/pygraphviz/pygraphviz/pull/649>`_).
14
+
15
+ Contributors
16
+ ------------
17
+
18
+ 3 authors added to this release (alphabetically):
19
+
20
+ - `@dependabot[bot] <https://github.com/apps/dependabot>`_
21
+ - Dan Schult (`@dschult <https://github.com/dschult>`_)
22
+ - Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
23
+
24
+ 2 reviewers added to this release (alphabetically):
25
+
26
+ - Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
27
+ - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
28
+
29
+ _These lists are automatically generated, and may not be complete or may contain duplicates._
@@ -0,0 +1,108 @@
1
+ pygraphviz 2.0
2
+ ==============
3
+
4
+ We're happy to announce the release of pygraphviz 2.0!
5
+
6
+ Enhancements
7
+ ------------
8
+
9
+ - Add aarch64 wheels for linux to cibuildwheel (`#591 <https://github.com/pygraphviz/pygraphviz/pull/591>`_).
10
+ - ENH: Export version info from wrapped graphviz (`#624 <https://github.com/pygraphviz/pygraphviz/pull/624>`_).
11
+
12
+ Bug Fixes
13
+ ---------
14
+
15
+ - More precise allocation for string copy in SWIG glue (`#559 <https://github.com/pygraphviz/pygraphviz/pull/559>`_).
16
+
17
+ Documentation
18
+ -------------
19
+
20
+ - Avoid adding benchmark results to docs (`#544 <https://github.com/pygraphviz/pygraphviz/pull/544>`_).
21
+ - DOC: remove pip install as recommendation (`#551 <https://github.com/pygraphviz/pygraphviz/pull/551>`_).
22
+ - DOC: update install docs with link to graphviz 12.2.1 for windows (`#552 <https://github.com/pygraphviz/pygraphviz/pull/552>`_).
23
+ - Update docs for 2.0 (`#609 <https://github.com/pygraphviz/pygraphviz/pull/609>`_).
24
+ - DOC: Make tutorial executable, run as part of doc build (`#629 <https://github.com/pygraphviz/pygraphviz/pull/629>`_).
25
+ - DOC: Add DOT special characters to documentation (`#628 <https://github.com/pygraphviz/pygraphviz/pull/628>`_).
26
+
27
+ Maintenance
28
+ -----------
29
+
30
+ - Drop support for Python 3.10 (SPEC 0) (`#543 <https://github.com/pygraphviz/pygraphviz/pull/543>`_).
31
+ - Bump up CI builds, test with latest windows graphviz release (`#550 <https://github.com/pygraphviz/pygraphviz/pull/550>`_).
32
+ - Update fedora tests (`#554 <https://github.com/pygraphviz/pygraphviz/pull/554>`_).
33
+ - Update pre-commit (`#557 <https://github.com/pygraphviz/pygraphviz/pull/557>`_).
34
+ - Update pyproject.toml to comply with PEP 639 (`#578 <https://github.com/pygraphviz/pygraphviz/pull/578>`_).
35
+ - CI: Github actions uses MacOS 15; update macports (`#579 <https://github.com/pygraphviz/pygraphviz/pull/579>`_).
36
+ - Add support for Python 3.14 (`#576 <https://github.com/pygraphviz/pygraphviz/pull/576>`_).
37
+ - Use pytest's tmp_path fixture (`#561 <https://github.com/pygraphviz/pygraphviz/pull/561>`_).
38
+ - Bump webfactory/ssh-agent from 0.9.0 to 0.9.1 (`#562 <https://github.com/pygraphviz/pygraphviz/pull/562>`_).
39
+ - Bump scientific-python/attach-next-milestone-action from bc07be829f693829263e57d5e8489f4e57d3d420 to c9cfab10ad0c67fed91b01103db26b7f16634639 (`#560 <https://github.com/pygraphviz/pygraphviz/pull/560>`_).
40
+ - Bump actions/checkout from 4 to 6 (`#581 <https://github.com/pygraphviz/pygraphviz/pull/581>`_).
41
+ - Bump actions/setup-python from 5 to 6 (`#580 <https://github.com/pygraphviz/pygraphviz/pull/580>`_).
42
+ - CI: test CI with choco (`#556 <https://github.com/pygraphviz/pygraphviz/pull/556>`_).
43
+ - Drop support for python 3.11 (SPEC 0) (`#582 <https://github.com/pygraphviz/pygraphviz/pull/582>`_).
44
+ - CI: fix silent Windows failures and duplicate PR runs (`#588 <https://github.com/pygraphviz/pygraphviz/pull/588>`_).
45
+ - Bump webfactory/ssh-agent from 0.9.1 to 0.10.0 (`#586 <https://github.com/pygraphviz/pygraphviz/pull/586>`_).
46
+ - CI: cibuildwheel take 4 (`#583 <https://github.com/pygraphviz/pygraphviz/pull/583>`_).
47
+ - MAINT: Add swig step to build (`#590 <https://github.com/pygraphviz/pygraphviz/pull/590>`_).
48
+ - Bump conda-incubator/setup-miniconda from 3 to 4 (`#595 <https://github.com/pygraphviz/pygraphviz/pull/595>`_).
49
+ - Bump actions/upload-artifact from 4 to 7 (`#594 <https://github.com/pygraphviz/pygraphviz/pull/594>`_).
50
+ - Bump actions/download-artifact from 4 to 8 (`#593 <https://github.com/pygraphviz/pygraphviz/pull/593>`_).
51
+ - Update setuptools version requirement in pyproject.toml (`#602 <https://github.com/pygraphviz/pygraphviz/pull/602>`_).
52
+ - Graphviz support across v13 API change (`#603 <https://github.com/pygraphviz/pygraphviz/pull/603>`_).
53
+ - CI: Rm fedora/macports testing workflows (`#606 <https://github.com/pygraphviz/pygraphviz/pull/606>`_).
54
+ - CI: Build macos wheels against macos 11, and move cibuildwheel to release pipeline (`#604 <https://github.com/pygraphviz/pygraphviz/pull/604>`_).
55
+ - More 2.0 cleanups (`#610 <https://github.com/pygraphviz/pygraphviz/pull/610>`_).
56
+ - Update type of id param to IDTYPE in swig wrapper (`#611 <https://github.com/pygraphviz/pygraphviz/pull/611>`_).
57
+ - Add Python 3.11 support for 2.0 release (`#613 <https://github.com/pygraphviz/pygraphviz/pull/613>`_).
58
+ - CONF: escaped slashes in windows pathspec (`#614 <https://github.com/pygraphviz/pygraphviz/pull/614>`_).
59
+ - TST: Add tests for ``tred`` method (`#615 <https://github.com/pygraphviz/pygraphviz/pull/615>`_).
60
+ - PKG: Include examples/*.txt in MANIFEST.in (`#617 <https://github.com/pygraphviz/pygraphviz/pull/617>`_).
61
+ - TST: Add unit test for gh-123 (`#622 <https://github.com/pygraphviz/pygraphviz/pull/622>`_).
62
+ - TST: Add example from gh-162 as unit test (`#621 <https://github.com/pygraphviz/pygraphviz/pull/621>`_).
63
+ - CI: See what happens when freethreading enabled (`#616 <https://github.com/pygraphviz/pygraphviz/pull/616>`_).
64
+ - TST: Attempt regression test for gh-585 (`#618 <https://github.com/pygraphviz/pygraphviz/pull/618>`_).
65
+ - TST: Assert hex colors don't cause runtime warnings (`#619 <https://github.com/pygraphviz/pygraphviz/pull/619>`_).
66
+ - Bump packaged graphviz version (`#623 <https://github.com/pygraphviz/pygraphviz/pull/623>`_).
67
+ - TST: Add regression test for gh-171 (`#620 <https://github.com/pygraphviz/pygraphviz/pull/620>`_).
68
+ - DOC: Fix testing badge readme (`#626 <https://github.com/pygraphviz/pygraphviz/pull/626>`_).
69
+ - Add graphviz license to the wheel (`#627 <https://github.com/pygraphviz/pygraphviz/pull/627>`_).
70
+
71
+ Other
72
+ -----
73
+
74
+ - WIP: Using cgraph/gvc lib interface for wheel building (`#421 <https://github.com/pygraphviz/pygraphviz/pull/421>`_).
75
+ - docs: replace deprecated --global-option with --config-settings (`#574 <https://github.com/pygraphviz/pygraphviz/pull/574>`_).
76
+ - Fix FILE* resource leak in agwrite() wrapper (`#585 <https://github.com/pygraphviz/pygraphviz/pull/585>`_).
77
+ - CI: Build macos wheels with quartz; no gd (`#608 <https://github.com/pygraphviz/pygraphviz/pull/608>`_).
78
+ - Add Python 3.10 support for 2.0 release (`#625 <https://github.com/pygraphviz/pygraphviz/pull/625>`_).
79
+
80
+ Contributors
81
+ ------------
82
+
83
+ 13 authors added to this release (alphabetically):
84
+
85
+ - `@dependabot[bot] <https://github.com/apps/dependabot>`_
86
+ - Bryan Gin-ge Chen (`@bryangingechen <https://github.com/bryangingechen>`_)
87
+ - Cat Chenal (`@CatChenal <https://github.com/CatChenal>`_)
88
+ - Dan Schult (`@dschult <https://github.com/dschult>`_)
89
+ - Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
90
+ - Matthew Fernandez (`@Smattr <https://github.com/Smattr>`_)
91
+ - Matěj Cepl (`@mcepl <https://github.com/mcepl>`_)
92
+ - Miroslav Šedivý (`@eumiro <https://github.com/eumiro>`_)
93
+ - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
94
+ - Rob Taylor (`@robtaylor <https://github.com/robtaylor>`_)
95
+ - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
96
+ - Yatin (`@YatinAdityaT <https://github.com/YatinAdityaT>`_)
97
+ - Ülgen Sarıkavak (`@ulgens <https://github.com/ulgens>`_)
98
+
99
+ 5 reviewers added to this release (alphabetically):
100
+
101
+ - Dan Schult (`@dschult <https://github.com/dschult>`_)
102
+ - Jarrod Millman (`@jarrodmillman <https://github.com/jarrodmillman>`_)
103
+ - Matthew Fernandez (`@Smattr <https://github.com/Smattr>`_)
104
+ - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
105
+ - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
106
+
107
+ _These lists are automatically generated, and may not be complete or may contain
108
+ duplicates._
@@ -93,5 +93,5 @@ if __name__ == "__main__":
93
93
 
94
94
  G.write("miles.dot")
95
95
  print("Wrote miles.dot")
96
- G.draw("miles.png", prog="neato", args="-n2")
96
+ G.draw("miles.png", prog="nop2")
97
97
  print("Wrote miles.png")
@@ -0,0 +1,36 @@
1
+ """
2
+ Subgraph with Boundaries
3
+ ========================
4
+
5
+ Draw a subgraph with bounding boxes demarcating both the nodes and the subgraphs
6
+ """
7
+
8
+ import pygraphviz as pgv
9
+
10
+ # A graph in `.dot` format specifying two nodes, each within their own subgraph,
11
+ # and a bi-directional edge between them
12
+ dot_str = """
13
+ digraph G {
14
+ graph [compound=true];
15
+
16
+ node [shape=box];
17
+
18
+ subgraph cluster_A {
19
+ label="A";
20
+ a1 [pos="50,100!"];
21
+ }
22
+
23
+ subgraph cluster_B {
24
+ label="B";
25
+ b1 [pos="200,100!"];
26
+ }
27
+
28
+ a1 -> b1 [lhead=cluster_B, ltail=cluster_A, dir=both];
29
+
30
+ graph [bb="0,0,300,200"];
31
+ }
32
+ """
33
+
34
+ A = pgv.AGraph(dot_str)
35
+ A.layout("dot")
36
+ A.draw("subgraph_bdries.png")
@@ -32,7 +32,7 @@ from ._graphviz import (
32
32
  GRAPHVIZ_PATCH_VERSION,
33
33
  )
34
34
 
35
- __version__ = "2.0rc4"
35
+ __version__ = "2.0.2"
36
36
  __graphviz_version__ = (
37
37
  f"{GRAPHVIZ_MAJOR_VERSION}.{GRAPHVIZ_MINOR_VERSION}.{GRAPHVIZ_PATCH_VERSION}"
38
38
  )
@@ -2,6 +2,7 @@
2
2
  A Python interface to Graphviz.
3
3
  """
4
4
 
5
+ import fileinput
5
6
  import os
6
7
  import re
7
8
  import shlex
@@ -1580,8 +1581,7 @@ class AGraph:
1580
1581
 
1581
1582
  if prog is None:
1582
1583
  if self.has_layout:
1583
- prog = "neato"
1584
- args += " -n2"
1584
+ prog = "nop2"
1585
1585
  else:
1586
1586
  msg = """Graph has no layout information, see layout() or specify prog={}.""".format(
1587
1587
  "|".join(["neato", "dot", "twopi", "circo", "fdp", "nop"])
@@ -1671,16 +1671,7 @@ class AGraph:
1671
1671
  import os
1672
1672
 
1673
1673
  if isinstance(path, str):
1674
- if path.endswith(".gz"):
1675
- # import gzip
1676
- # fh = gzip.open(path,mode=mode) # doesn't return real fh
1677
- fh = os.popen("gzcat " + path) # probably not portable
1678
- elif path.endswith(".bz2"):
1679
- # import bz2
1680
- # fh = bz2.BZ2File(path,mode=mode) # doesn't return real fh
1681
- fh = os.popen("bzcat " + path) # probably not portable
1682
- else:
1683
- fh = open(path, mode=mode)
1674
+ fh = fileinput.hook_compressed(path, mode=mode)
1684
1675
  elif hasattr(path, "write"):
1685
1676
  # Note, mode of file handle is unchanged.
1686
1677
  fh = path
@@ -1939,10 +1930,8 @@ class Attribute(MutableMapping):
1939
1930
  )
1940
1931
 
1941
1932
  def __getitem__(self, name):
1942
- item = gv.agget(self.handle, name.encode(self.encoding))
1943
- if item is None:
1944
- ah = gv.agattr(self.handle, self.type, name.encode(self.encoding), None)
1945
- item = gv.agattrdefval(ah)
1933
+ ah = gv.agattr(self.handle, self.type, name.encode(self.encoding), None)
1934
+ item = gv.agattrdefval(ah)
1946
1935
  return item.decode(self.encoding)
1947
1936
 
1948
1937
  def __delitem__(self, name):
@@ -83,3 +83,13 @@ def test_edge_defaults():
83
83
  del A.edge_attr["label"]
84
84
  ans = """strict graph { }"""
85
85
  assert stringify(A) == " ".join(ans.split())
86
+
87
+
88
+ def test_default_not_masked_by_graph_attribute():
89
+ # See gh-563: an attribute set at the graph level (e.g. via a subgraph)
90
+ # must not mask a same-named node/edge default.
91
+ A = pgv.AGraph("digraph { edge[penwidth=2]; subgraph { penwidth=1; } }")
92
+ assert A.edge_attr["penwidth"] == "2"
93
+
94
+ A = pgv.AGraph("digraph { node[shape=box]; subgraph { shape=circle; } }")
95
+ assert A.node_attr["shape"] == "box"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygraphviz
3
- Version: 2.0rc4
3
+ Version: 2.0.2
4
4
  Summary: Python interface to Graphviz
5
5
  Author: Manos Renieris
6
6
  Author-email: Aric Hagberg <aric.hagberg@gmail.com>, Dan Schult <dschult@colgate.edu>
@@ -25,6 +25,7 @@ Classifier: Programming Language :: Python :: 3.11
25
25
  Classifier: Programming Language :: Python :: 3.12
26
26
  Classifier: Programming Language :: Python :: 3.13
27
27
  Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: 3.15
28
29
  Classifier: Programming Language :: Python :: Implementation :: CPython
29
30
  Classifier: Programming Language :: Python :: Implementation :: PyPy
30
31
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
@@ -22,7 +22,9 @@ doc/source/release/old_release_log.rst
22
22
  doc/source/release/release_1.12.rst
23
23
  doc/source/release/release_1.13.rst
24
24
  doc/source/release/release_1.14.rst
25
- doc/source/release/release_dev.rst
25
+ doc/source/release/release_2.0.1.rst
26
+ doc/source/release/release_2.0.2.rst
27
+ doc/source/release/release_2.0.rst
26
28
  examples/README.txt
27
29
  examples/miles_dat.txt.gz
28
30
  examples/plot_attributes.py
@@ -30,6 +32,7 @@ examples/plot_miles.py
30
32
  examples/plot_simple.py
31
33
  examples/plot_star.py
32
34
  examples/plot_subgraph.py
35
+ examples/plot_subgraph_boundaries.py
33
36
  examples/skip_django_simple.py
34
37
  examples/skip_utf8_encoding.py
35
38
  pygraphviz/__init__.py
@@ -34,6 +34,7 @@ classifiers = [
34
34
  "Programming Language :: Python :: 3.12",
35
35
  "Programming Language :: Python :: 3.13",
36
36
  "Programming Language :: Python :: 3.14",
37
+ "Programming Language :: Python :: 3.15",
37
38
  "Programming Language :: Python :: Implementation :: CPython",
38
39
  "Programming Language :: Python :: Implementation :: PyPy",
39
40
  "Topic :: Software Development :: Libraries :: Python Modules",
@@ -1,38 +0,0 @@
1
- pygraphviz 2.0rc4
2
- =================
3
-
4
- We're happy to announce the release of pygraphviz 2.0rc4!
5
-
6
- Documentation
7
- -------------
8
-
9
- - DOC: Make tutorial executable, run as part of doc build (`#629 <https://github.com/pygraphviz/pygraphviz/pull/629>`_).
10
- - DOC: Add DOT special characters to documentation (`#628 <https://github.com/pygraphviz/pygraphviz/pull/628>`_).
11
-
12
- Maintenance
13
- -----------
14
-
15
- - DOC: Fix testing badge readme (`#626 <https://github.com/pygraphviz/pygraphviz/pull/626>`_).
16
- - Add graphviz license to the wheel (`#627 <https://github.com/pygraphviz/pygraphviz/pull/627>`_).
17
-
18
- Other
19
- -----
20
-
21
- - Add Python 3.10 support for 2.0 release (`#625 <https://github.com/pygraphviz/pygraphviz/pull/625>`_).
22
-
23
- Contributors
24
- ------------
25
-
26
- 2 authors added to this release (alphabetically):
27
-
28
- - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
29
- - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
30
-
31
- 3 reviewers added to this release (alphabetically):
32
-
33
- - Dan Schult (`@dschult <https://github.com/dschult>`_)
34
- - Mridul Seth (`@MridulS <https://github.com/MridulS>`_)
35
- - Ross Barnowski (`@rossbar <https://github.com/rossbar>`_)
36
-
37
- _These lists are automatically generated, and may not be complete or may contain
38
- duplicates._
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes