Skip to content

Replace polars with curated data-analysis packages in embeddable Python workflow - #3

Merged
toyfer merged 2 commits into
mainfrom
copilot/update-data-analysis-packages
Jan 16, 2026
Merged

Replace polars with curated data-analysis packages in embeddable Python workflow#3
toyfer merged 2 commits into
mainfrom
copilot/update-data-analysis-packages

Conversation

CopilotAI commented Jan 16, 2026

Copy link
Copy Markdown
Contributor

Swap out polars (requires Rust toolchain) for a set of pure-Python-compatible data-analysis packages suitable for embeddable distributions.

Changes

  • Dependency installation: Replace single polars install with 9 packages: pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, jupyterlab
  • Release metadata: Update package list in release body to reflect actual installed packages
- name: Python Embeddable Setup Dependenciesrun: | .\Python\Python.exe -m pip install \ pandas \ numpy \ matplotlib \ seaborn \ scikit-learn \ openpyxl \ xlrd \ ipykernel \ jupyterlab

All packages selected to avoid native compilation dependencies (no Rust/C++ toolchains needed).

Original prompt

Modify the workflow file .github/workflows/init-python.yml to install a curated set of data-analysis packages that do not require extra native toolchains (Rust/C/C++). The current workflow downloads and prepares the Python 3.13.7 embeddable distribution, bootstraps pip, installs dependencies, compresses the folder and uploads it as a GitHub Release latest asset. Change only the dependency installation step to install the following packages (no polars, no pyarrow):

  • pandas
  • numpy
  • matplotlib
  • seaborn
  • scikit-learn
  • openpyxl
  • xlrd
  • ipykernel
  • jupyterlab

Requirements for the change:

  • Keep the rest of the workflow identical (checkout, download, expand, enable site, get-pip, pip upgrade, compress, release upload).
  • Use the Windows PowerShell pip install command already present: .\Python\Python.exe -m pip install \ with the list of packages.
  • Update the release body to list the added packages (as in the sample provided in the conversation).
  • Do not add or remove other steps, permissions, or actions versions.

Provide the modified file contents for .github/workflows/init-python.yml exactly as it should be committed.

Modified file contents:

name: init-pythonon:
push:
jobs:
build:
runs-on: windows-latest# Release作成に必要permissions:
contents: writesteps:
- name: Check out codeuses: actions/checkout@v5
- name: Python Embeddable Downloadrun: Invoke-WebRequest -Uri https://www.python.org/ftp/python/3.13.7/python-3.13.7-embed-amd64.zip -OutFile Python.zip
- name: Python Embeddable Setuprun: | Expand-Archive .\Python.zip -DestinationPath .\Python\ (Get-Content .\Python\Python313._pth) -replace '#import site', 'import site' | Set-Content .\Python\Python313._pth Invoke-WebRequest -Uri https://bootstrap.pypa.io/get-pip.py -OutFile .\Python\get-pip.py .\Python\Python.exe .\Python\get-pip.py .\Python\Python.exe -m pip install -U pip - name: Python Embeddable Setup Dependenciesrun: | .\Python\Python.exe -m pip install \ pandas \ numpy \ matplotlib \ seaborn \ scikit-learn \ openpyxl \ xlrd \ ipykernel \ jupyterlab - name: Compress Pythonrun: Compress-Archive -Path .\Python\* -DestinationPath .\Python_Embeddable.zip
- name: Update Release (always update latest release)uses: softprops/action-gh-release@v2with:
tag_name: latestname: Python Embeddablebody: | ## Python Embeddable - **Python Version**: 3.13.7 - **Package Manager**: pip - **Added Package**: pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, jupyterlab - **Build Date**: ${{ github.event.head_commit.timestamp }} - **Commit**: ${{ github.sha }} *This release is automatically updated on every push*files: | ./Python_Embeddable.zipmake_latest: trueenv:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@coderabbitai

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

Co-authored-by: toyfer <15968477+toyfer@users.noreply.github.com>
CopilotAI changed the title [WIP] Modify workflow to install specified data-analysis packagesReplace polars with curated data-analysis packages in embeddable Python workflowJan 16, 2026
CopilotAI requested a review from toyferJanuary 16, 2026 01:08
@toyfer
toyfer marked this pull request as ready for review January 16, 2026 01:09
CopilotAI review requested due to automatic review settings January 16, 2026 01:09
@toyfer
toyfer merged commit a63c829 into mainJan 16, 2026
0 of 2 checks passed

CopilotAI left a comment

Copy link
Copy Markdown

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 replaces the single polars package dependency with a curated set of nine pure-Python data analysis packages that don't require Rust toolchain compilation, making the embeddable Python distribution more compatible with environments lacking native build tools.

Changes:

  • Updated dependency installation to include pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, and jupyterlab
  • Updated release body metadata to reflect the new package list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +32 to +41
.\Python\Python.exe -m pip install \
pandas \
numpy \
matplotlib \
seaborn \
scikit-learn \
openpyxl \
xlrd \
ipykernel \
jupyterlab

CopilotAIJan 16, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Installing multiple packages in separate lines can be slower than installing them all in a single command. While PowerShell line continuation with backslash works, this approach may result in multiple pip resolution passes. However, since this appears to be the intended formatting per the PR description, this is informational rather than a required change.

Suggested change
.\Python\Python.exe -m pip install \
pandas \
numpy \
matplotlib \
seaborn \
scikit-learn \
openpyxl \
xlrd \
ipykernel \
jupyterlab
.\Python\Python.exe -m pip install pandas numpy matplotlib seaborn scikit-learn openpyxl xlrd ipykernel jupyterlab

Copilot uses AI. Check for mistakes.
- **Python Version**: 3.13.7
- **Package Manager**: pip
- **Added Package**: -
- **Added Package**: pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, jupyterlab

CopilotAIJan 16, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The label 'Added Package' is singular but lists multiple packages. Consider changing to 'Added Packages' for grammatical correctness.

Suggested change
- **Added Package**: pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, jupyterlab
- **Added Packages**: pandas, numpy, matplotlib, seaborn, scikit-learn, openpyxl, xlrd, ipykernel, jupyterlab

Copilot uses AI. Check for mistakes.
seaborn \
scikit-learn \
openpyxl \
xlrd \

CopilotAIJan 16, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package xlrd is primarily used for reading old Excel files (.xls format). Since openpyxl handles modern Excel formats (.xlsx), consider documenting why xlrd is needed, or evaluate if it's necessary given that xlrd development has been discontinued and only supports .xls files up to Excel 2003 format.

Copilot uses AI. Check for mistakes.
@toyfer
toyfer deleted the copilot/update-data-analysis-packages branch January 16, 2026 01:11
Sign up for freeto 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.

3 participants

@toyfer