Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Adapt to pgraph-python 1.0: plot() option names and the single Vertex class

Đang mở
#738 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

Chưa có ai nhận issue này.

  • #741 của @tandede — đã đóng, không merge

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
backend

Hướng nghiên cứu

Read pyproject.toml, mobile/PRMPlanner.py, mobile/PoseGraph.py, and mobile/LatticePlanner.py. Update the pgraph dependency and the listed calls and vertex classes, keeping PoseGraph.plot's public vopt and eopt keywords while forwarding them under the new names. Done when RTB uses pgraph-python 1.0 APIs without deprecation warnings; linked pull request #741 shows this work is already underway.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

dependencies tech-debt

pgraph-python 1.0 renames the options of Graph.plot() and has a single Vertex class. RTB keeps working unchanged, but its calls will emit DeprecationWarnings. This issue is to adapt RTB, and to make PoseGraph forward its own option names so that RTB users never see them.

What changes in pgraph

plot() option names, which were cryptic and inconsistent (the old names keep working, with a DeprecationWarning, and passing both old and new is a TypeError):

0.6.5 1.0
vopt vertex_opt
eopt edge_opt
text (dict, or False to hide) text_opt (dict) and labels (bool)
colorcomponents color_components
force2d force_2d
(new) arrow_opt: arrowhead options; a directed graph now draws arrowheads, and parallel edges and loops are drawn

UVertex and DVertex are deprecated names for one Vertex class (a vertex has no direction of its own; the graph decides).

Changes in RTB

File Now Change to
mobile/PRMPlanner.py:312 self.graph.plot(text=False, vopt=vertex, eopt=edge, ax=ax) self.graph.plot(labels=False, vertex_opt=vertex, edge_opt=edge, ax=ax)
mobile/PoseGraph.py:340 plot(colorcomponents=False, force2d=True, **kwargs) color_components=False, force_2d=True
mobile/PoseGraph.py:448 eopt=eopt, force2d=True, colorcomponents=False edge_opt=eopt, force_2d=True, color_components=False
mobile/PoseGraph.py:28 class PGVertex(pgraph.UVertex) pgraph.Vertex
mobile/LatticePlanner.py:2,48 from pgraph import ... DVertex, class LatticeVertex(DVertex) Vertex

PoseGraph.plot has its own public vopt= / eopt= keywords (lines 334-339 and 429-447). Please keep accepting those, so RTB's API does not change, but forward them to vertex_opt / edge_opt so RTB users see no deprecation warnings that they cannot act on.

PRMPlanner.plot already has the clearer vertex= / edge=, so only the call to graph.plot changes.

Ordering

The new names exist only from pgraph 1.0, and RTB's pyproject.toml lists plain pgraph-python with no lower bound. Use pgraph-python>=1.0.0 in the same change, otherwise PRMPlanner.plot raises TypeError: unexpected keyword 'labels' against an older pgraph.

Not affected

I surveyed RTB for the other 1.0 changes and found nothing else: no use of DGraph degree, connectivity or average_degree; no assignment to Edge.v1/v2; no UGraph(<positional>); no pickle or copy of graph objects; and graph.edges() is only iterated, so a list in place of a set is fine.

Ngôn ngữ chính
C++
Star
3.5k
Fork
630
Merge trung bình
3 ngày 7 giờ
Pull request đã merge (30 ngày)
50

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của petercorke/robotics-toolbox-python

Tất cả issue của petercorke/robotics-toolbox-python

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.