Skip to content

Conversation

@studentenherz
Copy link
Contributor

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 TokenVerifier class and comprehensive test coverage.

Major Changes

Codebase Refactor and Rebranding:

  • The SDK has been renamed from virtualqueue_sdk to vqueue, and the package structure has been updated accordingly. (pyproject.toml [1] src/vqueue/__init__.py [2]
  • Deprecated modules (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:

  • Introduced a TokenVerifier class to handle token verification with improved error handling and session management. (src/vqueue/queues.py src/vqueue/queues.pyR1-R81)
  • Added custom exception classes (VQueueError, VQueueApiError, VQueueNetworkError) for better error reporting. (src/vqueue/exceptions.py src/vqueue/exceptions.pyR1-R30)
  • Added utility functions like validate_uuidv4 to validate UUIDv4 tokens. (src/vqueue/utils.py src/vqueue/utils.pyR1-R22)

Development Tooling:

  • Added .editorconfig and .pre-commit-config.yaml for enforcing consistent coding styles and pre-commit hooks, including ruff for linting and formatting. (.editorconfig [1] .pre-commit-config.yaml [2]
  • Updated pyproject.toml to include development dependencies, ruff configuration, and PEP 8 compliance settings. (pyproject.toml pyproject.tomlL1-L29)

Testing:

  • Introduced a comprehensive test suite for the TokenVerifier class, covering edge cases like invalid tokens, network errors, and malformed API responses. (tests/test_queues.py tests/test_queues.pyR1-R134)

Documentation:

  • Updated README.md with development guidelines, including instructions for setting up uv, pre-commit hooks, and editor configuration. (README.md README.mdL1-R29)

These changes collectively modernize the SDK, improve developer experience, and enhance the robustness of the library.

@studentenherz studentenherz merged commit 9a6a59d into main Jul 16, 2025
4 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.

2 participants