From 30bbf6c78164ac322c1064f16f3a766f3b1c9e03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 17:00:49 +0100
Subject: [PATCH 01/20] wip: 1st commit

---
 .gitlab-ci.yml                         | 1 +
 pystac_extension_theia/s2_l2a_theia.py | 2 +-
 tests/extension_test.py                | 8 +++-----
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b8a6ac5..f809b91 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,5 +17,6 @@ stages:
 Tests:
   extends: .static_analysis_base
   stage: Test
+  allow_failure: false
   script:
     - python3 tests/extension_test.py
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_theia/s2_l2a_theia.py
index 837cdd7..da600c0 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_theia/s2_l2a_theia.py
@@ -2,7 +2,7 @@
 
 from stac_extension_genmeta import create_extension_cls, BaseExtensionModel
 from pydantic import Field
-from typing import List, Final
+from typing import Final
 
 SCHEMA_URI: str = (
     "https://forgemia.inra.fr/umr-tetis/stac/extensions/"
diff --git a/tests/extension_test.py b/tests/extension_test.py
index 8d39ab6..f7c1762 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -1,11 +1,9 @@
+"""Extension implementation tests."""
+
 from pystac_extension_theia import S2L2ATheia, S2L2ATheiaModel
 from stac_extension_genmeta.testing import basic_test, is_schema_url_synced
 
-ext_md = S2L2ATheiaModel(
-    archive_checksum="yyyyy",
-    archive_id="xxxxx",
-    archive_url="http://toto.fr"
-)
+ext_md = S2L2ATheiaModel(archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr")
 
 # Basic tests (apply the extension to item/asset, read metadata from
 # extended item/asset, etc.)
-- 
GitLab


From ca19eca4730faf1ae576fe3e69c355ff1f2c5408 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 19:40:42 +0100
Subject: [PATCH 02/20] wip: 1st commit

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f809b91..eb2e0e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -15,7 +15,7 @@ stages:
   - Pip
 
 Tests:
-  extends: .static_analysis_base
+  extends: .static_analysis_with_pip_install
   stage: Test
   allow_failure: false
   script:
-- 
GitLab


From b456262ed459dfdd7b31f3c7d8d855487fc7fb2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 20:15:20 +0100
Subject: [PATCH 03/20] wip

---
 json_schema/v1.0.0/schema.json         | 30 ++++++++++++--------------
 pyproject.toml                         |  2 +-
 pystac_extension_theia/s2_l2a_theia.py |  3 +--
 3 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/json_schema/v1.0.0/schema.json b/json_schema/v1.0.0/schema.json
index c70600a..4f6121b 100755
--- a/json_schema/v1.0.0/schema.json
+++ b/json_schema/v1.0.0/schema.json
@@ -1,8 +1,8 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/generic-metadata-example/-/raw/main/json_schema/v1.0.0/schema.json",
-  "title": "STAC extension from MyExtensionModel model",
-  "description": "STAC extension based on the MyExtensionModel model",
+  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.1.0/schema.json",
+  "title": "STAC extension from S2L2ATheiaModel model",
+  "description": "STAC extension based on the S2L2ATheiaModel model",
   "oneOf": [
     {
       "$comment": "This is the schema for STAC Items.",
@@ -102,7 +102,7 @@
         "stac_extensions": {
           "type": "array",
           "contains": {
-            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/generic-metadata-example/-/raw/main/json_schema/v1.0.0/schema.json"
+            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.1.0/schema.json"
           }
         }
       }
@@ -120,25 +120,23 @@
       }
     },
     "fields": {
+      "description": "Sentinel-2 L2A Theia extension model.",
       "properties": {
-        "prefix:name": {
-          "title": "Process name",
+        "s2-theia-l2a:archive_checksum": {
+          "title": "Archive checksum (md5sum)",
           "type": "string"
         },
-        "prefix:authors": {
-          "items": {
-            "type": "string"
-          },
-          "title": "Authors",
-          "type": "array"
+        "s2-theia-l2a:archive_identifier": {
+          "title": "Archive identifier",
+          "type": "string"
         },
-        "prefix:version": {
-          "title": "Process version",
+        "s2-theia-l2a:archive_url": {
+          "title": "Archive URL",
           "type": "string"
         }
       },
-      "title": "MyExtensionModel",
+      "title": "S2L2ATheiaModel",
       "type": "object"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/pyproject.toml b/pyproject.toml
index 7b2ee42..594794c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,7 +16,7 @@ dynamic = ["version"]
 packages = ["pystac_extension_theia"]
 
 [project.optional-dependencies]
-test = ["stac-extension-genmeta[validation]", "pytest"]
+test = ["stac-extension-genmeta[test]", "pytest"]
 
 [tool.setuptools.dynamic]
 version = { attr = "pystac_extension_theia.__version__" }
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_theia/s2_l2a_theia.py
index da600c0..bce5db8 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_theia/s2_l2a_theia.py
@@ -5,8 +5,7 @@ from pydantic import Field
 from typing import Final
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/"
-    "pystac-extension-theia/-/raw/main/json_schema/v1.1.0/schema.json"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/blob/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab


From 4ef16a8dba1b0c60282b3527a72394432f2eda4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 20:36:12 +0100
Subject: [PATCH 04/20] wip

---
 json_schema/v1.0.0/schema.json         | 6 +++---
 pystac_extension_theia/s2_l2a_theia.py | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/json_schema/v1.0.0/schema.json b/json_schema/v1.0.0/schema.json
index 4f6121b..f9f59d9 100755
--- a/json_schema/v1.0.0/schema.json
+++ b/json_schema/v1.0.0/schema.json
@@ -1,6 +1,6 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.1.0/schema.json",
+  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads",
   "title": "STAC extension from S2L2ATheiaModel model",
   "description": "STAC extension based on the S2L2ATheiaModel model",
   "oneOf": [
@@ -102,7 +102,7 @@
         "stac_extensions": {
           "type": "array",
           "contains": {
-            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.1.0/schema.json"
+            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
           }
         }
       }
@@ -139,4 +139,4 @@
       "type": "object"
     }
   }
-}
+}
\ No newline at end of file
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_theia/s2_l2a_theia.py
index bce5db8..cec6fc8 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_theia/s2_l2a_theia.py
@@ -5,7 +5,7 @@ from pydantic import Field
 from typing import Final
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/blob/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab


From c8884eda9357587da0d33faa481b546f5ec98ea9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 20:45:09 +0100
Subject: [PATCH 05/20] wip

---
 json_schema/v1.0.0/schema.json         | 4 ++--
 pystac_extension_theia/__init__.py     | 5 ++---
 pystac_extension_theia/s2_l2a_theia.py | 2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/json_schema/v1.0.0/schema.json b/json_schema/v1.0.0/schema.json
index f9f59d9..020aff9 100755
--- a/json_schema/v1.0.0/schema.json
+++ b/json_schema/v1.0.0/schema.json
@@ -1,6 +1,6 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads",
+  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads",
   "title": "STAC extension from S2L2ATheiaModel model",
   "description": "STAC extension based on the S2L2ATheiaModel model",
   "oneOf": [
@@ -102,7 +102,7 @@
         "stac_extensions": {
           "type": "array",
           "contains": {
-            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
+            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
           }
         }
       }
diff --git a/pystac_extension_theia/__init__.py b/pystac_extension_theia/__init__.py
index 9731a29..e0d6546 100644
--- a/pystac_extension_theia/__init__.py
+++ b/pystac_extension_theia/__init__.py
@@ -1,6 +1,5 @@
-"""Sentinel-2 L2A THEIA extension model module."""
+"""Sentinel-2 L2A THEIA extension for pystac."""
 
 from .s2_l2a_theia import S2L2ATheia, S2L2ATheiaModel  # noqa
 
-# Remember to bump version before each new package build
-__version__ = "0.0.10"
+__version__ = "0.0.1"
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_theia/s2_l2a_theia.py
index cec6fc8..819f5ae 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_theia/s2_l2a_theia.py
@@ -5,7 +5,7 @@ from pydantic import Field
 from typing import Final
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/enh/json_schema/v1.0.0/schema.json?ref_type=heads"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab


From 75ad00c73b9cc2a2e101bdd609674961a0bdee11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 20:45:30 +0100
Subject: [PATCH 06/20] wip

---
 .gitlab-ci.yml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb2e0e9..8e5dc3c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,9 +11,18 @@ variables:
 
 stages:
   - Static Analysis
+  - Schema
   - Test
   - Pip
 
+Schema:
+  extends: .static_analysis_with_pip_install
+  stage: Schema
+  allow_failure: false
+  script:
+    - find json_schema -type f -iname "*.json" -exec sed -i "s#/-/raw/main/#/-/raw/${CI_COMMIT_REF_NAME}/#g" {} \;
+    - python3 -c "import pystac_extension_theia; pystac_extension_theia.S2L2ATheia.print_schema()"
+
 Tests:
   extends: .static_analysis_with_pip_install
   stage: Test
-- 
GitLab


From 20d8f23c06b29323a5c7713db6cba4d451d3d0ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 21:24:08 +0100
Subject: [PATCH 07/20] wip

---
 pyproject.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index 594794c..74ceadd 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
 name = "pystac-extension-theia"
 requires-python = ">=3.10"
 dependencies = [
-    "stac-extension-genmeta",
+    "stac-extension-genmeta==0.1.3-dev1",
     "pystac[validation]"
 ]
 license = { text = "Apache-2.0" }
-- 
GitLab


From abfc6a65ba4d5509bb67def292cec4ef33da81f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 21:57:39 +0100
Subject: [PATCH 08/20] wip

---
 .gitlab-ci.yml                         | 2 +-
 pyproject.toml                         | 2 +-
 pystac_extension_theia/s2_l2a_theia.py | 4 +---
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8e5dc3c..2cd24af 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,8 +20,8 @@ Schema:
   stage: Schema
   allow_failure: false
   script:
-    - find json_schema -type f -iname "*.json" -exec sed -i "s#/-/raw/main/#/-/raw/${CI_COMMIT_REF_NAME}/#g" {} \;
     - python3 -c "import pystac_extension_theia; pystac_extension_theia.S2L2ATheia.print_schema()"
+    - python3 -c "import pystac_extension_theia, stac_extension_genmeta; stac_extension_genmeta.testing.is_schema_url_synced(pystac_extension_theia.S2L2ATheia)"
 
 Tests:
   extends: .static_analysis_with_pip_install
diff --git a/pyproject.toml b/pyproject.toml
index 74ceadd..9d64cb2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
 name = "pystac-extension-theia"
 requires-python = ">=3.10"
 dependencies = [
-    "stac-extension-genmeta==0.1.3-dev1",
+    "stac-extension-genmeta==0.1.3-dev2",
     "pystac[validation]"
 ]
 license = { text = "Apache-2.0" }
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_theia/s2_l2a_theia.py
index 819f5ae..e9ed86e 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_theia/s2_l2a_theia.py
@@ -4,9 +4,7 @@ from stac_extension_genmeta import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 from typing import Final
 
-SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
-)
+SCHEMA_URI: str = "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
 
 
 NS: Final = "s2-theia-l2a:"
-- 
GitLab


From 591e08cb898eff1031bf5eae379d4d1fd151e350 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Thu, 13 Feb 2025 22:07:08 +0100
Subject: [PATCH 09/20] wip

---
 .gitlab-ci.yml | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2cd24af..eb2e0e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,18 +11,9 @@ variables:
 
 stages:
   - Static Analysis
-  - Schema
   - Test
   - Pip
 
-Schema:
-  extends: .static_analysis_with_pip_install
-  stage: Schema
-  allow_failure: false
-  script:
-    - python3 -c "import pystac_extension_theia; pystac_extension_theia.S2L2ATheia.print_schema()"
-    - python3 -c "import pystac_extension_theia, stac_extension_genmeta; stac_extension_genmeta.testing.is_schema_url_synced(pystac_extension_theia.S2L2ATheia)"
-
 Tests:
   extends: .static_analysis_with_pip_install
   stage: Test
-- 
GitLab


From 2e3e39af3c9ffe4afe905710d9546c90cbf2b71d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 10:48:50 +0100
Subject: [PATCH 10/20] change extension names

---
 .gitlab-ci.yml                                | 21 ++-----------------
 pyproject.toml                                | 10 ++++-----
 .../__init__.py                               |  2 +-
 .../sentinel2_l2a.py                          |  6 +++---
 tests/extension_test.py                       | 15 ++++++-------
 5 files changed, 19 insertions(+), 35 deletions(-)
 rename {pystac_extension_theia => pystac_extension_sentinel2_theia}/__init__.py (54%)
 rename pystac_extension_theia/s2_l2a_theia.py => pystac_extension_sentinel2_theia/sentinel2_l2a.py (77%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb2e0e9..d573b57 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,22 +1,5 @@
 include:
-  - project: "cdos-pub/pycode-quality"
+  - project: "umr-tetis/stac/extensions/pydantic-pystac-extensions"
     ref: "main"
     file:
-      - ".gitlab/ci/static-analysis.yml"
-      - ".gitlab/ci/pip.yml"
-
-variables:
-  PIP_EXTRA_INDEX_URL: https://forgemia.inra.fr/api/v4/projects/10919/packages/pypi/simple
-  PACKAGE_INSTALL_EXTRAS: "[test]"
-
-stages:
-  - Static Analysis
-  - Test
-  - Pip
-
-Tests:
-  extends: .static_analysis_with_pip_install
-  stage: Test
-  allow_failure: false
-  script:
-    - python3 tests/extension_test.py
+      - ".gitlab/ci/base.yml"
diff --git a/pyproject.toml b/pyproject.toml
index 9d64cb2..ae0ba8a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,20 +3,20 @@ requires = ["setuptools >= 61.0", "wheel"]
 build-backend = "setuptools.build_meta"
 
 [project]
-name = "pystac-extension-theia"
+name = "pystac-extension-sentinel2-theia"
 requires-python = ">=3.10"
 dependencies = [
-    "stac-extension-genmeta==0.1.3-dev2",
+    "pydantic-pystac-extensions",
     "pystac[validation]"
 ]
 license = { text = "Apache-2.0" }
 dynamic = ["version"]
 
 [tool.setuptools]
-packages = ["pystac_extension_theia"]
+packages = ["pystac_extension_sentinel2_theia"]
 
 [project.optional-dependencies]
-test = ["stac-extension-genmeta[test]", "pytest"]
+test = ["pydantic-pystac-extensions[test]"]
 
 [tool.setuptools.dynamic]
-version = { attr = "pystac_extension_theia.__version__" }
+version = { attr = "pystac_extension_sentinel2_theia.__version__" }
diff --git a/pystac_extension_theia/__init__.py b/pystac_extension_sentinel2_theia/__init__.py
similarity index 54%
rename from pystac_extension_theia/__init__.py
rename to pystac_extension_sentinel2_theia/__init__.py
index e0d6546..e804721 100644
--- a/pystac_extension_theia/__init__.py
+++ b/pystac_extension_sentinel2_theia/__init__.py
@@ -1,5 +1,5 @@
 """Sentinel-2 L2A THEIA extension for pystac."""
 
-from .s2_l2a_theia import S2L2ATheia, S2L2ATheiaModel  # noqa
+from .s2_l2a import Sentinel2L2AModel, Sentinel2L2A  # noqa
 
 __version__ = "0.0.1"
diff --git a/pystac_extension_theia/s2_l2a_theia.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
similarity index 77%
rename from pystac_extension_theia/s2_l2a_theia.py
rename to pystac_extension_sentinel2_theia/sentinel2_l2a.py
index e9ed86e..c878718 100644
--- a/pystac_extension_theia/s2_l2a_theia.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -1,6 +1,6 @@
 """Sentinel-2 L2A THEIA extension implementation."""
 
-from stac_extension_genmeta import create_extension_cls, BaseExtensionModel
+from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 from typing import Final
 
@@ -13,7 +13,7 @@ ARCHIVE_IDENTIFIER: Final = NS + "archive_identifier"
 ARCHIVE_URL: Final = NS + "archive_url"
 
 
-class S2L2ATheiaModel(BaseExtensionModel):
+class Sentinel2L2AModel(BaseExtensionModel):
     """Sentinel-2 L2A Theia extension model."""
 
     archive_checksum: str = Field(title="Archive checksum (md5sum)", alias=ARCHIVE_CHECKSUM)
@@ -22,4 +22,4 @@ class S2L2ATheiaModel(BaseExtensionModel):
 
 
 # Extension class
-S2L2ATheia = create_extension_cls(model_cls=S2L2ATheiaModel, schema_uri=SCHEMA_URI)
+Sentinel2L2A = create_extension_cls(model_cls=Sentinel2L2AModel, schema_uri=SCHEMA_URI)
diff --git a/tests/extension_test.py b/tests/extension_test.py
index f7c1762..63c25bf 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -1,13 +1,14 @@
 """Extension implementation tests."""
 
-from pystac_extension_theia import S2L2ATheia, S2L2ATheiaModel
-from stac_extension_genmeta.testing import basic_test, is_schema_url_synced
+from pystac_extension_theia import Sentinel2L2AModel, Sentinel2L2A
+from pydantic_pystac_extensions.testing import basic_test, is_schema_url_synced
 
-ext_md = S2L2ATheiaModel(archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr")
+
+# Check that the online schema is in sync with the actual schema of the class
+is_schema_url_synced(Sentinel2L2A)
+
+ext_md = Sentinel2L2AModel(archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr")
 
 # Basic tests (apply the extension to item/asset, read metadata from
 # extended item/asset, etc.)
-basic_test(ext_md, S2L2ATheia)
-
-# Check that the online schema is in sync with the actual schema of the class
-is_schema_url_synced(S2L2ATheia)
+basic_test(ext_md, Sentinel2L2A)
-- 
GitLab


From dcc3fd5dfd34343f62443d6a03415c32ccbdccb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:03:20 +0100
Subject: [PATCH 11/20] change extension names

---
 tests/extension_test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/extension_test.py b/tests/extension_test.py
index 63c25bf..f8354f7 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -1,6 +1,6 @@
 """Extension implementation tests."""
 
-from pystac_extension_theia import Sentinel2L2AModel, Sentinel2L2A
+from pystac_extension_sentinel2_theia import Sentinel2L2AModel, Sentinel2L2A
 from pydantic_pystac_extensions.testing import basic_test, is_schema_url_synced
 
 
-- 
GitLab


From d2404d01b984466c2b11e033c2204f715cc9e368 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:07:16 +0100
Subject: [PATCH 12/20] change extension names

---
 pystac_extension_sentinel2_theia/sentinel2_l2a.py | 6 ++++--
 tests/extension_test.py                           | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/pystac_extension_sentinel2_theia/sentinel2_l2a.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
index c878718..3a3f656 100644
--- a/pystac_extension_sentinel2_theia/sentinel2_l2a.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -1,8 +1,8 @@
 """Sentinel-2 L2A THEIA extension implementation."""
 
+from typing import Final
 from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
-from typing import Final
 
 SCHEMA_URI: str = "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
 
@@ -16,7 +16,9 @@ ARCHIVE_URL: Final = NS + "archive_url"
 class Sentinel2L2AModel(BaseExtensionModel):
     """Sentinel-2 L2A Theia extension model."""
 
-    archive_checksum: str = Field(title="Archive checksum (md5sum)", alias=ARCHIVE_CHECKSUM)
+    archive_checksum: str = Field(
+        title="Archive checksum (md5sum)", alias=ARCHIVE_CHECKSUM
+    )
     archive_id: str = Field(title="Archive identifier", alias=ARCHIVE_IDENTIFIER)
     archive_url: str = Field(title="Archive URL", alias=ARCHIVE_URL)
 
diff --git a/tests/extension_test.py b/tests/extension_test.py
index f8354f7..06896a9 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -7,7 +7,9 @@ from pydantic_pystac_extensions.testing import basic_test, is_schema_url_synced
 # Check that the online schema is in sync with the actual schema of the class
 is_schema_url_synced(Sentinel2L2A)
 
-ext_md = Sentinel2L2AModel(archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr")
+ext_md = Sentinel2L2AModel(
+    archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr"
+)
 
 # Basic tests (apply the extension to item/asset, read metadata from
 # extended item/asset, etc.)
-- 
GitLab


From b0ab8b58884a31d01cda4a049cf1b2337e1db1d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:14:21 +0100
Subject: [PATCH 13/20] change extension names

---
 pystac_extension_sentinel2_theia/__init__.py      | 2 +-
 pystac_extension_sentinel2_theia/sentinel2_l2a.py | 5 ++++-
 tests/extension_test.py                           | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/pystac_extension_sentinel2_theia/__init__.py b/pystac_extension_sentinel2_theia/__init__.py
index e804721..a014c5a 100644
--- a/pystac_extension_sentinel2_theia/__init__.py
+++ b/pystac_extension_sentinel2_theia/__init__.py
@@ -1,5 +1,5 @@
 """Sentinel-2 L2A THEIA extension for pystac."""
 
-from .s2_l2a import Sentinel2L2AModel, Sentinel2L2A  # noqa
+from .sentinel2_l2a import Sentinel2L2AModel, Sentinel2L2A  # noqa
 
 __version__ = "0.0.1"
diff --git a/pystac_extension_sentinel2_theia/sentinel2_l2a.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
index 3a3f656..6eec6b2 100644
--- a/pystac_extension_sentinel2_theia/sentinel2_l2a.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -4,7 +4,10 @@ from typing import Final
 from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 
-SCHEMA_URI: str = "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
+SCHEMA_URI: str = (
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/"
+    "-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
+)
 
 
 NS: Final = "s2-theia-l2a:"
diff --git a/tests/extension_test.py b/tests/extension_test.py
index 06896a9..aaddc3f 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -1,7 +1,7 @@
 """Extension implementation tests."""
 
-from pystac_extension_sentinel2_theia import Sentinel2L2AModel, Sentinel2L2A
 from pydantic_pystac_extensions.testing import basic_test, is_schema_url_synced
+from pystac_extension_sentinel2_theia import Sentinel2L2AModel, Sentinel2L2A
 
 
 # Check that the online schema is in sync with the actual schema of the class
-- 
GitLab


From d225fa2c8dd09f9d17d068b0bdc7d772c025ffa3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:16:08 +0100
Subject: [PATCH 14/20] change extension names

---
 tests/extension_test.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/tests/extension_test.py b/tests/extension_test.py
index aaddc3f..3097fef 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -4,13 +4,13 @@ from pydantic_pystac_extensions.testing import basic_test, is_schema_url_synced
 from pystac_extension_sentinel2_theia import Sentinel2L2AModel, Sentinel2L2A
 
 
-# Check that the online schema is in sync with the actual schema of the class
-is_schema_url_synced(Sentinel2L2A)
+def test_extension_schema():
+    """Check that the online schema is in sync with the actual schema of the class."""
+    is_schema_url_synced(Sentinel2L2A)
 
-ext_md = Sentinel2L2AModel(
-    archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr"
-)
-
-# Basic tests (apply the extension to item/asset, read metadata from
-# extended item/asset, etc.)
-basic_test(ext_md, Sentinel2L2A)
+def test_extension_instanciation():
+    """Apply the extension to item/asset, read metadata from pystac objects."""
+    ext_md = Sentinel2L2AModel(
+        archive_checksum="yyyyy", archive_id="xxxxx", archive_url="http://toto.fr"
+    )
+    basic_test(ext_md, Sentinel2L2A)
-- 
GitLab


From 206383d38f543a476134986d9b748ddac0c1882b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:23:35 +0100
Subject: [PATCH 15/20] change extension names

---
 json_schema/v1.0.0/schema.json | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/json_schema/v1.0.0/schema.json b/json_schema/v1.0.0/schema.json
index 020aff9..d66e974 100755
--- a/json_schema/v1.0.0/schema.json
+++ b/json_schema/v1.0.0/schema.json
@@ -1,8 +1,8 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
   "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads",
-  "title": "STAC extension from S2L2ATheiaModel model",
-  "description": "STAC extension based on the S2L2ATheiaModel model",
+  "title": "STAC extension from Sentinel2L2AModel model",
+  "description": "STAC extension based on the Sentinel2L2AModel model",
   "oneOf": [
     {
       "$comment": "This is the schema for STAC Items.",
@@ -135,7 +135,7 @@
           "type": "string"
         }
       },
-      "title": "S2L2ATheiaModel",
+      "title": "Sentinel2L2AModel",
       "type": "object"
     }
   }
-- 
GitLab


From 944d0d49a294ff480ca21b0fbdcc8d6b40ef91f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:27:45 +0100
Subject: [PATCH 16/20] change extension names

---
 json_schema/{v1.0.0 => v1.1.0}/schema.json | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename json_schema/{v1.0.0 => v1.1.0}/schema.json (100%)

diff --git a/json_schema/v1.0.0/schema.json b/json_schema/v1.1.0/schema.json
similarity index 100%
rename from json_schema/v1.0.0/schema.json
rename to json_schema/v1.1.0/schema.json
-- 
GitLab


From d105dddd5a2321f7260a60bea48ada26eb0808de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:31:21 +0100
Subject: [PATCH 17/20] change extension names

---
 pystac_extension_sentinel2_theia/sentinel2_l2a.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pystac_extension_sentinel2_theia/sentinel2_l2a.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
index 6eec6b2..9878eba 100644
--- a/pystac_extension_sentinel2_theia/sentinel2_l2a.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -5,8 +5,8 @@ from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/"
-    "-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia"
+    "/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab


From 60b7f5ec8ae371d3f05ade2c39335a81b165c4b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 11:33:05 +0100
Subject: [PATCH 18/20] change extension names

---
 json_schema/v1.1.0/schema.json | 6 +++---
 tests/extension_test.py        | 1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/json_schema/v1.1.0/schema.json b/json_schema/v1.1.0/schema.json
index d66e974..0d36dd8 100755
--- a/json_schema/v1.1.0/schema.json
+++ b/json_schema/v1.1.0/schema.json
@@ -1,6 +1,6 @@
 {
   "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads",
+  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads",
   "title": "STAC extension from Sentinel2L2AModel model",
   "description": "STAC extension based on the Sentinel2L2AModel model",
   "oneOf": [
@@ -102,7 +102,7 @@
         "stac_extensions": {
           "type": "array",
           "contains": {
-            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-theia/-/raw/main/json_schema/v1.0.0/schema.json?ref_type=heads"
+            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads"
           }
         }
       }
@@ -139,4 +139,4 @@
       "type": "object"
     }
   }
-}
\ No newline at end of file
+}
diff --git a/tests/extension_test.py b/tests/extension_test.py
index 3097fef..2bfc789 100644
--- a/tests/extension_test.py
+++ b/tests/extension_test.py
@@ -8,6 +8,7 @@ def test_extension_schema():
     """Check that the online schema is in sync with the actual schema of the class."""
     is_schema_url_synced(Sentinel2L2A)
 
+
 def test_extension_instanciation():
     """Apply the extension to item/asset, read metadata from pystac objects."""
     ext_md = Sentinel2L2AModel(
-- 
GitLab


From 4d94dbf187e50e59c5d666ee9d89b003ef248cb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 13:52:28 +0100
Subject: [PATCH 19/20] change extension names

---
 json_schema/v1.1.0/schema.json                | 142 ------------------
 .../sentinel2_l2a.py                          |   3 +-
 2 files changed, 1 insertion(+), 144 deletions(-)
 delete mode 100755 json_schema/v1.1.0/schema.json

diff --git a/json_schema/v1.1.0/schema.json b/json_schema/v1.1.0/schema.json
deleted file mode 100755
index 0d36dd8..0000000
--- a/json_schema/v1.1.0/schema.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-07/schema#",
-  "$id": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads",
-  "title": "STAC extension from Sentinel2L2AModel model",
-  "description": "STAC extension based on the Sentinel2L2AModel model",
-  "oneOf": [
-    {
-      "$comment": "This is the schema for STAC Items.",
-      "allOf": [
-        {
-          "type": "object",
-          "required": [
-            "type",
-            "properties",
-            "assets",
-            "links"
-          ],
-          "properties": {
-            "type": {
-              "const": "Feature"
-            },
-            "properties": {
-              "$ref": "#/definitions/fields"
-            },
-            "assets": {
-              "$ref": "#/definitions/assets"
-            },
-            "links": {
-              "$ref": "#/definitions/links"
-            }
-          }
-        },
-        {
-          "$ref": "#/definitions/stac_extensions"
-        }
-      ]
-    },
-    {
-      "$comment": "This is the schema for STAC Collections.",
-      "allOf": [
-        {
-          "type": "object",
-          "required": [
-            "type"
-          ],
-          "properties": {
-            "type": {
-              "const": "Collection"
-            },
-            "assets": {
-              "$ref": "#/definitions/assets"
-            },
-            "item_assets": {
-              "$ref": "#/definitions/assets"
-            },
-            "links": {
-              "$ref": "#/definitions/links"
-            }
-          }
-        },
-        {
-          "$ref": "#/definitions/fields"
-        },
-        {
-          "$ref": "#/definitions/stac_extensions"
-        }
-      ]
-    },
-    {
-      "$comment": "This is the schema for STAC Catalogs.",
-      "allOf": [
-        {
-          "type": "object",
-          "required": [
-            "type"
-          ],
-          "properties": {
-            "type": {
-              "const": "Catalog"
-            },
-            "links": {
-              "$ref": "#/definitions/links"
-            }
-          }
-        },
-        {
-          "$ref": "#/definitions/fields"
-        },
-        {
-          "$ref": "#/definitions/stac_extensions"
-        }
-      ]
-    }
-  ],
-  "definitions": {
-    "stac_extensions": {
-      "type": "object",
-      "required": [
-        "stac_extensions"
-      ],
-      "properties": {
-        "stac_extensions": {
-          "type": "array",
-          "contains": {
-            "const": "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads"
-          }
-        }
-      }
-    },
-    "links": {
-      "type": "array",
-      "items": {
-        "$ref": "#/definitions/fields"
-      }
-    },
-    "assets": {
-      "type": "object",
-      "additionalProperties": {
-        "$ref": "#/definitions/fields"
-      }
-    },
-    "fields": {
-      "description": "Sentinel-2 L2A Theia extension model.",
-      "properties": {
-        "s2-theia-l2a:archive_checksum": {
-          "title": "Archive checksum (md5sum)",
-          "type": "string"
-        },
-        "s2-theia-l2a:archive_identifier": {
-          "title": "Archive identifier",
-          "type": "string"
-        },
-        "s2-theia-l2a:archive_url": {
-          "title": "Archive URL",
-          "type": "string"
-        }
-      },
-      "title": "Sentinel2L2AModel",
-      "type": "object"
-    }
-  }
-}
diff --git a/pystac_extension_sentinel2_theia/sentinel2_l2a.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
index 9878eba..9080dd7 100644
--- a/pystac_extension_sentinel2_theia/sentinel2_l2a.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -5,8 +5,7 @@ from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/pystac-extension-sentinel2-theia"
-    "/-/raw/main/json_schema/v1.1.0/schema.json?ref_type=heads"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/schemas/-/raw/main/theia/v1.1.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab


From f8bb9cea871a2c2f8180695886cf93ae488c37a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi?= <remi.cresson@inrae.fr>
Date: Fri, 14 Feb 2025 13:55:13 +0100
Subject: [PATCH 20/20] change extension names

---
 pystac_extension_sentinel2_theia/sentinel2_l2a.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pystac_extension_sentinel2_theia/sentinel2_l2a.py b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
index 9080dd7..b6ee010 100644
--- a/pystac_extension_sentinel2_theia/sentinel2_l2a.py
+++ b/pystac_extension_sentinel2_theia/sentinel2_l2a.py
@@ -5,7 +5,8 @@ from pydantic_pystac_extensions import create_extension_cls, BaseExtensionModel
 from pydantic import Field
 
 SCHEMA_URI: str = (
-    "https://forgemia.inra.fr/umr-tetis/stac/extensions/schemas/-/raw/main/theia/v1.1.0/schema.json?ref_type=heads"
+    "https://forgemia.inra.fr/umr-tetis/stac/extensions/schemas/"
+    "-/raw/main/theia/v1.1.0/schema.json?ref_type=heads"
 )
 
 
-- 
GitLab