Skip to content

Conversation

@andres-pcg
Copy link
Contributor

  • Added support for Python versions 3.10, 3.11, 3.12, and 3.13 in pyproject.toml.
  • Updated CI workflows to test builds and run unit and e2e tests across the new Python versions.
  • Introduced a helper function for 3DS response validation in e2e tests to streamline assertions and improve readability.

- Added support for Python versions 3.10, 3.11, 3.12, and 3.13 in pyproject.toml.
- Updated CI workflows to test builds and run unit and e2e tests across the new Python versions.
- Introduced a helper function for 3DS response validation in e2e tests to streamline assertions and improve readability.
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request enables multi-version Python support (3.10, 3.11, 3.12, 3.13) for the PyAzul SDK and introduces a reusable helper function to streamline 3DS response validation in e2e tests.

  • Added support for Python 3.10-3.13 in package configuration and CI workflows
  • Introduced assert_3ds_response helper function to reduce code duplication in 3DS response handling
  • Updated test workflows to run across all supported Python versions using matrix strategy

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
pyproject.toml Added Python version classifiers (3.10-3.13), lowered minimum version requirement, added typing-extensions dependency, updated Black target versions
pyazul/core/config.py Added conditional import for Self type hint to maintain compatibility with Python 3.10
.github/workflows/tests-unit.yaml Added matrix strategy to test across Python 3.10-3.13
.github/workflows/tests-e2e.yaml Added matrix strategy to test across Python 3.10-3.13, updated setup-python action version
.github/workflows/cd.yaml Added test-build-matrix job to verify package builds across all Python versions before publishing
tests/e2e/helpers.py New helper module with assert_3ds_response function for validating and extracting data from 3DS API responses
tests/e2e/services/test_secure_integration.py Refactored to use assert_3ds_response helper, reducing duplicate validation logic across multiple test cases
tests/e2e/services/test_datavault_integration.py Refactored to use assert_3ds_response helper for cleaner 3DS response handling in token sale tests

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

@andres-pcg andres-pcg force-pushed the feat/multi-version branch 2 times, most recently from c710226 to 3e42be2 Compare November 29, 2025 01:28
@andres-pcg andres-pcg merged commit 9bf14c9 into main Nov 29, 2025
9 checks passed
@andres-pcg andres-pcg deleted the feat/multi-version branch November 29, 2025 23:36
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