[Git][debian-gis-team/stac-check][master] 4 commits: Add dependency on stac-pydantic
Antonio Valentino (@antonio.valentino)
gitlab at salsa.debian.org
Sun Feb 22 17:56:14 GMT 2026
Antonio Valentino pushed to branch master at Debian GIS Project / stac-check
Commits:
4d416088 by Antonio Valentino at 2026-02-21T23:32:55+00:00
Add dependency on stac-pydantic
- - - - -
0dd07ad8 by Antonio Valentino at 2026-02-22T17:52:11+00:00
New 0002-No-network.patch
- - - - -
a974168f by Antonio Valentino at 2026-02-22T17:53:12+00:00
Update dates in d/copyright
- - - - -
db8e790f by Antonio Valentino at 2026-02-22T17:53:39+00:00
Set distribution to unstable
- - - - -
6 changed files:
- debian/changelog
- debian/control
- debian/copyright
- + debian/patches/0002-No-network.patch
- debian/patches/series
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -1,10 +1,17 @@
-stac-check (1.11.1-4) UNRELEASED; urgency=medium
+stac-check (1.11.1-4) unstable; urgency=medium
- * Team upload.
+ [ Bas Couwenberg ]
* Drop Priority: optional, default since dpkg 1.22.13.
* Bump Standards-Version to 4.7.3, changes: priority.
- -- Bas Couwenberg <sebastic at debian.org> Sat, 03 Jan 2026 14:21:08 +0100
+ [ Antonio Valentino ]
+ * devian/control:
+ - Add dependency on python3-stac-pydantic.
+ * devian/patches:
+ - New 0002-No-network.patch.
+ * Update dates in d/copyright.
+
+ -- Antonio Valentino <antonio.valentino at tiscali.it> Sun, 22 Feb 2026 17:53:18 +0000
stac-check (1.11.1-3) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -20,6 +20,7 @@ Build-Depends: debhelper-compat (= 13),
python3-sphinx-autodoc-typehints <!nodoc>,
python3-sphinx-click <!nodoc>,
python3-sphinx-rtd-theme <!nodoc>,
+ python3-stac-pydantic,
python3-stac-validator,
python3-yaml
Standards-Version: 4.7.3
@@ -38,6 +39,7 @@ Package: python3-stac-check
Architecture: all
Depends: ${python3:Depends},
${misc:Depends}
+Recommends: python3-stac-pydantic
Suggests: python-stac-check-doc
Description: ${source:Synopsis}
${source:Extended-Description}
=====================================
debian/copyright
=====================================
@@ -8,7 +8,7 @@ Copyright: 2021-2025, Jonathan Healy <jonathan.d.healy at gmail.com>
License: Expat
Files: debian/*
-Copyright: 2025, Antonio Valentino <antonio.valentino at tiscali.it>
+Copyright: 2025-2026, Antonio Valentino <antonio.valentino at tiscali.it>
License: Expat
License: Expat
=====================================
debian/patches/0002-No-network.patch
=====================================
@@ -0,0 +1,253 @@
+From: Antonio Valentino <antonio.valentino at tiscali.it>
+Date: Sun, 22 Feb 2026 00:00:56 +0000
+Subject: No network
+
+Forwarded: not-needed
+---
+ pyproject.toml | 4 ++++
+ tests/test_cli.py | 3 +++
+ tests/test_lint.py | 6 ++++++
+ tests/test_lint_assets.py | 6 ++++++
+ tests/test_lint_dictionary.py | 4 ++++
+ tests/test_lint_recursion.py | 6 ++++++
+ tests/test_lint_stac_api.py | 6 ++++++
+ 7 files changed, 35 insertions(+)
+ create mode 100644 pyproject.toml
+
+diff --git a/pyproject.toml b/pyproject.toml
+new file mode 100644
+index 0000000..c5c76c2
+--- /dev/null
++++ b/pyproject.toml
+@@ -0,0 +1,4 @@
++[tool.pytest.ini_options]
++markers = [
++ "network: test requires network access",
++]
+diff --git a/tests/test_cli.py b/tests/test_cli.py
+index 42de225..95a30f8 100644
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -31,6 +31,7 @@ def test_cli_version(runner):
+ assert "version" in result.output
+
+
++ at pytest.mark.network
+ def test_cli_validate_local_file(runner):
+ """Test validating a local file."""
+ test_file = os.path.join(
+@@ -41,6 +42,7 @@ def test_cli_validate_local_file(runner):
+ assert "Passed: True" in result.output
+
+
++ at pytest.mark.network
+ def test_cli_validate_recursive(runner):
+ """Test recursive validation."""
+ test_dir = os.path.join(
+@@ -51,6 +53,7 @@ def test_cli_validate_recursive(runner):
+ assert "Assets Checked" in result.output
+
+
++ at pytest.mark.network
+ def test_cli_output_to_file(runner):
+ """Test output to file with --output flag."""
+ test_file = os.path.join(
+diff --git a/tests/test_lint.py b/tests/test_lint.py
+index b2cdbee..323c25a 100644
+--- a/tests/test_lint.py
++++ b/tests/test_lint.py
+@@ -1,10 +1,12 @@
+ import json
+
++import pytest
+ import requests_mock
+
+ from stac_check.lint import Linter
+
+
++ at pytest.mark.network
+ def test_linter_collection():
+ file = "sample_files/1.0.0/collection.json"
+ linter = Linter(file, assets=False, links=False)
+@@ -14,6 +16,7 @@ def test_linter_collection():
+ assert linter.check_summaries() == True
+
+
++ at pytest.mark.network
+ def test_linter_collection_no_summaries():
+ file = "sample_files/1.0.0/collection-no-summaries.json"
+ linter = Linter(file, assets=False, links=False)
+@@ -31,6 +34,7 @@ def test_linter_collection_no_summaries():
+ ]
+
+
++ at pytest.mark.network
+ def test_linter_catalog():
+ file = "sample_files/1.0.0/catalog.json"
+ linter = Linter(file, assets=False, links=False)
+@@ -125,6 +129,7 @@ def test_catalog_name():
+ assert linter.check_catalog_file_name()
+
+
++ at pytest.mark.network
+ def test_lint_header():
+ file = "sample_files/1.0.0/core-item.json"
+ url = "https://localhost/" + file
+@@ -163,6 +168,7 @@ def test_lint_header():
+ assert msg["path"] == "https://localhost/sample_files/1.0.0/core-item.json"
+
+
++ at pytest.mark.network
+ def test_verbose_error_message():
+ """Test that verbose error messages are properly formatted and included."""
+ # Test with a known bad item that will generate validation errors
+diff --git a/tests/test_lint_assets.py b/tests/test_lint_assets.py
+index 4b6a968..b6bb7fc 100644
+--- a/tests/test_lint_assets.py
++++ b/tests/test_lint_assets.py
+@@ -1,6 +1,9 @@
++import pytest
++
+ from stac_check.lint import Linter
+
+
++ at pytest.mark.network
+ def test_lint_assets_no_links():
+ file = "sample_files/1.0.0/core-item.json"
+ linter = Linter(file, assets=True, assets_open_urls=False)
+@@ -29,6 +32,7 @@ def test_lint_assets_no_links():
+ }
+
+
++ at pytest.mark.network
+ def test_linter_bad_assets():
+ file = "sample_files/1.0.0/core-item-bad-links.json"
+ linter = Linter(file, assets=True)
+@@ -47,6 +51,7 @@ def test_linter_bad_assets():
+ assert linter.invalid_asset_request == asset_request_errors
+
+
++ at pytest.mark.network
+ def test_linter_bad_links():
+ file = "sample_files/1.0.0/core-item-bad-links.json"
+ linter = Linter(file, links=True)
+@@ -63,6 +68,7 @@ def test_linter_bad_links():
+ assert linter.invalid_link_request == link_request_errors
+
+
++ at pytest.mark.network
+ def test_linter_bad_links_assets():
+ file = "sample_files/1.0.0/core-item-bad-links.json"
+ linter = Linter(file, assets=True, links=True)
+diff --git a/tests/test_lint_dictionary.py b/tests/test_lint_dictionary.py
+index 4550b6a..044d619 100644
+--- a/tests/test_lint_dictionary.py
++++ b/tests/test_lint_dictionary.py
+@@ -1,6 +1,9 @@
++import pytest
++
+ from stac_check.lint import Linter
+
+
++ at pytest.mark.network
+ def test_lint_dict_collection():
+ file = {
+ "id": "simple-collection",
+@@ -76,6 +79,7 @@ def test_lint_dict_collection():
+ assert linter.check_catalog_file_name() == True
+
+
++ at pytest.mark.network
+ def test_lint_dict_item():
+ file = {
+ "stac_version": "1.0.0",
+diff --git a/tests/test_lint_recursion.py b/tests/test_lint_recursion.py
+index b138fa3..fc6e456 100644
+--- a/tests/test_lint_recursion.py
++++ b/tests/test_lint_recursion.py
+@@ -1,6 +1,9 @@
++import pytest
++
+ from stac_check.lint import Linter
+
+
++ at pytest.mark.network
+ def test_linter_collection_recursive():
+ file = "sample_files/1.0.0/catalog-with-bad-item.json"
+ linter = Linter(file, assets=False, links=False, recursive=True)
+@@ -17,6 +20,7 @@ def test_linter_collection_recursive():
+ assert msg["path"].endswith("bad-item.json")
+
+
++ at pytest.mark.network
+ def test_linter_recursive_max_depth_1():
+ file = "https://radarstac.s3.amazonaws.com/stac/catalog.json"
+ stac = Linter(file, assets=False, links=False, recursive=True, max_depth=1)
+@@ -33,6 +37,7 @@ def test_linter_recursive_max_depth_1():
+ ]
+
+
++ at pytest.mark.network
+ def test_linter_recursive_max_depth_4():
+ file = "https://radarstac.s3.amazonaws.com/stac/catalog.json"
+ stac = Linter(file, assets=False, links=False, recursive=True, max_depth=4)
+@@ -130,6 +135,7 @@ def test_linter_recursive_max_depth_4():
+ ]
+
+
++ at pytest.mark.network
+ def test_linter_recursive_100():
+ file = "https://digital-atlas.s3.amazonaws.com/stac/public_stac/population/worldpop_2020/collection.json"
+ stac = Linter(file, assets=False, links=False, recursive=True, max_depth=4)
+diff --git a/tests/test_lint_stac_api.py b/tests/test_lint_stac_api.py
+index f942200..bf017f2 100644
+--- a/tests/test_lint_stac_api.py
++++ b/tests/test_lint_stac_api.py
+@@ -28,6 +28,7 @@ def invalid_url():
+ return "https://example.com/not-a-real-endpoint"
+
+
++ at pytest.mark.network
+ def test_item_collection_validation(item_collection_url):
+ """Test item collection validation with a real STAC API endpoint."""
+ linter = ApiLinter(
+@@ -54,6 +55,7 @@ def test_item_collection_validation(item_collection_url):
+ assert result["asset_type"] == "ITEM"
+
+
++ at pytest.mark.network
+ def test_item_collection_with_pages(item_collection_url):
+ """Test item collection validation with pages parameter."""
+ # Test with 1 page
+@@ -81,6 +83,7 @@ def test_item_collection_with_pages(item_collection_url):
+ assert linter_2pages.pages == 2
+
+
++ at pytest.mark.network
+ def test_collections_validation(collections_url):
+ """Test collections validation with a real STAC API endpoint."""
+ linter = ApiLinter(
+@@ -179,6 +182,7 @@ def test_error_handling_with_individual_items():
+ assert "error_message" in invalid_result
+
+
++ at pytest.mark.network
+ def test_item_collection_message_display(item_collection_url):
+ """Test that item_collection_message correctly displays validation results."""
+ linter = ApiLinter(
+@@ -202,6 +206,7 @@ def test_item_collection_message_display(item_collection_url):
+ mock_secho.assert_any_call("Pages = 1")
+
+
++ at pytest.mark.network
+ def test_collections_message_display(collections_url):
+ """Test that collections_message correctly displays validation results."""
+ linter = ApiLinter(
+@@ -224,6 +229,7 @@ def test_collections_message_display(collections_url):
+ mock_secho.assert_any_call("Pages = 1")
+
+
++ at pytest.mark.network
+ def test_pages_parameter_handling(item_collection_url):
+ """Test that the pages parameter correctly limits pagination."""
+ # Test with explicit pages=1
=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
0001-Fix-privacy-breaches.patch
+0002-No-network.patch
=====================================
debian/rules
=====================================
@@ -1,47 +1,7 @@
#!/usr/bin/make -f
export PYBUILD_NAME=stac_check
-export PYBUILD_TEST_ARGS=-v \
--k "not test_linter_config_file \
-and not test_linter_bad_assets \
-and not test_linter_bad_links \
-and not test_linter_bad_links_assets \
-and not test_linter_collection \
-and not test_linter_collection_no_summaries \
-and not test_linter_catalog \
-and not test_linter_collection_recursive \
-and not test_linter_recursive_max_depth_1 \
-and not test_linter_recursive_max_depth_4 \
-and not test_linter_item_id_not_matching_file_name \
-and not test_linter_collection_catalog_id \
-and not test_linter_item_id_format_best_practices \
-and not test_title_field \
-and not test_lint_dict_collection \
-and not test_lint_dict_item \
-and not test_lint_header \
-and not test_lint_assets_no_links \
-and not test_linter_recursive_100 \
-and not test_item_collection_validation \
-and not test_item_collection_with_pages \
-and not test_collections_validation \
-and not est_item_collection_message_display \
-and not test_collections_message_display \
-and not test_pages_parameter_handling \
-and not test_cli_validate_local_file \
-and not test_cli_validate_recursive \
-and not test_cli_output_to_file \
-and not test_linter_max_links \
-and not test_datetime_set_to_null \
-and not test_unlocated_item \
-and not test_bloated_item \
-and not test_small_thumbnail \
-and not test_self_in_links \
-and not test_catalog_name \
-and not test_verbose_error_message \
-and not test_geometry_coordinates_order \
-and not test_bbox_antimeridian \
-and not test_bbox_matches_geometry \
-and not test_pydantic_fallback_without_import"
+export PYBUILD_TEST_ARGS=-v -m "not network" $(CURDIR)/tests
export PYBUILD_BEFORE_TEST=cp -r sample_files/ {build_dir}
export PYBUILD_AFTER_TEST=rm -rf {build_dir}/sample_files/
View it on GitLab: https://salsa.debian.org/debian-gis-team/stac-check/-/compare/88b28aabf17db43403e587667cb125cc61a62ff7...db8e790f5aed8f19b8906fdd667c41de3747c55c
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/stac-check/-/compare/88b28aabf17db43403e587667cb125cc61a62ff7...db8e790f5aed8f19b8906fdd667c41de3747c55c
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20260222/9e5137f6/attachment-0001.htm>
More information about the Pkg-grass-devel
mailing list