-
Notifications
You must be signed in to change notification settings - Fork 548
docs: document supported Python version to improve Windows onboarding #1062
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
base: main
Are you sure you want to change the base?
docs: document supported Python version to improve Windows onboarding #1062
Conversation
📝 WalkthroughWalkthroughThe changes document supported Python versions by adding a new section to the README specifying Python 3.11 as supported and updating CONTRIBUTING.md to reference the documented versions, improving contributor onboarding clarity. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@README.md`:
- Around line 33-40: Update the "Supported Python Versions (Backend)" section to
include Python 3.12 alongside 3.11 so the README matches CI; specifically add "-
**Python 3.12**" under the Supported Python Versions (Backend) header (the same
block that currently lists "**Python 3.11**") and ensure the surrounding note
about older/newer versions remains accurate given CI uses Python 3.12 in
build-and-release.yml.
| ## Supported Python Versions (Backend) | ||
|
|
||
| The PictoPy backend is tested and known to work with: | ||
|
|
||
| - **Python 3.11** | ||
|
|
||
| Using older or newer Python versions (for example, Python 3.9 or Python 3.13+) may lead to dependency installation or build issues, especially on Windows. | ||
|
|
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.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Search for Python version specifications in CI configuration
find .github -type f \( -name "*.yml" -o -name "*.yaml" \) | head -20Repository: AOSSIE-Org/PictoPy
Length of output: 472
🏁 Script executed:
#!/bin/bash
# Check for Python version specifications in CI workflows
rg -n 'python-version|python_version|3\.11|3\.12|3\.9|3\.13' .github --type yaml -C 2Repository: AOSSIE-Org/PictoPy
Length of output: 2794
🏁 Script executed:
#!/bin/bash
# Look for pyproject.toml or setup.py to check supported Python versions
fd -e 'pyproject.toml' -o -e 'setup.py' -o -e 'setup.cfg' . | head -20Repository: AOSSIE-Org/PictoPy
Length of output: 178
🏁 Script executed:
#!/bin/bash
# Search for pyproject.toml
find . -maxdepth 3 -name "pyproject.toml" -o -name "setup.py" -o -name "setup.cfg" | grep -v '.git' | grep -v 'node_modules'Repository: AOSSIE-Org/PictoPy
Length of output: 121
🏁 Script executed:
#!/bin/bash
# Check for Python version constraints in pyproject.toml
if [ -f "pyproject.toml" ]; then
echo "=== pyproject.toml ==="
cat pyproject.toml | grep -A 5 -B 5 "python"
fi
if [ -f "setup.py" ]; then
echo "=== setup.py ==="
cat setup.py | grep -A 5 -B 5 "python"
fiRepository: AOSSIE-Org/PictoPy
Length of output: 148
🏁 Script executed:
#!/bin/bash
# Read backend pyproject.toml and search for Python version
echo "=== backend/pyproject.toml ==="
head -50 backend/pyproject.toml | grep -A 3 -B 3 -i "python"Repository: AOSSIE-Org/PictoPy
Length of output: 148
🏁 Script executed:
#!/bin/bash
# Read sync-microservice pyproject.toml and search for Python version
echo "=== sync-microservice/pyproject.toml ==="
head -50 sync-microservice/pyproject.toml | grep -A 3 -B 3 -i "python"Repository: AOSSIE-Org/PictoPy
Length of output: 148
🏁 Script executed:
#!/bin/bash
# Just check file size and read the first few lines
wc -l backend/pyproject.toml sync-microservice/pyproject.tomlRepository: AOSSIE-Org/PictoPy
Length of output: 132
🏁 Script executed:
#!/bin/bash
# Read only first 20 lines of backend pyproject.toml
head -20 backend/pyproject.tomlRepository: AOSSIE-Org/PictoPy
Length of output: 91
Document Python 3.12 as supported version.
The CI configuration uses Python 3.12 for build-and-release workflows (build-and-release.yml), while only Python 3.11 is currently documented in the README. Add Python 3.12 to the list of supported versions to match the actual project configuration.
🤖 Prompt for AI Agents
In `@README.md` around lines 33 - 40, Update the "Supported Python Versions
(Backend)" section to include Python 3.12 alongside 3.11 so the README matches
CI; specifically add "- **Python 3.12**" under the Supported Python Versions
(Backend) header (the same block that currently lists "**Python 3.11**") and
ensure the surrounding note about older/newer versions remains accurate given CI
uses Python 3.12 in build-and-release.yml.
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.
Thanks for the suggestion.
I intentionally documented Python 3.11 only, since backend and sync-microservice CI explicitly run on 3.11 and Windows dependency compatibility (e.g. scipy) is currently well-verified there.
If maintainers confirm that Python 3.12 is officially supported across platforms, I’m happy to update the documentation accordingly.
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.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check Python versions in backend and sync-microservice CI workflows
echo "=== Backend CI workflows ==="
rg -n "python-version|python_version" .github/workflows/ --type yaml | grep -i "backend"
echo -e "\n=== Sync-microservice CI workflows ==="
rg -n "python-version|python_version" .github/workflows/ --type yaml | grep -i "sync"
echo -e "\n=== All Python version specifications in CI ==="
rg -n "python-version:" .github/workflows/ --type yaml -A 1
echo -e "\n=== Build and release workflow Python versions ==="
cat .github/workflows/build-and-release.yml | grep -A 2 -B 2 "python-version"
Length of output: 1917
@VineetC137, you're absolutely right! The CI configuration confirms your understanding:
- pr-check-tests.yml (backend and sync-microservice validation) uses Python 3.11
- build-and-release.yml (packaging/releases) uses Python 3.12
Your conservative approach is sound—documenting only the Python version that's explicitly tested and validated (3.11) makes sense for contributor onboarding, especially given the Windows dependency compatibility concerns that motivated this PR. The build-and-release workflow using 3.12 is about packaging, not comprehensive testing.
If the project decides to add 3.12 to the test matrix in the future and validates Windows compatibility, updating the documentation at that point would be appropriate.
This PR documents the Python version that is tested and known to work with the PictoPy backend.
Motivation:
Changes:
Fixes #1055
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.