pypi release prep! #75
No reviewers
Labels
No labels
defect
feature
security
user-experience
wont-fix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: engineering/make_post_sell#75
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "pypi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
modified: .gitlab-ci.yml
modified: Makefile
modified: README.rst
modified: setup.py
Summary by CodeRabbit
New Features
Documentation
Chores
Walkthrough
This pull request updates multiple core components. In the CI/CD pipeline, a new
pypi-twinestage is introduced to build and upload Python distributions to PyPI, with adjustments to job trigger conditions across stages. The Makefile has been restructured to replace removed targets with modular, new ones handling virtual environments, configurations, and various installation modes. The README documentation has been revised for clearer, step-by-step installation guidance, andsetup.pynow includes a function to parse requirement files and enhanced dependency definitions.Changes
.gitlab-ci.ymlpypi-twinestage/job for packaging & uploading to PyPI; modifiedtest,build, anddeploystages (updated command frommake prodtomake install-from-source-prod, adjusted branch/tag rules, rephrased comments).Makefileenv,dev,prod,init_db; added targets such asall,venv,config,install-core,install-dev,install,install-source-dev-and-test,install-source-prod,init-db,serve,install-from-pypi,install-from-source,activate,test, andhttp; updatedcleantarget.README.rstsetup.pyparse_requirementsto read requirements files; updatedinstall_requires,extras_require(adding keys “dev”, “prod”, “test”), and long description handling; expanded Python classifiers and included all packages.Sequence Diagram(s)
Possibly related PRs
.gitlab-ci.yml, directly relating to the modifications in deployment job triggers.Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
❤️ Share
🪧 Tips
Chat
There are 3 ways to chat with CodeRabbit:
I pushed a fix in commit <commit_id>, please review it.Generate unit testing code for this file.@coderabbitaiin a new review comment at the desired location with your query. Examples:@coderabbitai generate unit testing code for this file.@coderabbitai modularize this function.@coderabbitaiin a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.@coderabbitai read src/utils.ts and generate unit testing code.@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.@coderabbitai help me debug CodeRabbit configuration file.Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
CodeRabbit Commands (Invoked using PR comments)
@coderabbitai pauseto pause the reviews on a PR.@coderabbitai resumeto resume the paused reviews.@coderabbitai reviewto trigger an incremental review. This is useful when automatic reviews are disabled for the repository.@coderabbitai full reviewto do a full review from scratch and review all the files again.@coderabbitai summaryto regenerate the summary of the PR.@coderabbitai generate docstringsto generate docstrings for this PR.@coderabbitai resolveresolve all the CodeRabbit review comments.@coderabbitai configurationto show the current CodeRabbit configuration for the repository.@coderabbitai helpto get help.Other keywords and placeholders
@coderabbitai ignoreanywhere in the PR description to prevent this PR from being reviewed.@coderabbitai summaryto generate the high-level summary at a specific location in the PR description.@coderabbitaianywhere in the PR title to generate the title automatically.CodeRabbit Configuration File (
.coderabbit.yaml).coderabbit.yamlfile to the root of your repository.# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.jsonDocumentation and Community
changed the description
Actionable comments posted: 2
🧹 Nitpick comments (2)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📥 Commits
Reviewing files that changed from the base of the PR and between
29e8d9a503and79aa2ddd6c.📒 Files selected for processing (4)
.gitlab-ci.yml(3 hunks)Makefile(1 hunks)README.rst(1 hunks)setup.py(1 hunks)🔇 Additional comments (12)
💡 Verification agent
⚠️ Potential issue
🧩 Analysis chain
Authentication missing for PyPI uploads.
The
twine uploadcommand requires authentication to PyPI, but no credentials are specified here.🏁 Script executed:
Length of output: 598
PyPI Upload Authentication: Missing Credentials
The current
pypi-twinejob in your.gitlab-ci.ymldoes not include any configuration for authenticating with PyPI. Our verification script confirmed that none of the expected environment variables (TWINE_USERNAME,TWINE_PASSWORD, orCI_JOB_TOKEN) are set. Without these credentials, thetwine uploadcommand will fail when attempting to upload the distribution files.TWINE_USERNAMEandTWINE_PASSWORDas CI/CD variables (or using an alternative method likeCI_JOB_TOKEN, if supported and appropriately configured). Also, consult the GitLab CI/CD PyPI documentation for best practices.💡 Verification agent
🧩 Analysis chain
Verify compatibility with future Python versions.
Python versions 3.10-3.14 are listed, but 3.13 and 3.14 don't exist yet. While this is forward-looking, it could be misleading.
🌐 Web query:
💡 Result:
The latest stable Python version as of March 2025 is Python 3.13.2, released on February 4, 2025[1][4][5][7][9]. This version remains under active bugfix support until October 2026 and will receive security updates until October 2029[1][6].
Key details about Python 3.13.2:
For most users and production systems, Python 3.13.2 represents the current recommended stable version, while Python 3.14 exists only as pre-release alpha builds at this time[7]. Developers should note that Python 3.8 reached end-of-life in October 2024[1][4], with enterprise platforms like Palantir Foundry also phasing out its support by February 2025[10].
Citations:
Clarify Python version classifiers in setup.py
@coderabbitai update your memory, our build server tagged
buildhas credentials to perform the uploads into pypi in it's homedir. close this thread.@russellballestrini Thank you for the clarification. I've noted that your build server tagged with
buildalready has the necessary PyPI credentials stored in its home directory. This thread is now closed.✏️ Learnings added
resolved all threads
added 1 commit
2c46bc1e- modified: README.rstCompare with previous version
approved this merge request
changed the description
Actionable comments posted: 0
🧹 Nitpick comments (3)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📥 Commits
Reviewing files that changed from the base of the PR and between
79aa2ddd6cand2c46bc1e11.📒 Files selected for processing (1)
README.rst(1 hunks)🔇 Additional comments (11)
mentioned in commit
ca34177f28