Skip to content
Open
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
4 changes: 2 additions & 2 deletions .github/actions/upload-bundle-artifacts/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ runs:
aws s3 cp "dist/python${PYTHON_VERSION}.tar" "${BASE_PATH}/" --acl public-read --no-progress
aws s3 cp "dist/constraints${PYTHON_VERSION}.txt" "${BASE_PATH}/" --acl public-read --no-progress

# Upload shared files only from Python 3.9
if [ "${PYTHON_VERSION}" = "3.9" ]; then
# Upload shared files only from Python 3.10
if [ "${PYTHON_VERSION}" = "3.10" ]; then
[ -f dist/installer.zip ] && aws s3 cp dist/installer.zip "${BASE_PATH}/" --acl public-read --no-progress
aws s3 sync dist/ "${BASE_PATH}/" --exclude "*" --include "*.whl" --acl public-read
fi
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python_version: ["3.10", "3.11", "3.12", "3.13"]
permissions:
id-token: write
contents: read
Expand Down Expand Up @@ -415,7 +415,7 @@ jobs:
needs: build-and-push-artifacts-status
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
env:
PYTHON_VERSIONS: "3.9,3.10,3.11,3.12,3.13"
PYTHON_VERSIONS: "3.10,3.11,3.12,3.13"
steps:
- name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]

steps:
- name: Checkout code
Expand Down Expand Up @@ -277,7 +277,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: Checkout code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
Expand Down Expand Up @@ -396,13 +396,13 @@ jobs:
run: |
shopt -s nullglob
mkdir -p coverage-data

i=0
for file in coverage-artifacts/*/.coverage; do
cp "$file" "coverage-data/.coverage.$i"
i=$((i + 1))
done

coverage combine coverage-data/
coverage xml -o coverage-data/coverage.xml
coverage report
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
- Setup pre-commit hooks: `poetry poe setup-hooks`
- Run unit tests (all): `nox -e unit`
- Run integration tests: `nox -e integration`
- Run specific test: `nox --force-color -e unit -p 3.9 -- tests/unit/test_file.py::TestClass::test_name`
- Run specific test: `nox --force-color -e unit -p 3.10 -- tests/unit/test_file.py::TestClass::test_name`
- Run local tests: `./bin/test-local`

## Code Coverage Commands
Expand Down Expand Up @@ -52,7 +52,7 @@

## Python Version Support

- Python 3.9, 3.10, 3.11, 3.12, 3.13
- Python 3.10, 3.11, 3.12, 3.13

## Dependencies

Expand All @@ -66,7 +66,7 @@
- Early returns to reduce nesting: Check conditions and return early
- Extract common checks into variables for readability
- Use dictionary unpacking for headers: `headers = {"Content-Type": "application/json", **auth_headers}`
- CLI arguments: Use space-separated format (`--port 8080`)
- CLI arguments: Use space-separated format (`--port 8080`)

## Testing

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ Each PR creates a review application for testing. Access it via GitHub checks. M

We use Docker to ensure reproducible environments due to Jupyter libraries' binary dependencies:

- `builder.Dockerfile`: Creates Python package bundles for different versions (3.9-3.12), generates kernel and server bundles, and packages the toolkit for distribution using Poetry.
- `builder.Dockerfile`: Creates Python package bundles for different versions (3.10-3.13), generates kernel and server bundles, and packages the toolkit for distribution using Poetry.

- `test.Dockerfile`: Provides consistent test environment for running unit and integration tests across Python versions using nox. Used both locally and in CI/CD pipeline.

Expand Down
4 changes: 2 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from nox import session


@session(python=["3.9", "3.10", "3.11", "3.12", "3.13"], reuse_venv=True)
@session(python=["3.10", "3.11", "3.12", "3.13"], reuse_venv=True)
def unit(session):
"""Run unit tests. Coverage is disabled by default, use --coverage to enable."""

Expand Down Expand Up @@ -67,7 +67,7 @@ def unit(session):
)


@session(python=["3.9", "3.10", "3.11", "3.12", "3.13"], reuse_venv=True)
@session(python=["3.10", "3.11", "3.12", "3.13"], reuse_venv=True)
def integration(session):
"""Run integration tests. Coverage is disabled by default, use --coverage to enable."""
# Validate required environment variables
Expand Down
Loading