Skip to content

Create python-ta-z3 package#1290

Merged
david-yz-liu merged 1 commit intopyta-uoft:masterfrom
david-yz-liu:python-ta-z3-package
Feb 1, 2026
Merged

Create python-ta-z3 package#1290
david-yz-liu merged 1 commit intopyta-uoft:masterfrom
david-yz-liu:python-ta-z3-package

Conversation

@david-yz-liu
Copy link
Copy Markdown
Contributor

@david-yz-liu david-yz-liu commented Jan 26, 2026

Proposed Changes

(Describe your changes here. Also describe the motivation for your changes: what problem do they solve, or how do they improve the application or codebase? If this pull request fixes an open issue, use a keyword to link this pull request to the issue.)

This pull request extracts most of the Z3-related functionality from python-ta into a new package, python-ta-z3. In particular, the Z3Visitor, Z3Parser, and Z3ParseException classes have been extracted.

This isn't a full extraction because the following python-ta components use Z3 directly (not just the three above classes):

  • ConditionLogicChecker
  • ControlFlowGraph

It'll take a bit more effort to fully extract the Z3-related parts from these two components, so I'm leaving that for future work.

Screenshots of your changes (if applicable)

Type of Change

(Write an X or a brief description next to the type or types that best describe your changes.)

Type Applies?
🚨 Breaking change (fix or feature that would cause existing functionality to change)
New feature (non-breaking change that adds functionality) X
🐛 Bug fix (non-breaking change that fixes an issue)
♻️ Refactoring (internal change to codebase, without changing functionality)
🚦 Test update (change that only adds or modifies tests)
📚 Documentation update (change that only updates documentation)
📦 Dependency update (change that updates a dependency)
🔧 Internal (change that only affects developers or continuous integration)

Checklist

(Complete each of the following items for your pull request. Indicate that you have completed an item by changing the [ ] into a [x] in the raw text, or by clicking on the checkbox in the rendered description on GitHub.)

Before opening your pull request:

  • I have performed a self-review of my changes.
    • Check that all changed files included in this pull request are intentional changes.
    • Check that all changes are relevant to the purpose of this pull request, as described above.
  • I have added tests for my changes, if applicable.
    • This is required for all bug fixes and new features.
  • I have updated the project documentation, if applicable.
    • This is required for new features.
  • I have updated the project Changelog (this is required for all changes).
  • If this is my first contribution, I have added myself to the list of contributors.

After opening your pull request:

  • I have verified that the pre-commit.ci checks have passed.
  • I have verified that the CI tests have passed.
  • I have reviewed the test coverage changes reported by Coveralls.
  • I have requested a review from a project maintainer.

Questions and Comments

(Include any questions or comments you have regarding your changes.)

@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented Feb 1, 2026

Pull Request Test Coverage Report for Build 21569320709

Details

  • 14 of 38 (36.84%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-4.4%) to 89.835%

Changes Missing Coverage Covered Lines Changed/Added Lines %
packages/python-ta-z3/src/python_ta_z3/utils.py 5 29 17.24%
Totals Coverage Status
Change from base Build 21566387466: -4.4%
Covered Lines: 3429
Relevant Lines: 3817

💛 - Coveralls

@david-yz-liu david-yz-liu force-pushed the python-ta-z3-package branch 2 times, most recently from 4fce43e to 1c12df2 Compare February 1, 2026 17:48
@david-yz-liu david-yz-liu merged commit 614860d into pyta-uoft:master Feb 1, 2026
24 of 30 checks passed
@david-yz-liu david-yz-liu deleted the python-ta-z3-package branch February 1, 2026 22:39
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.

2 participants