-
Notifications
You must be signed in to change notification settings - Fork 3
📦 NEW: Python Release System #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 PR implements an automated release system for the Langbase Python SDK, enabling developers to create new releases with version bumping, changelog generation, and PyPI publishing support through a single command interface.
- Introduces automated version management across multiple files (pyproject.toml, init.py)
- Adds semantic-release integration with custom emoji-based commit conventions
- Creates a simplified release workflow with git integration and PyPI preparation
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| requirements-dev.txt | Adds python-semantic-release dependency for automated releases |
| release.py | Main release script providing user-friendly interface for the release process |
| pyproject.toml | Configures semantic-release settings and updates license from MIT to Apache-2.0 |
| langbase/init.py | Adds author and description metadata for package information |
| CONTRIBUTING.md | Documents the new release process for contributors |
| CHANGELOG.md | Initializes changelog following Keep a Changelog format |
| .releaserc.json | Configures semantic-release with custom emoji-based commit conventions |
Comments suppressed due to low confidence (1)
pyproject.toml:8
- The release rule mapping '📦 NEW' to 'major' releases seems inconsistent with semantic versioning conventions. New features typically warrant minor version bumps, not major ones. Major bumps should be reserved for breaking changes.
{ name = "Saqib", email = "[email protected]" },
| os.environ["PYTHONUTF8"] = "1" | ||
| os.environ["PYTHONIOENCODING"] = "utf-8" |
Copilot
AI
Jul 29, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Setting environment variables globally in a script can have unintended side effects. Consider wrapping the script execution in a function that sets these temporarily or documenting why global setting is necessary.
| os.environ["PYTHONUTF8"] = "1" | |
| os.environ["PYTHONIOENCODING"] = "utf-8" | |
| def set_environment_variables(): | |
| os.environ["PYTHONUTF8"] = "1" | |
| os.environ["PYTHONIOENCODING"] = "utf-8" |
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
fc4d665 to
d16544b
Compare
TLDR
Implements automated release system for the Langbase Python SDK with version bumping, changelog generation, and PyPI publishing support
Dive Deeper
Impact: Developers can now release new SDK versions with a single command, reducing manual errors and improving release consistency
Key Changes:
🚀 New
release.pyscript for automated version management📝 Automated changelog generation and version bumping
🔧 Integration with PyPI publishing workflow
📚 Updated CONTRIBUTING.md with release instructions
🎯 Problem Statement
The SDK lacked a standardized release process, making it difficult to:
💡 Solution Overview