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
2 changes: 1 addition & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6.2.0
with:
python-version: "3.10"
python-version: "3.11"
- name: Install uv
run: make setup
- name: Publish stac-model to PyPI
Expand Down
8 changes: 1 addition & 7 deletions .github/workflows/stac-model.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.11", "3.12", "3.13"]
env:
COVERAGE_FILE: .coverage.${{ matrix.python-version }}

Expand All @@ -27,19 +27,13 @@ jobs:
path: .venv
key: venv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('uv.lock') }}

- name: Install dependencies
run: make install-dev
if: ${{ matrix.python-version == '3.10' }}

- name: Install dependencies with extras
run: make install-dev-extras
if: ${{ matrix.python-version != '3.10' }}

- name: Display Packages
run: pip list

- name: Run checks
if: ${{ matrix.python-version != '3.10' }}
run: make lint-all

- name: Run tests
Expand Down
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Removed

- n/a
- **BREAKING**: `stac-model>=0.6.0` drops Python 3.10 support. Python 3.11+ is now required.

An equivalent release [`stac-model==0.5.3`](https://github.com/stac-extensions/mlm/releases/tag/stac-model-v0.5.3)
with the same changes is provided for users that want to continue using Python 3.10.

- Removed Python 3.10 from CI test matrix.
- Removed Python 3.10 specific dependency constraints for `torch`, `torchgeo`, and `torchvision`.
- Updated minimum Python version from `>=3.10` to `>=3.11`.
- **Note**: This affects only the `stac-model` package versioning. The MLM specification itself (v1.5.x)
remains independently versioned and does not indicate Python version requirements.

### Fixed

Expand Down
15 changes: 15 additions & 0 deletions README_STAC_MODEL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@

</div>

## Python Version Support

> [!NOTE]
> `stac-model` package versions and MLM specification versions are independently managed.
>
> - **MLM Extension Specification**: Versioned as `vX.Y.Z` (e.g., `v1.5.1`)
> - **stac-model Package**: Versioned as `stac-model-vX.Y.Z` (e.g., `stac-model-v0.5.2`)

**Python Version Compatibility:**

| `stac-model` Version | Python Version |
|----------------------| -------------- |
| `>=0.6.0` | 3.11+ |
| `<0.6.0` | 3.10+ |

## Installation

```shell
Expand Down
21 changes: 9 additions & 12 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ authors = [
{ name = "Francis Charette-Migneault", email = "francis.charette-migneault@crim.ca" },
]
license = { text = "Apache Software License 2.0" }
requires-python = "<4.0,>=3.10"
requires-python = "<4.0,>=3.11"
dependencies = [
"typer<1.0.0,>=0.9.0",
"rich>=13.7.0,<16.0.0",
Expand All @@ -23,17 +23,15 @@ dependencies = [
"pip>=25.0.0",
]
optional-dependencies.torch = [
"torch>=2.8.0; python_version>='3.11'",
"torchgeo<0.8.0; python_version=='3.10'",
"torchgeo>=0.8.1; python_version>='3.11'",
"torchvision>=0.21,<1; python_version>='3.11'"
"torch>=2.8.0",
"torchgeo>=0.8.1",
"torchvision>=0.21,<1"
]
optional-dependencies.torch-cu126 = [
"pytorch-triton; python_version>='3.11'",
"torch>=2.8.0; python_version>='3.11'",
"torchgeo<0.8.0; python_version=='3.10'",
"torchgeo>=0.8.1; python_version>='3.11'",
"torchvision>=0.21,<1; python_version>='3.11'",
"pytorch-triton",
"torch>=2.8.0",
"torchgeo>=0.8.1",
"torchvision>=0.21,<1",
]

# important: leave the name and version together for bump resolution
Expand All @@ -53,7 +51,6 @@ classifiers = [
"Topic :: Software Development :: Libraries :: Python Modules",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down Expand Up @@ -271,7 +268,7 @@ extra-standard-library = ["typing_extensions"]
[tool.mypy]
# https://github.com/python/mypy
# https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file
python_version = "3.10"
python_version = "3.11"
pretty = true
show_traceback = true
color_output = true
Expand Down
Loading