Hi Fergus,
QGIS may by default read additional metadata from the xml files but if you want to accomplish that in Python you will have to code it. The advantage would be that, as Planet data follows a standard structure, you could write a function an get that information for any given product.
If you choose to get the data with the Data API for example, before activating and downloading a product you get information (see below) where it would be easier to extract metadata (provided as a dict).
{'_links': {'_self': 'https://api.planet.com/data/v1/item-types/PSScene/items/20230225_063225_94_2475',
'assets': 'https://api.planet.com/data/v1/item-types/PSScene/items/20230225_063225_94_2475/assets/',
'thumbnail': 'https://tiles.planet.com/data/v1/item-types/PSScene/items/20230225_063225_94_2475/thumb'},
'_permissions': ['assets.basic_analytic_4b:download',
'assets.basic_analytic_4b_rpc:download',
'assets.basic_analytic_4b_xml:download',
'assets.basic_analytic_8b:download',
'assets.basic_analytic_8b_xml:download',
'assets.basic_udm2:download',
'assets.ortho_analytic_4b:download',
'assets.ortho_analytic_4b_sr:download',
'assets.ortho_analytic_4b_xml:download',
'assets.ortho_analytic_8b:download',
'assets.ortho_analytic_8b_sr:download',
'assets.ortho_analytic_8b_xml:download',
'assets.ortho_udm2:download',
'assets.ortho_visual:download'],
'assets': ['basic_analytic_4b',
'basic_analytic_4b_rpc',
'basic_analytic_4b_xml',
'basic_analytic_8b',
'basic_analytic_8b_xml',
'basic_udm2',
'ortho_analytic_4b',
'ortho_analytic_4b_sr',
'ortho_analytic_4b_xml',
'ortho_analytic_8b',
'ortho_analytic_8b_sr',
'ortho_analytic_8b_xml',
'ortho_udm2',
'ortho_visual'],
'geometry': {'coordinates': [[[55.11886521973737, 25.15859199695998],
[55.07899425546471, 24.97703764034052],
[55.4126054348449, 24.916315069779486],
[55.45289067296136, 25.096670823823267],
[55.11886521973737, 25.15859199695998]]],
'type': 'Polygon'},
'id': '20230225_063225_94_2475',
'properties': {'acquired': '2023-02-25T06:32:25.946409Z',
'anomalous_pixels': 0,
'clear_confidence_percent': 92,
'clear_percent': 100,
'cloud_cover': 0,
'cloud_percent': 0,
'ground_control': True,
'gsd': 3.9,
'heavy_haze_percent': 0,
'instrument': 'PSB.SD',
'item_type': 'PSScene',
'light_haze_percent': 0,
'pixel_resolution': 3,
'provider': 'planetscope',
'published': '2023-02-25T10:11:15Z',
'publishing_stage': 'finalized',
'quality_category': 'standard',
'satellite_azimuth': 99.7,
'satellite_id': '2475',
'shadow_percent': 0,
'snow_ice_percent': 0,
'strip_id': '6312017',
'sun_azimuth': 136.2,
'sun_elevation': 45.4,
'updated': '2023-02-27T02:43:59Z',
'view_angle': 4.5,
'visible_confidence_percent': 73,
'visible_percent': 100},
'type': 'Feature'}
Miguel