Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
d727938
refactor!: initial v2 refactor
gadomski Jan 7, 2026
1a08165
Merge branch 'main' into v2
gadomski Jan 7, 2026
ac1a8f9
ci: switch to prek
gadomski Jan 7, 2026
e4cf09b
fix: always return `None` for Link.owner
gadomski Jan 7, 2026
142086f
chore: fix more tests
gadomski Jan 8, 2026
37dfd04
feat: STACObject repr
gadomski Jan 8, 2026
d02e0ba
docs: add some basic docs
gadomski Jan 8, 2026
63943b6
Merge branch 'main' into v2
gadomski Jan 8, 2026
4108f5e
fix: reset validator on each test
gadomski Jan 8, 2026
98ab027
fix: some catalog tests
gadomski Jan 8, 2026
643d08c
docs: bring back the old ones
gadomski Jan 8, 2026
0d5f14f
chore: pre-release config
gadomski Jan 8, 2026
2d18b73
docs: tweak the warning message
gadomski Jan 8, 2026
6dcefb8
refactor: split things out to files
gadomski Jan 8, 2026
48bcf38
fix: remove src/pystac/v1
gadomski Jan 8, 2026
f768b6e
refactor: rendering
gadomski Jan 8, 2026
9447c8c
feat: add normalize_and_save
gadomski Jan 8, 2026
275ab82
feat: couple more test fixes
gadomski Jan 8, 2026
99b8795
fix: remove item
gadomski Jan 8, 2026
8ab2f97
feat: dest_href
gadomski Jan 9, 2026
00de579
feat: more save work
gadomski Jan 9, 2026
5d5ae5b
refactor: move stacio writer to stacio
gadomski Jan 9, 2026
43fa637
feat: stacio writer
gadomski Jan 9, 2026
564853d
feat: some more stuff
gadomski Jan 9, 2026
b91ff50
Merge branch 'main' into v2
gadomski Jan 9, 2026
945e384
feat: skip unresolved
gadomski Jan 9, 2026
5d2cb08
feat: skip_unresolved for normalize_and_save
gadomski Jan 9, 2026
b2db68f
feat: add some docs about key changes
gadomski Jan 9, 2026
273451b
Merge branch 'main' into v2
gadomski Jan 9, 2026
47cb769
feat: add julia to authors
gadomski Jan 9, 2026
04f60c1
fix: add docs workflow
gadomski Jan 9, 2026
a930d9d
fix: deploy pages sha
gadomski Jan 9, 2026
da95f65
fix: remove note about layouts
gadomski Jan 9, 2026
1118e08
feat: override _stac_io
gadomski Jan 9, 2026
a7ece27
docs: add notes about stac-geoparquet, async, and pystac-client
gadomski Jan 9, 2026
f7fdefc
feat: map_items
gadomski Jan 9, 2026
f40a8df
docs: add small note
gadomski Jan 9, 2026
4022849
fix: item tests
gadomski Jan 9, 2026
04eac44
fix: template checks
gadomski Jan 9, 2026
97a12e7
feat: asset map_assets
gadomski Jan 9, 2026
bd0b611
tests: skip v1 tests by default
gadomski Jan 14, 2026
d66043b
ci: disable lint checks for now
gadomski Jan 14, 2026
0fa2cdf
Merge branch 'main' into v2
gadomski Jan 14, 2026
be68715
feat: add typing extensions
gadomski Jan 14, 2026
7c85406
Merge branch 'main' into v2
jsignell Feb 12, 2026
925dbbb
Update v2 test cassettes
jsignell Feb 12, 2026
36e3a0b
Run some v1 tests on CI
jsignell Feb 12, 2026
8d615c2
Skip `item.ext` test in tests/v1/test_item.py
jsignell Feb 12, 2026
a49bb62
Switch to using an xfail rather than skip
jsignell Feb 12, 2026
1a48558
Exclude certain CI tests without deleting them
jsignell Feb 12, 2026
8b9fe7f
Longer error message
jsignell Feb 12, 2026
802fb8a
Make windows read and write (#1649)
jsignell Feb 12, 2026
7abc27a
Now with v2 tests
jsignell Feb 12, 2026
d272615
Update last cassette
jsignell Feb 12, 2026
078e25e
Maybe the examples need to be sorted?
jsignell Feb 12, 2026
5aa4f27
feat: V2 Bands (#1635)
jsignell Mar 6, 2026
a546576
feat: V2 common metadata (#1636)
jsignell Mar 11, 2026
7590b71
tests(v2): enable posix paths tests (#1658)
ircwaves Mar 16, 2026
118c6ab
feat: V2 asset and item_assets (#1646)
jsignell Mar 18, 2026
00c2656
Fix asset `__eq__` (#1660)
jsignell Apr 7, 2026
e1538ee
refactor: self href and self link handling (#1659)
ircwaves Apr 7, 2026
098bb9e
feat: V2 collection tests (#1668)
jsignell Apr 20, 2026
614bae0
feat: V2 links updates (#1693)
ircwaves Apr 27, 2026
1a37397
fix: V2 item collection (#1709)
jsignell Apr 28, 2026
75c771e
fix: V2 summaries (#1710)
jsignell May 5, 2026
8add2ae
Add .ext to stac objects (#1717)
jsignell May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 10 additions & 20 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,23 @@ on:
push:
branches:
- main
- "0.3"
- "0.4"
- "0.5"
- "1.0"
- "2.0"
pull_request:
merge_group:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

permissions: {}

jobs:
test:
name: test
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
os:
- ubuntu-latest
- windows-latest
Expand All @@ -38,22 +30,21 @@ jobs:
- uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Sync
run: uv sync --all-extras
- name: Lint
if: runner.os != 'Windows'
run: uv run pre-commit run --all-files
# - name: Lint
# if: runner.os != 'Windows'
# run: uv run prek run --all-files
- name: Test on windows
if: runner.os == 'Windows'
shell: bash
env:
TMPDIR: 'D:\\a\\_temp'
run: uv run pytest tests
run: uv run pytest tests --block-network --record-mode=none
- name: Test
if: runner.os != 'Windows'
run: uv run pytest tests --block-network --record-mode=none

coverage:
if: false # exclude on pystac v2 for now
name: coverage
runs-on: ubuntu-latest
permissions:
Expand All @@ -64,11 +55,7 @@ jobs:
- name: Install with dependencies
run: uv sync --all-extras
- name: Run coverage with orjson
run: uv run pytest tests --cov
- name: Uninstall orjson
run: uv pip uninstall orjson
- name: Run coverage without orjson, appending results
run: uv run pytest tests --cov --cov-append
run: uv run --all-extras pytest tests --cov
- name: Prepare ./coverage.xml
# Ignore the configured fail-under to ensure we upload the coverage report. We
# will trigger a failure for coverage drops in a later job
Expand All @@ -86,6 +73,7 @@ jobs:
run: uv run coverage report

without-orjson:
if: false # exclude on pystac v2 for now
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -101,6 +89,7 @@ jobs:
# This checks to make sure any API changes haven't broken any of the
# benchmarks. It doesn't do any actual benchmarking, since (IMO) that's not
# appropriate for CI on GitHub actions.
if: false # exclude on pystac v2 for now
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -119,6 +108,7 @@ jobs:

docs:
runs-on: ubuntu-latest
if: false # exclude on pystac v2 for now
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Docs

on:
push:
branches:
- main
- v2 # FIXME: remove before mergin

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867
- uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b
- name: Build docs
run: uv run mkdocs build --strict
- name: Upload artifact
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa
with:
path: ./site

deploy:
name: Deploy to GitHub Pages
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e
4 changes: 1 addition & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,13 @@ on:
- edited
- reopened

permissions: {}

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
outputs:
prs: ${{ steps.release-please.outputs.prs }}
steps:
- uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
- uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf
id: generate-token
with:
app-id: ${{ vars.RELEASE_BOT_CLIENT_ID }}
private-key: ${{ secrets.RELEASE_BOT_PRIVATE_KEY }}
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38
id: release-please
with:
token: ${{ steps.generate-token.outputs.token }}
Expand All @@ -32,7 +32,7 @@ jobs:
needs: release-please
if: ${{ needs.release-please.outputs.prs }}
steps:
- uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
- uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf
id: generate-token
with:
app-id: ${{ vars.RELEASE_BOT_CLIENT_ID }}
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ on:
types:
- published

permissions: {}

jobs:
release:
name: release
Expand All @@ -27,7 +25,7 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install build
- name: Build
- name: Build
run: python -m build
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e
61 changes: 15 additions & 46 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,50 +1,19 @@
# Configuration file for pre-commit (https://pre-commit.com/).
# Please run `pre-commit run --all-files` when adding or changing entries.

repos:
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.1
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: pyupgrade
args:
- "--py310-plus"

- repo: local
- id: codespell
types_or:
- jupyter
- markdown
- python
- shell
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.9
hooks:
- id: ruff
name: ruff
entry: ruff check --force-exclude --fix --exit-non-zero-on-fix
language: system
types_or: [python, pyi, jupyter]
require_serial: true

- id: ruff-check
- id: ruff-format
name: ruff-format
entry: ruff format --force-exclude
language: system
stages: [pre-commit]
types_or: [python, pyi, jupyter]
require_serial: true

- id: codespell
name: codespell
entry: codespell
language: system
stages: [pre-commit]
types_or: [jupyter, markdown, python, shell]

- id: doc8
name: doc8
entry: doc8
language: system
files: \.rst$
require_serial: true

- id: mypy
name: mypy
entry: mypy
args: [--no-incremental]
language: system
stages: [pre-commit]
types: [python]
require_serial: true
- repo: https://github.com/DetachHead/basedpyright-prek-mirror
rev: 1.36.1
hooks:
- id: basedpyright
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.10
3.12
9 changes: 4 additions & 5 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,19 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.10"
python: "3.12"
commands:
# https://docs.readthedocs.io/en/stable/build-customization.html#install-dependencies-with-uv
# with adaptations to use workspaces+projects instead of `uv pip`
- asdf plugin add uv
- asdf install uv latest
- asdf global uv latest
- uv sync --group docs
- uv run sphinx-build -T -b html -d docs/_build/doctrees -D language=en docs $READTHEDOCS_OUTPUT/html
- uv run mkdocs build --site-dir $READTHEDOCS_OUTPUT/html

formats:
# Temporarily disabling PDF downloads due to problem with nbsphinx in LateX builds
# - pdf
- htmlzip

sphinx:
mkdocs:
configuration: mkdocs.yml
fail_on_warning: false
22 changes: 0 additions & 22 deletions docs/Makefile

This file was deleted.

Binary file removed docs/_static/STAC-03.png
Binary file not shown.
Loading
Loading