Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,14 @@ updates:
directory: "/"
schedule:
interval: "monthly"

- package-ecosystem: "pip"
directory: "/docs"
# Disable automatic updates for docs dependencies
schedule:
interval: "never"
# Ignore optional dependency groups (docs, release, test)
ignore:
# Release dependencies (optional group)
- dependency-name: "bump-my-version"
- dependency-name: "git-changelog"
- dependency-name: "pandoc"
# Docs dependencies (optional group)
- dependency-name: "sphinx*"
- dependency-name: "sphinx-rtd-theme"
# Test dependencies
- dependency-name: "pytest*"
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ jobs:
strategy:
matrix:
os: [Ubuntu, macOS, Windows]
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
include:
- os: Ubuntu
image: ubuntu-22.04
- os: Windows
image: windows-2022
- os: macOS
image: macos-12
image: macos-14
fail-fast: false
defaults:
run:
Expand Down
17 changes: 11 additions & 6 deletions .github/workflows/publish_conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,15 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: publish-to-conda
uses: fcakyon/conda-publish-action@v1.3
- uses: actions/checkout@v4
- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
subdir: 'conda'
anacondatoken: ${{ secrets.ANACONDA_TOKEN }}
platforms: 'win osx linux'
auto-activate-base: true
activate-environment: ""
- name: Build and publish to conda
shell: bash -l {0}
run: |
conda install -y conda-build anaconda-client
conda build conda --output-folder build
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload build/noarch/*.conda --force

Copilot AI Nov 21, 2025

Copy link

Choose a reason for hiding this comment

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

[nitpick] The --force flag in the anaconda upload command will overwrite existing packages without prompting. While this may be intentional for automated releases, consider whether this could accidentally overwrite a published package. If this is the desired behavior for re-publishing, it's fine; otherwise, consider removing --force to prevent accidental overwrites.

Suggested change
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload build/noarch/*.conda --force
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload build/noarch/*.conda

Copilot uses AI. Check for mistakes.
46 changes: 46 additions & 0 deletions .github/workflows/test_conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Test Conda Build

on:
pull_request:
paths:
- 'conda/**'
- 'pyproject.toml'
workflow_dispatch:

jobs:
test-conda-build:
# Use short, fixed build & package directories to prevent excessively long conda env prefixes
env:
CONDA_BLD_PATH: /tmp/conda-bld
CONDA_PKGS_DIRS: /tmp/conda-pkgs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Miniconda
uses: conda-incubator/setup-miniconda@v3
with:
auto-activate-base: true
activate-environment: ""

- name: Prepare short conda directories
run: |
sudo mkdir -p /tmp/conda-bld /tmp/conda-pkgs
sudo chown $USER:$USER /tmp/conda-bld /tmp/conda-pkgs

- name: Test conda build
shell: bash -l {0}
run: |
# Ensure conda-build uses short paths to avoid long prefix issues
conda install -y conda-build
export CONDA_BLD_PATH=${CONDA_BLD_PATH:-/tmp/conda-bld}
export CONDA_PKGS_DIRS=${CONDA_PKGS_DIRS:-/tmp/conda-pkgs}
mkdir -p "$CONDA_BLD_PATH" "$CONDA_PKGS_DIRS"
conda build conda --no-anaconda-upload --output-folder build

- name: Show build artifacts
shell: bash -l {0}
run: |
ls -lh build/noarch/
echo "Build successful! Package created:"
ls build/noarch/*.conda
56 changes: 56 additions & 0 deletions .pyup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# PyUp configuration
# See https://pyup.io/docs/configuration/

# Update schedule
schedule: "every month"

# Branch to create PRs against
branch: master

# Only update direct dependencies in pyproject.toml main group
# Ignore all optional dependencies and transitive dependencies
update: insecure

Copilot AI Nov 21, 2025

Copy link

Choose a reason for hiding this comment

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

[nitpick] The update: insecure setting will only update packages with known security vulnerabilities. Combined with the extensive ignore list, this means most dependency updates will be missed. Consider using update: all or update: security if you want to receive updates for important bug fixes and improvements, not just security patches.

Suggested change
update: insecure
update: all

Copilot uses AI. Check for mistakes.

# Ignore all optional dependency groups
ignore:
# All docs dependencies (optional group)
- sphinx
- sphinx-rtd-theme

# All release dependencies (optional group)
- git-changelog
- bump-my-version
- pandoc

# All test dependencies
- pytest
- pytest-cov
- pytest-randomly

# Transitive dependencies (let main deps pull these)
- certifi
- charset-normalizer
- idna
- requests
- urllib3
- pillow
- docutils
- babel
- markupsafe
- pygments
- jinja2
- packaging
- pyparsing
- fonttools
- kiwisolver
- contourpy
- snowballstemmer
- pytz
- tzdata

# Only track core dependencies: numpy, pandas, openpyxl, matplotlib
requirements:
- pyproject.toml

# Label for PRs
label_prs: dependencies
4 changes: 2 additions & 2 deletions conda/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
python:
- 3.9
- 3.10
- 3.11
- 3.12
- 3.12
- 3.13
12 changes: 9 additions & 3 deletions conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,22 @@ source:

build:
number: 0
script: {{ PYTHON }} -m pip install . -vv
noarch: python

Copilot AI Nov 21, 2025

Copy link

Choose a reason for hiding this comment

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

The conda build configuration now uses noarch: python to create a platform-independent package. However, some dependencies (numpy, pandas, matplotlib) have native extensions that are platform-specific. Verify that these dependencies correctly provide noarch builds or that the conda build will properly handle platform-specific dependencies at install time.

Suggested change
noarch: python

Copilot uses AI. Check for mistakes.
script: python -m pip install . -vv --no-deps --no-build-isolation

requirements:
host:
- python
- python >=3.10,<3.14
- pip
- poetry-core >=1.0.0
- setuptools
- wheel
run:
- python
- python >=3.10,<3.14
- numpy >=2.1.1
- pandas >=2.2.3
- openpyxl >=3.1.5
- matplotlib >=3.9.0

about:
home: {{ poetry.get('homepage') }}
Expand Down
Loading
Loading