Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
The following is the summary that Copilot made of the changes
Note
The package is published here: https://pypi.org/project/vqueue-sdk/. Next, I'll add a CI/CD pipeline with GitHub Actions to automate deployment.
This pull request introduces significant updates to the Virtual Queue Python SDK, including a major refactor, improved development tooling, and enhanced error handling. The changes include rebranding the SDK, restructuring the codebase, adding pre-commit hooks, and introducing new features like a
TokenVerifierclass and comprehensive test coverage.Major Changes
Codebase Refactor and Rebranding:
virtualqueue_sdktovqueue, and the package structure has been updated accordingly. (pyproject.toml[1]src/vqueue/__init__.py[2]config,queues,__main__) and configurations (config.toml) have been removed from the old package structure. (src/virtualqueue_sdk/__main__.py[1]src/virtualqueue_sdk/config.py[2]src/virtualqueue_sdk/queues.py[3]src/virtualqueue_sdk/config.toml[4]New Features:
TokenVerifierclass to handle token verification with improved error handling and session management. (src/vqueue/queues.pysrc/vqueue/queues.pyR1-R81)VQueueError,VQueueApiError,VQueueNetworkError) for better error reporting. (src/vqueue/exceptions.pysrc/vqueue/exceptions.pyR1-R30)validate_uuidv4to validate UUIDv4 tokens. (src/vqueue/utils.pysrc/vqueue/utils.pyR1-R22)Development Tooling:
.editorconfigand.pre-commit-config.yamlfor enforcing consistent coding styles and pre-commit hooks, includingrufffor linting and formatting. (.editorconfig[1].pre-commit-config.yaml[2]pyproject.tomlto include development dependencies,ruffconfiguration, and PEP 8 compliance settings. (pyproject.tomlpyproject.tomlL1-L29)Testing:
TokenVerifierclass, covering edge cases like invalid tokens, network errors, and malformed API responses. (tests/test_queues.pytests/test_queues.pyR1-R134)Documentation:
README.mdwith development guidelines, including instructions for setting upuv, pre-commit hooks, and editor configuration. (README.mdREADME.mdL1-R29)These changes collectively modernize the SDK, improve developer experience, and enhance the robustness of the library.