El archivo GPKG contiene varias clases de características. Puedo crear una capa a una featureclass específica utilizando QgsVectorLayer pero siempre apunta a la primera FC en el archivo gpkg.
Este es un script python independiente, no la consola bajo la GUI.
output_gpkg = r'W:\srm\wml\Workarea\mamcgirr\Q_universal_overlap_tool\work\qscript_outputs\one_status_common_datasets_debug_version_dqu_shape_2.gpkg |layername = Legal_OGMA'
fc_input_layer = QgsVectorLayer(output_gpkg, 'test', 'ogr')
if not fc_input_layer.isValid():
print("layer invalid.")
else:
print("layer valid.")
for field in fc_input_layer.fields():
print(field.name(), field.typeName())