Skip to content

Release 1.0.0 - #14

Merged
petercorke merged 23 commits into
mainfrom
chore/release-1.0.0
Oct 13, 2026
Merged

petercorke merged 23 commits into
mainfrom
chore/release-1.0.0

Conversation

@petercorke

@petercorke petercorke commented Sep 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Six years of production use (first commit 2020-09-20), real downstream dependencies (RTB and MVTB), and this cycle's comprehensive type-hinting/documentation/bug-fixing pass felt like the right point to commit to API stability.

See CHANGELOG.md for the full list of what changed since 0.6.5 (the last real release -- 0.6.4 and 0.6.5 were identical except for the version string; 0.6.5's tag came from a branch that was never merged into main and predates everything in this changelog).

Not merging this yet -- holding for review. Once merged, the plan is: create a GitHub Release from this tag (v1.0.0) via the Releases UI, which triggers .github/workflows/publish.yml to build and publish to PyPI via trusted publishing.

Test plan

  • 490 tests pass on Python 3.9 to 3.14; mypy and Codacy clean
  • Verified importlib.metadata.version("pgraph-python") reports 1.0.0 after an editable install

What the CHANGELOG now says

The 1.0.0 entry was rewritten after the API work landed (#26 to #49). It leads with the breaking changes and how to migrate, then deprecations, additions, fixes and known limitations. Every before-and-after in it was checked by running it against the real v0.6.5 code, not from memory.

Breaking changes, in brief: keyword-only constructor arguments; DGraph degree is in plus out; edges() is a list in order of addition and returns copies; Edge.v1/v2 and Vertex.label are read-only; add_vertex refuses duplicate names; one Vertex class (UVertex/DVertex deprecated); PGraph is now Graph.

Known limitation recorded there: plot() draws no arrowheads for a directed graph (a follow-up branch is planned).

petercorke and others added 2 commits September 3, 2026 20:33
Six years of production use (first commit 2020-09-20), a real
downstream dependency (RTB), and this cycle's comprehensive
type-hinting/documentation/bug-fixing pass felt like the right point
to commit to API stability. See CHANGELOG.md for the full list of
what changed since 0.6.5 (the last real release -- 0.6.4 and 0.6.5
were identical except for the version string).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.54%. Comparing base (b630230) to head (f06a1cc).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #14   +/-   ##
=======================================
  Coverage   97.54%   97.54%           
=======================================
  Files           4        4           
  Lines        1586     1586           
=======================================
  Hits         1547     1547           
  Misses         39       39           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

petercorke and others added 2 commits October 12, 2026 12:22
Breaking changes with how to migrate, deprecations, additions, fixes, and
known limitations.  Each before-and-after was checked by running it against
the real 0.6.5 code, which corrected three statements: adjacent() did not exist
in 0.6.5 (so the alias change is additive), Edge.vertices() raised rather than
warned, and the old wrong-subclass claim no longer applies with one vertex
class.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

petercorke and others added 3 commits October 12, 2026 12:31
Checked against 0.6.5 on undirected and directed paths and stars: the matrix
was wrong in all four, from a loop variable that overwrote the vertex index and,
for a directed graph, from visiting only each vertex's outgoing edges.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
plot() now draws a directed graph with arrowheads, bows parallel and
antiparallel edges apart and draws loops, so it is no longer a known
limitation.  Adds the plot() option renames to the deprecations, nc not
returning for many directed graphs and label being None until nc had been
asked for to what is fixed.  Each was checked against the real 0.6.5.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
petercorke and others added 16 commits October 13, 2026 10:45
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The action has normalized its inputs; skip_existing is deprecated.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
A leftover of the MATLAB version that held 0.6.1.  Nothing reads it; the
version is in pyproject.toml.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Two files of an old setuptools build were committed with the move to the src
layout, and were shipped in the sdist next to the real source.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@petercorke
petercorke merged commit 3947a02 into main Oct 13, 2026
14 checks passed
@petercorke
petercorke deleted the chore/release-1.0.0 branch October 13, 2026 02:18
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.

1 participant