Skip to content

Conversation

@rubenperezm
Copy link
Owner

This pull request includes several changes to improve the PyStrukts library, focusing on enhancing the graph module, updating documentation, and adding tests. The most important changes include the addition of the AdjacencyList class, updates to the AdjacencyMatrix class, and improvements to the documentation and configuration files.

Enhancements to Graph Module:

  • Added AdjacencyList class with methods for graph operations such as add_edge, remove_edge, add_vertex, remove_vertex, and has_edge. (pystrukts/graph/adjacency_list.py)
  • Updated AdjacencyMatrix class to ensure consistency in directed and undirected graph handling, including changes to initialization and edge management methods. (pystrukts/graph/adjacency_matrix.py) [1] [2] [3] [4] [5] [6] [7]

Documentation and Configuration:

  • Added badges for build status, code coverage, and PyPI version to README.md for better project visibility. (README.md)
  • Updated pyproject.toml to include classifiers for better package metadata. (pyproject.toml)

Testing:

  • Added comprehensive tests for the AdjacencyList class, covering initialization, edge and vertex operations, and error handling. (tests/test_adjacency_list.py)
  • Updated tests for the AdjacencyMatrix class to reflect changes in graph direction handling. (tests/test_adjacency_matrix.py)

Linting:

  • Modified the pylint configuration to ignore _version.py instead of tests. (.github/workflows/lint.yml)

These changes collectively improve the functionality, maintainability, and documentation of the PyStrukts library.

Add no_edge_value in copy, float conversion in ad_edge
Update path to _version.py
Fix bugs in AdjacencyMatrix
Add AdjacencyList implementation and tests
Add metadata to pyproject.toml
@rubenperezm rubenperezm self-assigned this Oct 7, 2024
@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines Coverage Δ
pystrukts/graph/__init__.py 100.00% <100.00%> (ø)
pystrukts/graph/adjacency_list.py 100.00% <100.00%> (ø)
pystrukts/graph/adjacency_matrix.py 100.00% <100.00%> (ø)
pystrukts/graph/graph.py 100.00% <ø> (ø)
tests/test_adjacency_list.py 100.00% <100.00%> (ø)
tests/test_adjacency_matrix.py 100.00% <100.00%> (ø)

Fix bug in Python 3.9, 'set has changed size during iteration'
@rubenperezm rubenperezm merged commit 5b1961b into main Oct 7, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants