Repository: planetlabs/planet-client-python

Issue:
Update Orders Product Bundles Reference JSON file and link to SSoT JSON file
1. When we get the latest product bundle is delivered, please replace it in this source code: 

https://github.com/planetlabs/planet-client-python/tree/main/planet/data

2. Please update reference to it, for example (but latest will not have this 2022 date...):

* Note filename of the Orders Product Bundles Reference JSON file:

planet/data/orders_product_bundle_2022_02_02.json

* In planet/specs.py, note:

PRODUCT_BUNDLE_SPEC_NAME = 'orders_product_bundle_2022_02_02.json'

* In planet/data/README.md, note:

## Orders Spec

### Files

* `orders_product_bundle_2022_02_02.json`

Expected: [latest Orders product bundles reference](https://developers.planet.com/theme/js/2022-04-20.json) in the SDK | CLI

Actual: Product Bundle from 2/2/22 (planet/data/orders_product_bundle_2022_02_02.json)

Workaround: Go to latest spec page on [Planet](https://developers.planet.com/apis/orders/product-bundles-reference/) and select from there.

Discussion:

Patch:
diff --git a/planet/data/README.md b/planet/data/README.md
index e3f94ab..d780ca5 100644
--- a/planet/data/README.md
+++ b/planet/data/README.md
@@ -5,7 +5,7 @@ This directory contains static external resources used by the codebase.
 
 ### Files
 
-* `orders_product_bundle_2022_02_02.json`
+* `orders_product_bundle_2023-02-24.json`
 
 ### Description
 
diff --git a/planet/data/orders_product_bundle_2022_02_02.json b/planet/data/orders_product_bundle_2023-02-24.json
similarity index 82%
rename from planet/data/orders_product_bundle_2022_02_02.json
rename to planet/data/orders_product_bundle_2023-02-24.json
index ccc8bfd..f413cd5 100644
--- a/planet/data/orders_product_bundle_2022_02_02.json
+++ b/planet/data/orders_product_bundle_2023-02-24.json
@@ -29,16 +29,6 @@
           "udm",
           "analytic_xml"
         ],
-        "PSScene3Band": [
-          "analytic",
-          "analytic_xml",
-          "udm"
-        ],
-        "PSScene4Band": [
-          "analytic",
-          "analytic_xml",
-          "udm"
-        ],
         "REOrthoTile": [
           "analytic",
           "analytic_xml",
@@ -89,12 +79,6 @@
           "udm2",
           "analytic_xml"
         ],
-        "PSScene4Band": [
-          "analytic",
-          "analytic_xml",
-          "udm",
-          "udm2"
-        ],
         "PSScene": [
           "ortho_analytic_4b",
           "ortho_analytic_4b_xml",
@@ -192,10 +176,6 @@
           "visual",
           "visual_xml"
         ],
-        "PSScene3Band": [
-          "visual",
-          "visual_xml"
-        ],
         "PSScene": [
           "ortho_visual"
         ],
@@ -228,16 +208,6 @@
           "udm",
           "analytic_dn_xml"
         ],
-        "PSScene3Band": [
-          "analytic_dn",
-          "analytic_dn_xml",
-          "udm"
-        ],
-        "PSScene4Band": [
-          "analytic_dn",
-          "analytic_dn_xml",
-          "udm"
-        ],
         "SkySatCollect": [
           "ortho_analytic_dn",
           "ortho_analytic_udm"
@@ -263,12 +233,6 @@
           "udm",
           "udm2"
         ],
-        "PSScene4Band": [
-          "analytic_dn",
-          "analytic_dn_xml",
-          "udm",
-          "udm2"
-        ],
         "SkySatCollect": [
           "ortho_analytic_dn",
           "ortho_analytic_udm",
@@ -290,18 +254,6 @@
       "fileType": "TIFF and RPCs",
       "auxiliaryFiles": "udm",
       "assets": {
-        "PSScene3Band": [
-          "basic_analytic",
-          "basic_udm",
-          "basic_analytic_rpc",
-          "basic_analytic_xml"
-        ],
-        "PSScene4Band": [
-          "basic_analytic",
-          "basic_udm",
-          "basic_analytic_rpc",
-          "basic_analytic_xml"
-        ],
         "REScene": [
           "basic_analytic_b1",
           "basic_analytic_b2",
@@ -330,13 +282,6 @@
       "fileType": "TIFF and RPCs",
       "auxiliaryFiles": "udm, udm2",
       "assets": {
-        "PSScene4Band": [
-          "basic_analytic",
-          "basic_udm",
-          "basic_udm2",
-          "basic_analytic_rpc",
-          "basic_analytic_xml"
-        ],
         "PSScene": [
           "basic_analytic_4b",
           "basic_udm2",
@@ -346,7 +291,8 @@
         "SkySatScene": [
           "basic_analytic",
           "basic_analytic_rpc",
-          "basic_analytic_udm"
+          "basic_analytic_udm",
+          "basic_analytic_udm2"
         ]
       }
     },
@@ -376,18 +322,6 @@
       "fileType": "TIFF and RPCs",
       "auxiliaryFiles": "udm",
       "assets": {
-        "PSScene3Band": [
-          "basic_analytic_dn",
-          "basic_analytic_dn_xml",
-          "basic_udm",
-          "basic_analytic_dn_rpc"
-        ],
-        "PSScene4Band": [
-          "basic_analytic_dn",
-          "basic_analytic_dn_xml",
-          "basic_udm",
-          "basic_analytic_dn_rpc"
-        ],
         "SkySatScene": [
           "basic_analytic_dn",
           "basic_analytic_dn_rpc",
@@ -404,17 +338,11 @@
       "fileType": "TIFF and RPCs",
       "auxiliaryFiles": "udm, udm2",
       "assets": {
-        "PSScene4Band": [
-          "basic_analytic_dn",
-          "basic_analytic_dn_xml",
-          "basic_udm",
-          "basic_udm2",
-          "basic_analytic_dn_rpc"
-        ],
         "SkySatScene": [
           "basic_analytic_dn",
           "basic_analytic_dn_rpc",
-          "basic_analytic_udm"
+          "basic_analytic_udm",
+          "basic_analytic_udm2"
         ]
       }
     },
@@ -427,11 +355,6 @@
       "fileType": "GeoTIFF",
       "auxiliaryFiles": "udm",
       "assets": {
-        "PSScene4Band": [
-          "analytic_sr",
-          "udm",
-          "analytic_xml"
-        ],
         "PSOrthoTile": [
           "analytic_sr",
           "udm",
@@ -529,12 +452,6 @@
       "fileType": "GeoTIFF",
       "auxiliaryFiles": "udm, udm2",
       "assets": {
-        "PSScene4Band": [
-          "analytic_sr",
-          "analytic_xml",
-          "udm",
-          "udm2"
-        ],
         "PSScene": [
           "ortho_analytic_4b_sr",
           "ortho_analytic_4b_xml",
@@ -574,56 +491,15 @@
         ]
       }
     },
-    "basic_uncalibrated_dn_nitf": {
-      "name": "Basic Uncalibrated DN - NITF",
-      "description": "Uncalibrated digital numbers - includes RPC text file for georeferencing",
-      "bands": "all",
-      "rectification": "non-orthorectified",
-      "radiometry": "digital numbers",
-      "fileType": "NITF",
-      "auxiliaryFiles": "udm",
-      "assets": {
-        "PSScene4Band": [
-          "basic_analytic_dn_nitf",
-          "basic_analytic_dn_xml_nitf",
-          "basic_analytic_dn_rpc_nitf",
-          "basic_udm"
-        ]
-      }
-    },
-    "basic_uncalibrated_dn_nitf_udm2": {
-      "name": "Basic Uncalibrated DN - NITF",
-      "description": "Uncalibrated digital numbers - includes RPC text file for georeferencing",
-      "bands": "all",
-      "rectification": "non-orthorectified",
-      "radiometry": "digital numbers",
-      "fileType": "NITF",
-      "auxiliaryFiles": "udm, udm2",
-      "assets": {
-        "PSScene4Band": [
-          "basic_analytic_dn_nitf",
-          "basic_analytic_dn_xml_nitf",
-          "basic_analytic_dn_rpc_nitf",
-          "basic_udm",
-          "basic_udm2"
-        ]
-      }
-    },
     "basic_analytic_nitf": {
       "name": "Basic Analytic Radiance (TOAR) – NITF",
-      "description": " Calibrated to top of atmosphere radiance - includes RPC text file for georeferencing",
+      "description": "Calibrated to top of atmosphere radiance - includes RPC text file for georeferencing",
       "bands": "all",
       "rectification": "non-orthorectified",
       "radiometry": "at-sensor",
       "fileType": "NITF",
       "auxiliaryFiles": "udm",
       "assets": {
-        "PSScene4Band": [
-          "basic_analytic_nitf",
-          "basic_analytic_rpc_nitf",
-          "basic_analytic_xml_nitf",
-          "basic_udm"
-        ],
         "REScene": [
           "basic_analytic_b1_nitf",
           "basic_analytic_b2_nitf",
@@ -638,24 +514,6 @@
         ]
       }
     },
-    "basic_analytic_nitf_udm2": {
-      "name": "Basic Analytic Radiance (TOAR) – NITF",
-      "description": " Calibrated to top of atmosphere radiance - includes RPC text file for georeferencing",
-      "bands": "all",
-      "rectification": "non-orthorectified",
-      "radiometry": "at-sensor",
-      "fileType": "NITF",
-      "auxiliaryFiles": "udm, udm2",
-      "assets": {
-        "PSScene4Band": [
-          "basic_analytic_nitf",
-          "basic_analytic_rpc_nitf",
-          "basic_analytic_xml_nitf",
-          "basic_udm",
-          "basic_udm2"
-        ]
-      }
-    },
     "basic_panchromatic": {
       "name": "Basic Panchromatic",
       "description": "Unrectified panchromatic band - includes RPC text file for georeferencing",
@@ -805,5 +663,5 @@
       }
     }
   },
-  "version": "2022-02-02"
+  "version": "2023-02-24"
 }
diff --git a/planet/specs.py b/planet/specs.py
index 834c71f..e0d3e3b 100644
--- a/planet/specs.py
+++ b/planet/specs.py
@@ -18,7 +18,7 @@ import logging
 import itertools
 from .constants import DATA_DIR
 
-PRODUCT_BUNDLE_SPEC_NAME = 'orders_product_bundle_2022_02_02.json'
+PRODUCT_BUNDLE_SPEC_NAME = 'orders_product_bundle_2023-02-24.json'
 SUPPORTED_TOOLS = [
     'band_math',
     'clip',


Test patch:
diff --git a/tests/unit/test_data_callbacks.py b/tests/unit/test_data_callbacks.py
index 6a6099e..072b860 100644
--- a/tests/unit/test_data_callbacks.py
+++ b/tests/unit/test_data_callbacks.py
@@ -27,7 +27,6 @@ class MockContext:
 
 @pytest.mark.parametrize("item_types",
                          [
-                             'PSScene3Band',
                              'MOD09GQ',
                              'MYD09GA',
                              'REOrthoTile',
@@ -40,7 +39,6 @@ class MockContext:
                              'Sentinel1',
                              'PSScene',
                              'PSOrthoTile',
-                             'PSScene4Band',
                              'REScene'
                          ])
 def test_item_types_success(item_types):
diff --git a/tests/unit/test_specs.py b/tests/unit/test_specs.py
index f326f76..a4c0276 100644
--- a/tests/unit/test_specs.py
+++ b/tests/unit/test_specs.py
@@ -39,10 +39,7 @@ ALL_PRODUCT_BUNDLES = [
     'analytic_sr',
     'analytic_sr_udm2',
     'analytic_8b_sr_udm2',
-    'basic_uncalibrated_dn_nitf',
-    'basic_uncalibrated_dn_nitf_udm2',
     'basic_analytic_nitf',
-    'basic_analytic_nitf_udm2',
     'basic_panchromatic',
     'basic_panchromatic_dn',
     'panchromatic',
@@ -59,9 +56,7 @@ ALL_ITEM_TYPES = [
     'Sentinel1',
     'REOrthoTile',
     'PSScene',
-    'PSScene4Band',
     'Landsat8L1G',
-    'PSScene3Band',
     'REScene',
     'MOD09GA',
     'MYD09GA',