field-manager-python-client 4.7.15__tar.gz → 4.7.16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (532) hide show
  1. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/PKG-INFO +8 -11
  2. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/README.md +6 -7
  3. field_manager_python_client-4.7.16/field_manager_python_client/__init__.py +20 -0
  4. field_manager_python_client-4.7.16/field_manager_python_client/auth.py +318 -0
  5. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/pyproject.toml +9 -2
  6. field_manager_python_client-4.7.15/field_manager_python_client/__init__.py +0 -14
  7. field_manager_python_client-4.7.15/field_manager_python_client/auth.py +0 -393
  8. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/__init__.py +0 -0
  9. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/__init__.py +0 -0
  10. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/delete_comment_projects_project_id_locations_location_id_comments_comment_id_delete.py +0 -0
  11. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/get_likes_projects_project_id_locations_location_id_comments_comment_id_likes_get.py +0 -0
  12. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/get_location_comments_projects_project_id_locations_location_id_comments_get.py +0 -0
  13. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/get_method_comments_projects_project_id_locations_location_id_methods_method_id_comments_get.py +0 -0
  14. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/like_comment_projects_project_id_locations_location_id_comments_comment_id_likes_post.py +0 -0
  15. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/modify_comment_projects_project_id_locations_location_id_comments_comment_id_text_put.py +0 -0
  16. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/submit_comment_projects_project_id_locations_location_id_comments_post.py +0 -0
  17. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/comments/unlike_comment_projects_project_id_locations_location_id_comments_comment_id_likes_like_id_delete.py +0 -0
  18. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/__init__.py +0 -0
  19. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/create_cross_section_lines_projects_project_id_cross_sections_lines_format_post.py +0 -0
  20. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/create_cross_section_projects_project_id_cross_sections_post.py +0 -0
  21. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/delete_cross_section_projects_project_id_cross_sections_cross_section_id_delete.py +0 -0
  22. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/delete_cross_sections_projects_project_id_cross_sections_delete.py +0 -0
  23. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/get_cross_section_plot_projects_project_id_cross_sections_cross_section_id_format_get.py +0 -0
  24. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/get_cross_section_projects_project_id_cross_sections_cross_section_id_get.py +0 -0
  25. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/get_cross_sections_for_project_projects_project_id_cross_sections_get.py +0 -0
  26. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/cross_sections/update_cross_section_projects_project_id_cross_sections_cross_section_id_put.py +0 -0
  27. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/export/__init__.py +0 -0
  28. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/export/export_files_projects_project_id_export_files_get.py +0 -0
  29. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/export/export_projects_project_id_export_post.py +0 -0
  30. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/__init__.py +0 -0
  31. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/change_file_metadata_projects_project_id_files_file_id_put.py +0 -0
  32. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/download_file_projects_project_id_files_file_id_download_get.py +0 -0
  33. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/download_file_specified_in_token_download_projects_project_id_file_get.py +0 -0
  34. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/download_project_file_download_projects_project_id_file_file_id_get.py +0 -0
  35. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/export_files_via_token_download_projects_project_id_export_files_get.py +0 -0
  36. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/file_token_projects_project_id_files_file_id_token_get.py +0 -0
  37. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/files/project_token_projects_project_id_token_get.py +0 -0
  38. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/gis/__init__.py +0 -0
  39. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/gis/get_coordinate_reference_system_coordinate_reference_system_get.py +0 -0
  40. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/gis/get_locations_in_project_projects_project_id_gis_onshore_get.py +0 -0
  41. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/__init__.py +0 -0
  42. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/create_layer_group_projects_project_id_layer_groups_post.py +0 -0
  43. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/create_organization_layer_group_organizations_organization_id_layer_groups_post.py +0 -0
  44. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/create_organization_soil_unit_organizations_organization_id_layer_groups_layer_group_id_soil_units_post.py +0 -0
  45. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/create_soil_unit_projects_project_id_layer_groups_layer_group_id_soil_units_post.py +0 -0
  46. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_layer_group_projects_project_id_layer_groups_layer_group_id_delete.py +0 -0
  47. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_organization_layer_group_organizations_organization_id_layer_groups_layer_group_id_delete.py +0 -0
  48. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_organization_soil_unit_organizations_organization_id_layer_groups_layer_group_id_soil_units_soil_unit_id_delete.py +0 -0
  49. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_organization_soil_units_organizations_organization_id_layer_groups_layer_group_id_soil_units_delete.py +0 -0
  50. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_soil_unit_projects_project_id_layer_groups_layer_group_id_soil_units_soil_unit_id_delete.py +0 -0
  51. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/delete_soil_units_projects_project_id_layer_groups_layer_group_id_soil_units_delete.py +0 -0
  52. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/export_layer_interpretations_projects_project_id_layer_interpretations_export_post.py +0 -0
  53. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_layer_groups_projects_project_id_layer_groups_get.py +0 -0
  54. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_location_layer_filters_projects_project_id_location_layer_filters_post.py +0 -0
  55. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_location_layer_intervals_projects_project_id_layer_groups_layer_group_id_location_layer_intervals_get.py +0 -0
  56. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_location_layers_projects_project_id_locations_location_id_layer_interpretation_get.py +0 -0
  57. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_organization_layer_groups_organizations_organization_id_layer_groups_get.py +0 -0
  58. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/get_project_organization_layer_groups_projects_project_id_organization_layer_groups_get.py +0 -0
  59. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/patch_organization_soil_unit_organizations_organization_id_layer_groups_layer_group_id_soil_units_soil_unit_id_patch.py +0 -0
  60. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/patch_soil_unit_projects_project_id_layer_groups_layer_group_id_soil_units_soil_unit_id_patch.py +0 -0
  61. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/save_layer_interpretation_projects_project_id_locations_location_id_layer_interpretation_put.py +0 -0
  62. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/layer_interpretations/set_default_layer_group_projects_project_id_layer_groups_layer_group_id_set_default_post.py +0 -0
  63. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/location_types/__init__.py +0 -0
  64. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/location_types/get_location_iogp_type_location_iogp_types_iogp_type_id_get.py +0 -0
  65. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/location_types/get_location_iogp_types_location_iogp_types_get.py +0 -0
  66. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/__init__.py +0 -0
  67. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/add_location_to_project_projects_project_id_locations_post.py +0 -0
  68. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/delete_file_projects_project_id_locations_location_id_files_file_id_delete.py +0 -0
  69. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/delete_location_in_project_projects_project_id_locations_location_id_delete.py +0 -0
  70. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/delete_locations_in_project_projects_project_id_locations_delete.py +0 -0
  71. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/export_projects_project_id_locations_location_id_export_get.py +0 -0
  72. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/get_files_in_location_in_project_projects_project_id_locations_location_id_files_get.py +0 -0
  73. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/get_location_in_project_by_name_projects_project_id_locations_get_by_name_name_get.py +0 -0
  74. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/get_location_in_project_projects_project_id_locations_location_id_get.py +0 -0
  75. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/get_locations_in_project_projects_project_id_locations_get.py +0 -0
  76. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/update_location_in_project_projects_project_id_locations_location_id_put.py +0 -0
  77. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/update_locations_in_project_projects_project_id_locations_put.py +0 -0
  78. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/upload_file_to_location_projects_project_id_locations_location_id_upload_post.py +0 -0
  79. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/locations/upload_locations_to_project_projects_project_id_locations_upload_post.py +0 -0
  80. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/__init__.py +0 -0
  81. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/add_map_layout_to_project_projects_project_id_map_layouts_post.py +0 -0
  82. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/add_map_layout_version_projects_project_id_map_layouts_map_layout_id_versions_post.py +0 -0
  83. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/delete_map_layout_in_project_projects_project_id_map_layouts_map_layout_id_delete.py +0 -0
  84. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/delete_map_layout_version_projects_project_id_map_layouts_map_layout_id_versions_map_layout_version_id_delete.py +0 -0
  85. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/delete_map_layouts_in_project_projects_project_id_map_layouts_delete.py +0 -0
  86. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/get_map_layout_in_project_projects_project_id_map_layouts_map_layout_id_get.py +0 -0
  87. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/get_map_layouts_in_project_projects_project_id_map_layouts_get.py +0 -0
  88. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/update_map_layout_in_project_projects_project_id_map_layouts_map_layout_id_put.py +0 -0
  89. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/map_layouts/update_map_layout_version_projects_project_id_map_layouts_map_layout_id_versions_map_layout_version_id_put.py +0 -0
  90. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/method_types/__init__.py +0 -0
  91. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/method_types/get_method_type_method_types_method_type_id_get.py +0 -0
  92. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/method_types/get_method_types_method_types_get.py +0 -0
  93. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/__init__.py +0 -0
  94. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/add_method_to_location_projects_project_id_locations_location_id_methods_post.py +0 -0
  95. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/add_methods_to_location_batch_projects_project_id_locations_location_id_methods_batch_post.py +0 -0
  96. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/batch_delete_methods_for_location_projects_project_id_locations_location_id_methods_delete.py +0 -0
  97. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/create_data_row_projects_project_id_locations_location_id_methods_method_id_data_post.py +0 -0
  98. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/delete_data_row_projects_project_id_locations_location_id_methods_method_id_data_method_data_id_delete.py +0 -0
  99. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/delete_file_projects_project_id_locations_location_id_methods_method_id_files_file_id_delete.py +0 -0
  100. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/delete_method_for_location_projects_project_id_locations_location_id_methods_method_id_delete.py +0 -0
  101. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/export_projects_project_id_locations_location_id_methods_method_id_export_get.py +0 -0
  102. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/get_files_for_method_projects_project_id_locations_location_id_methods_method_id_files_get.py +0 -0
  103. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/get_method_projects_project_id_locations_location_id_methods_method_id_get.py +0 -0
  104. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/get_methods_data_projects_project_id_locations_location_id_methods_method_id_data_get.py +0 -0
  105. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/get_methods_for_location_of_type_projects_project_id_locations_location_id_methods_type_method_type_name_get.py +0 -0
  106. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/get_methods_for_location_projects_project_id_locations_location_id_methods_get.py +0 -0
  107. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/update_data_row_projects_project_id_locations_location_id_methods_method_id_data_method_data_id_patch.py +0 -0
  108. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/update_data_row_projects_project_id_locations_location_id_methods_method_id_data_method_data_id_put.py +0 -0
  109. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/update_method_for_location_projects_project_id_locations_location_id_methods_method_id_patch.py +0 -0
  110. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/update_method_for_location_projects_project_id_locations_location_id_methods_method_id_put.py +0 -0
  111. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/methods/upload_file_projects_project_id_locations_location_id_methods_method_id_upload_post.py +0 -0
  112. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/nadag/__init__.py +0 -0
  113. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/nadag/get_nadag_sync_status_details_projects_project_id_nadag_sync_status_details_get.py +0 -0
  114. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/nadag/get_nadag_sync_status_projects_project_id_nadag_sync_status_get.py +0 -0
  115. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/nadag/start_nadag_sync_projects_project_id_nadag_sync_post.py +0 -0
  116. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/__init__.py +0 -0
  117. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/add_organization_organizations_post.py +0 -0
  118. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/create_web_map_service_organization_organizations_organization_id_web_map_services_post.py +0 -0
  119. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/delete_file_organizations_organization_id_files_file_id_delete.py +0 -0
  120. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/delete_web_map_service_organization_organizations_organization_id_web_map_services_web_map_service_id_delete.py +0 -0
  121. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/download_file_organizations_organization_id_files_file_id_download_get.py +0 -0
  122. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_files_in_organization_organizations_organization_id_files_get.py +0 -0
  123. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_by_external_id_organizations_get_by_external_id_external_id_get.py +0 -0
  124. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_organizations_organization_id_get.py +0 -0
  125. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_projects_organizations_organization_id_projects_get.py +0 -0
  126. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_users_organizations_organization_id_users_get.py +0 -0
  127. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_web_map_service_organizations_organization_id_web_map_services_web_map_service_id_get.py +0 -0
  128. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organization_web_map_services_organizations_organization_id_web_map_services_get.py +0 -0
  129. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/get_organizations_organizations_get.py +0 -0
  130. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/move_organization_project_organizations_organization_id_projects_project_id_move_post.py +0 -0
  131. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/read_web_map_services_project_projects_project_id_web_map_services_get.py +0 -0
  132. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/update_organization_organizations_organization_id_put.py +0 -0
  133. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/update_web_map_service_organization_organizations_organization_id_web_map_services_web_map_service_id_put.py +0 -0
  134. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/organizations/upload_file_to_organization_organizations_organization_id_upload_post.py +0 -0
  135. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/__init__.py +0 -0
  136. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/create_piezometer_model_projects_project_id_piezometers_models_post.py +0 -0
  137. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/get_piezometer_model_projects_project_id_piezometers_models_model_id_get.py +0 -0
  138. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/get_piezometer_models_projects_project_id_piezometers_models_get.py +0 -0
  139. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/get_piezometer_units_piezometers_units_get.py +0 -0
  140. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/get_piezometer_vendor_projects_project_id_piezometers_vendors_vendor_id_get.py +0 -0
  141. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/get_piezometer_vendors_projects_project_id_piezometers_vendors_get.py +0 -0
  142. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/piezometers/update_piezometer_model_projects_project_id_piezometers_models_model_id_put.py +0 -0
  143. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/plots/__init__.py +0 -0
  144. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/plots/get_plot_from_sequence_plots_project_project_id_format_post.py +0 -0
  145. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/plots/get_plot_preview_for_location_project_project_id_locations_location_id_plots_svg_post.py +0 -0
  146. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/plots/get_plot_projects_project_id_locations_location_id_methods_plots_format_post.py +0 -0
  147. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/plots/get_plot_sequence_plots_project_project_id_plot_sequence_format_post.py +0 -0
  148. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/__init__.py +0 -0
  149. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/create_project_areas_projects_project_id_project_areas_post.py +0 -0
  150. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/delete_project_areas_projects_project_id_project_areas_delete.py +0 -0
  151. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/get_linkable_projects_for_project_area_projects_project_id_project_areas_project_area_id_linkable_projects_get.py +0 -0
  152. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/get_project_areas_for_project_projects_project_id_project_areas_get.py +0 -0
  153. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/project_areas/update_project_areas_projects_project_id_project_areas_patch.py +0 -0
  154. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/__init__.py +0 -0
  155. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/add_project_projects_post.py +0 -0
  156. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/create_web_map_service_project_projects_project_id_web_map_services_post.py +0 -0
  157. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_file_projects_project_id_files_file_id_delete.py +0 -0
  158. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_files_projects_project_id_files_delete.py +0 -0
  159. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_project_favorite_projects_project_id_favorite_delete.py +0 -0
  160. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_project_projects_project_id_delete.py +0 -0
  161. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_projects_projects_delete.py +0 -0
  162. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/delete_web_map_service_project_projects_project_id_web_map_services_web_map_service_id_delete.py +0 -0
  163. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/download_logo_projects_project_id_logo_get.py +0 -0
  164. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_file_in_project_projects_project_id_files_file_id_get.py +0 -0
  165. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_files_in_project_projects_project_id_files_get.py +0 -0
  166. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_linked_projects_projects_project_id_linked_projects_get.py +0 -0
  167. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_project_projects_project_id_get.py +0 -0
  168. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_project_summary_projects_project_id_summary_get.py +0 -0
  169. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_project_users_projects_project_id_users_get.py +0 -0
  170. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/get_projects_projects_get.py +0 -0
  171. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/link_linked_project_projects_project_id_linked_projects_linked_project_id_post.py +0 -0
  172. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/read_web_map_service_project_projects_project_id_web_map_services_web_map_service_id_get.py +0 -0
  173. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/refresh_project_from_citadel_projects_project_id_refresh_from_citadel_post.py +0 -0
  174. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/search_projects_projects_search_post.py +0 -0
  175. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/unlink_linked_project_projects_project_id_linked_projects_linked_project_id_delete.py +0 -0
  176. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/update_project_favorite_projects_project_id_favorite_post.py +0 -0
  177. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/update_project_favorite_projects_project_id_favorite_put.py +0 -0
  178. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/update_project_projects_project_id_put.py +0 -0
  179. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/update_web_map_service_project_projects_project_id_web_map_services_web_map_service_id_put.py +0 -0
  180. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/projects/upload_file_to_project_projects_project_id_upload_post.py +0 -0
  181. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/public/__init__.py +0 -0
  182. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/public/get_organization_by_email_address_public_organizations_email_address_get.py +0 -0
  183. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/public/get_organization_information_public_organizations_organization_id_information_get.py +0 -0
  184. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_containers/__init__.py +0 -0
  185. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_containers/get_sample_container_sample_containers_sample_container_type_id_get.py +0 -0
  186. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_containers/get_sample_containers_sample_containers_get.py +0 -0
  187. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_materials/__init__.py +0 -0
  188. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_materials/get_sample_material_sample_materials_sample_material_id_get.py +0 -0
  189. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sample_materials/get_sample_materials_sample_materials_get.py +0 -0
  190. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampler_types/__init__.py +0 -0
  191. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampler_types/get_sampler_type_sampler_types_sampler_type_id_get.py +0 -0
  192. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampler_types/get_sampler_types_sampler_types_get.py +0 -0
  193. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampling_techniques/__init__.py +0 -0
  194. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampling_techniques/get_sampling_technique_sampling_techniques_sampling_technique_id_get.py +0 -0
  195. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/sampling_techniques/get_sampling_techniques_sampling_techniques_get.py +0 -0
  196. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/__init__.py +0 -0
  197. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/create_shape_projects_project_id_shapes_post.py +0 -0
  198. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/delete_file_from_shape_projects_project_id_shapes_shape_id_files_file_id_delete.py +0 -0
  199. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/delete_shape_files_projects_project_id_shapes_shape_id_files_delete.py +0 -0
  200. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/delete_shape_projects_project_id_shapes_shape_id_delete.py +0 -0
  201. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/delete_shapes_projects_project_id_shapes_delete_delete.py +0 -0
  202. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/get_files_projects_project_id_shapes_shape_id_files_get.py +0 -0
  203. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/get_shape_projects_project_id_shapes_shape_id_get.py +0 -0
  204. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/get_shapes_projects_project_id_shapes_get.py +0 -0
  205. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/update_shape_projects_project_id_shapes_shape_id_put.py +0 -0
  206. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/shapes/upload_file_to_shape_projects_project_id_shapes_shape_id_file_post.py +0 -0
  207. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/standards/__init__.py +0 -0
  208. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/standards/get_project_standards_standards_get.py +0 -0
  209. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/standards/get_standard_standards_standard_id_get.py +0 -0
  210. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/trackers/__init__.py +0 -0
  211. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/trackers/tracker_upload_trackers_upload_post.py +0 -0
  212. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/__init__.py +0 -0
  213. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/add_user_role_users_user_id_roles_post.py +0 -0
  214. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/add_user_users_post.py +0 -0
  215. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/get_users_users_get.py +0 -0
  216. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/remove_user_role_users_user_id_roles_delete.py +0 -0
  217. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/users/set_current_user_nadag_user_id_users_me_nadag_user_id_put.py +0 -0
  218. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/version/__init__.py +0 -0
  219. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/version/get_version_version_get.py +0 -0
  220. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/web_map_services/__init__.py +0 -0
  221. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/web_map_services/create_application_layer_web_map_service_web_map_services_post.py +0 -0
  222. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/web_map_services/delete_application_layer_web_map_service_web_map_services_web_map_service_id_delete.py +0 -0
  223. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/web_map_services/list_application_layer_web_map_services_web_map_services_get.py +0 -0
  224. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/api/web_map_services/update_application_layer_web_map_service_web_map_services_web_map_service_id_put.py +0 -0
  225. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/client.py +0 -0
  226. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/errors.py +0 -0
  227. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/__init__.py +0 -0
  228. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/application_class_enum.py +0 -0
  229. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/background_map_layer.py +0 -0
  230. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/bedrock_info.py +0 -0
  231. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/bedrock_type.py +0 -0
  232. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_create_shape_projects_project_id_shapes_post.py +0 -0
  233. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_file_projects_project_id_locations_location_id_methods_method_id_upload_post.py +0 -0
  234. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_file_to_location_projects_project_id_locations_location_id_upload_post.py +0 -0
  235. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_file_to_organization_organizations_organization_id_upload_post.py +0 -0
  236. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_file_to_project_projects_project_id_upload_post.py +0 -0
  237. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_file_to_shape_projects_project_id_shapes_shape_id_file_post.py +0 -0
  238. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/body_upload_locations_to_project_projects_project_id_locations_upload_post.py +0 -0
  239. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/color_mode.py +0 -0
  240. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/comment.py +0 -0
  241. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/comment_create.py +0 -0
  242. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/comment_update.py +0 -0
  243. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/cpt_options.py +0 -0
  244. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/create_cross_section_lines_projects_project_id_cross_sections_lines_format_post_format.py +0 -0
  245. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/cross_section.py +0 -0
  246. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/cross_section_create.py +0 -0
  247. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/cross_section_update.py +0 -0
  248. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/crs_info.py +0 -0
  249. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/date_format.py +0 -0
  250. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/dp_type.py +0 -0
  251. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/export.py +0 -0
  252. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/export_type.py +0 -0
  253. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file.py +0 -0
  254. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file_extended.py +0 -0
  255. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file_extension.py +0 -0
  256. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file_min.py +0 -0
  257. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file_type.py +0 -0
  258. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/file_update.py +0 -0
  259. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/fm_plot_options.py +0 -0
  260. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/get_cross_section_plot_projects_project_id_cross_sections_cross_section_id_format_get_format.py +0 -0
  261. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/get_location_layers_response.py +0 -0
  262. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/hatch_style_enum.py +0 -0
  263. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/height_reference.py +0 -0
  264. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/http_validation_error.py +0 -0
  265. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/image_size.py +0 -0
  266. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/iogp_type.py +0 -0
  267. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/iogp_type_enum.py +0 -0
  268. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/language.py +0 -0
  269. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_group.py +0 -0
  270. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_group_create.py +0 -0
  271. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_group_with_soil_units.py +0 -0
  272. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_interpretation_export_format.py +0 -0
  273. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_interval_create.py +0 -0
  274. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/layer_interval_with_soil_unit.py +0 -0
  275. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/like.py +0 -0
  276. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/linked_project_info.py +0 -0
  277. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location.py +0 -0
  278. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_coordinates.py +0 -0
  279. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_create.py +0 -0
  280. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_gis.py +0 -0
  281. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_info.py +0 -0
  282. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_export_interval.py +0 -0
  283. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_export_request.py +0 -0
  284. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_export_result.py +0 -0
  285. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_filter_export_result.py +0 -0
  286. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_filter_request.py +0 -0
  287. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_filter_response.py +0 -0
  288. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_filter_result.py +0 -0
  289. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_interval_segment.py +0 -0
  290. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_intervals_response.py +0 -0
  291. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_layer_intervals_result.py +0 -0
  292. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_min.py +0 -0
  293. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_summary.py +0 -0
  294. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_type.py +0 -0
  295. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/location_update.py +0 -0
  296. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout.py +0 -0
  297. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout_create.py +0 -0
  298. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout_update.py +0 -0
  299. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout_version.py +0 -0
  300. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout_version_create.py +0 -0
  301. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_layout_version_update.py +0 -0
  302. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/map_scale.py +0 -0
  303. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ad.py +0 -0
  304. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ad_create.py +0 -0
  305. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ad_update.py +0 -0
  306. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cd.py +0 -0
  307. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cd_create.py +0 -0
  308. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cd_update.py +0 -0
  309. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt.py +0 -0
  310. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt_create.py +0 -0
  311. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt_data.py +0 -0
  312. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt_data_create.py +0 -0
  313. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt_data_update.py +0 -0
  314. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_cpt_update.py +0 -0
  315. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_def.py +0 -0
  316. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_def_create.py +0 -0
  317. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_def_update.py +0 -0
  318. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dp.py +0 -0
  319. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dp_create.py +0 -0
  320. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dp_data.py +0 -0
  321. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dp_data_create.py +0 -0
  322. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dp_update.py +0 -0
  323. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt.py +0 -0
  324. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt_create.py +0 -0
  325. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt_data.py +0 -0
  326. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt_data_create.py +0 -0
  327. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt_data_update.py +0 -0
  328. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_dt_update.py +0 -0
  329. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_esa.py +0 -0
  330. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_esa_create.py +0 -0
  331. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_esa_update.py +0 -0
  332. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_export_type.py +0 -0
  333. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_inc.py +0 -0
  334. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_inc_create.py +0 -0
  335. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_inc_update.py +0 -0
  336. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_info.py +0 -0
  337. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_iw.py +0 -0
  338. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_iw_create.py +0 -0
  339. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_iw_update.py +0 -0
  340. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_min.py +0 -0
  341. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_other.py +0 -0
  342. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_other_create.py +0 -0
  343. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_other_update.py +0 -0
  344. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_plot_format.py +0 -0
  345. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pt.py +0 -0
  346. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pt_create.py +0 -0
  347. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pt_update.py +0 -0
  348. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz.py +0 -0
  349. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz_create.py +0 -0
  350. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz_data.py +0 -0
  351. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz_data_create.py +0 -0
  352. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz_data_update.py +0 -0
  353. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_pz_update.py +0 -0
  354. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd.py +0 -0
  355. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd_create.py +0 -0
  356. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd_data.py +0 -0
  357. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd_data_create.py +0 -0
  358. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd_data_update.py +0 -0
  359. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rcd_update.py +0 -0
  360. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ro.py +0 -0
  361. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ro_create.py +0 -0
  362. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ro_update.py +0 -0
  363. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp.py +0 -0
  364. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp_create.py +0 -0
  365. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp_data.py +0 -0
  366. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp_data_create.py +0 -0
  367. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp_data_update.py +0 -0
  368. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rp_update.py +0 -0
  369. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rs.py +0 -0
  370. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rs_create.py +0 -0
  371. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rs_update.py +0 -0
  372. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rws.py +0 -0
  373. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rws_create.py +0 -0
  374. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_rws_update.py +0 -0
  375. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sa.py +0 -0
  376. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sa_create.py +0 -0
  377. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sa_update.py +0 -0
  378. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb.py +0 -0
  379. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb_create.py +0 -0
  380. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb_data.py +0 -0
  381. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb_data_create.py +0 -0
  382. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb_data_update.py +0 -0
  383. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_slb_update.py +0 -0
  384. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_spt.py +0 -0
  385. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_spt_create.py +0 -0
  386. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_spt_update.py +0 -0
  387. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs.py +0 -0
  388. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs_create.py +0 -0
  389. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs_data.py +0 -0
  390. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs_data_create.py +0 -0
  391. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs_data_update.py +0 -0
  392. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_srs_update.py +0 -0
  393. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss.py +0 -0
  394. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss_create.py +0 -0
  395. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss_data.py +0 -0
  396. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss_data_create.py +0 -0
  397. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss_data_update.py +0 -0
  398. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_ss_update.py +0 -0
  399. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_status_enum.py +0 -0
  400. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti.py +0 -0
  401. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti_create.py +0 -0
  402. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti_data.py +0 -0
  403. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti_data_create.py +0 -0
  404. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti_data_update.py +0 -0
  405. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_sti_update.py +0 -0
  406. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_summary.py +0 -0
  407. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt.py +0 -0
  408. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt_create.py +0 -0
  409. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt_data.py +0 -0
  410. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt_data_create.py +0 -0
  411. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt_data_update.py +0 -0
  412. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_svt_update.py +0 -0
  413. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot.py +0 -0
  414. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot_create.py +0 -0
  415. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot_data.py +0 -0
  416. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot_data_create.py +0 -0
  417. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot_data_update.py +0 -0
  418. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tot_update.py +0 -0
  419. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tp.py +0 -0
  420. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tp_create.py +0 -0
  421. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tp_update.py +0 -0
  422. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr.py +0 -0
  423. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr_create.py +0 -0
  424. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr_data.py +0 -0
  425. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr_data_create.py +0 -0
  426. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr_data_update.py +0 -0
  427. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_tr_update.py +0 -0
  428. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_type.py +0 -0
  429. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_type_enum.py +0 -0
  430. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_type_enum_str.py +0 -0
  431. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst.py +0 -0
  432. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst_create.py +0 -0
  433. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst_data.py +0 -0
  434. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst_data_create.py +0 -0
  435. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst_data_update.py +0 -0
  436. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/method_wst_update.py +0 -0
  437. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_blocker.py +0 -0
  438. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_blocker_code.py +0 -0
  439. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_failed_entity_type.py +0 -0
  440. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_failed_sync.py +0 -0
  441. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_message.py +0 -0
  442. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_overview_status.py +0 -0
  443. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_ready_items.py +0 -0
  444. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_ready_location.py +0 -0
  445. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_ready_method.py +0 -0
  446. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_ready_project.py +0 -0
  447. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_ready_report.py +0 -0
  448. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_status.py +0 -0
  449. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_status_counts.py +0 -0
  450. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_sync_status_details.py +0 -0
  451. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_user_id_response.py +0 -0
  452. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/nadag_user_id_update.py +0 -0
  453. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/operation.py +0 -0
  454. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/options.py +0 -0
  455. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization.py +0 -0
  456. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization_create.py +0 -0
  457. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization_information.py +0 -0
  458. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization_layer_group_create.py +0 -0
  459. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization_min.py +0 -0
  460. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/organization_update.py +0 -0
  461. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/orientation.py +0 -0
  462. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/page_number_prefix_by_method.py +0 -0
  463. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/page_number_start_per_method.py +0 -0
  464. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/paper_size.py +0 -0
  465. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_options.py +0 -0
  466. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_options_date_format.py +0 -0
  467. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_options_lang.py +0 -0
  468. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_options_paper_size.py +0 -0
  469. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_options_sort_figures_by.py +0 -0
  470. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pdf_page_info.py +0 -0
  471. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/piezometer_model.py +0 -0
  472. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/piezometer_model_create.py +0 -0
  473. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/piezometer_model_update.py +0 -0
  474. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/piezometer_type.py +0 -0
  475. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/piezometer_vendor.py +0 -0
  476. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/pizeometer_units.py +0 -0
  477. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_data_stats.py +0 -0
  478. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_data_stats_percentiles.py +0 -0
  479. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_format.py +0 -0
  480. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_info_object.py +0 -0
  481. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_info_object_stats_type_0.py +0 -0
  482. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_sequence.py +0 -0
  483. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_sequence_options.py +0 -0
  484. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/plot_type.py +0 -0
  485. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project.py +0 -0
  486. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_area.py +0 -0
  487. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_area_create.py +0 -0
  488. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_area_linkable_project.py +0 -0
  489. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_area_update.py +0 -0
  490. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_create.py +0 -0
  491. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_info.py +0 -0
  492. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_role_enum.py +0 -0
  493. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_search.py +0 -0
  494. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_summary.py +0 -0
  495. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/project_update.py +0 -0
  496. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/reading_type.py +0 -0
  497. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/role.py +0 -0
  498. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/role_create.py +0 -0
  499. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/role_entity_enum.py +0 -0
  500. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/role_enum.py +0 -0
  501. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sample_container_type.py +0 -0
  502. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sample_material.py +0 -0
  503. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sampler_type.py +0 -0
  504. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sampling_technique.py +0 -0
  505. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/save_layer_interpretation_request.py +0 -0
  506. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/save_layer_interpretation_response.py +0 -0
  507. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/scales.py +0 -0
  508. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/scaling_mode.py +0 -0
  509. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/shape.py +0 -0
  510. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/shape_color.py +0 -0
  511. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/shape_update.py +0 -0
  512. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/soil_type_enum.py +0 -0
  513. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/soil_unit.py +0 -0
  514. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/soil_unit_create.py +0 -0
  515. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/soil_unit_patch.py +0 -0
  516. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sounding_class.py +0 -0
  517. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/standard.py +0 -0
  518. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/standard_type.py +0 -0
  519. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sub_shape.py +0 -0
  520. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/sync_status.py +0 -0
  521. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/transformation_type.py +0 -0
  522. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/user.py +0 -0
  523. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/user_create_request.py +0 -0
  524. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/validation_error.py +0 -0
  525. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/validation_error_context.py +0 -0
  526. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/web_map_service.py +0 -0
  527. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/web_map_service_create.py +0 -0
  528. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/web_map_service_level.py +0 -0
  529. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/web_map_service_type.py +0 -0
  530. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/models/web_map_service_update.py +0 -0
  531. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/py.typed +0 -0
  532. {field_manager_python_client-4.7.15 → field_manager_python_client-4.7.16}/field_manager_python_client/types.py +0 -0
@@ -1,15 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: field-manager-python-client
3
- Version: 4.7.15
3
+ Version: 4.7.16
4
4
  Summary: A client library for accessing Field Manager Data API
5
5
  Author: Jiyang Ye
6
6
  Author-email: jiyang.ye@ngi.no
7
7
  Maintainer: Jiyang Ye
8
8
  Maintainer-email: jiyang.ye@ngi.no
9
- Requires-Python: >=3.9,<4.0
9
+ Requires-Python: >=3.11,<4.0
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.9
12
- Classifier: Programming Language :: Python :: 3.10
13
11
  Classifier: Programming Language :: Python :: 3.11
14
12
  Classifier: Programming Language :: Python :: 3.12
15
13
  Requires-Dist: attrs (>=22.2.0)
@@ -32,13 +30,12 @@ pip install field_manager_python_client python-keycloak
32
30
 
33
31
  ### Authentication
34
32
 
35
- The easiest way to get started is using the built-in authentication functions:
33
+ The easiest way to get started for scripting is using the built-in device-code helper:
36
34
 
37
35
  ```python
38
- from field_manager_python_client import get_prod_client
36
+ from field_manager_python_client import get_prod_device_code_client
39
37
 
40
- # Authenticate with your Field Manager account
41
- client = get_prod_client(email="your.email@example.com")
38
+ client = get_prod_device_code_client()
42
39
  ```
43
40
 
44
41
  ### Basic Usage
@@ -53,11 +50,11 @@ print(f"Project: {project_info.name}")
53
50
 
54
51
  ## 🔐 Authentication Options
55
52
 
56
- ### 1. Integrated Authentication (Recommended)
53
+ ### 1. Device Code Authentication (Recommended)
57
54
  ```python
58
- from field_manager_python_client import authenticate
55
+ from field_manager_python_client import authenticate_with_device_code
59
56
 
60
- client = authenticate(environment="prod", email="user@example.com")
57
+ client = authenticate_with_device_code(environment="prod")
61
58
  ```
62
59
 
63
60
  ### 2. Manual Token Setup
@@ -11,13 +11,12 @@ pip install field_manager_python_client python-keycloak
11
11
 
12
12
  ### Authentication
13
13
 
14
- The easiest way to get started is using the built-in authentication functions:
14
+ The easiest way to get started for scripting is using the built-in device-code helper:
15
15
 
16
16
  ```python
17
- from field_manager_python_client import get_prod_client
17
+ from field_manager_python_client import get_prod_device_code_client
18
18
 
19
- # Authenticate with your Field Manager account
20
- client = get_prod_client(email="your.email@example.com")
19
+ client = get_prod_device_code_client()
21
20
  ```
22
21
 
23
22
  ### Basic Usage
@@ -32,11 +31,11 @@ print(f"Project: {project_info.name}")
32
31
 
33
32
  ## 🔐 Authentication Options
34
33
 
35
- ### 1. Integrated Authentication (Recommended)
34
+ ### 1. Device Code Authentication (Recommended)
36
35
  ```python
37
- from field_manager_python_client import authenticate
36
+ from field_manager_python_client import authenticate_with_device_code
38
37
 
39
- client = authenticate(environment="prod", email="user@example.com")
38
+ client = authenticate_with_device_code(environment="prod")
40
39
  ```
41
40
 
42
41
  ### 2. Manual Token Setup
@@ -0,0 +1,20 @@
1
+ """A client library for accessing Field Manager Data API"""
2
+
3
+ from .auth import (
4
+ TokenManager,
5
+ authenticate_with_device_code,
6
+ get_prod_device_code_client,
7
+ get_service_account_client,
8
+ get_test_device_code_client,
9
+ )
10
+ from .client import AuthenticatedClient, Client
11
+
12
+ __all__ = (
13
+ "AuthenticatedClient",
14
+ "Client",
15
+ "authenticate_with_device_code",
16
+ "get_test_device_code_client",
17
+ "get_prod_device_code_client",
18
+ "get_service_account_client",
19
+ "TokenManager",
20
+ )
@@ -0,0 +1,318 @@
1
+ """Authentication helpers for the Field Manager Python Client."""
2
+
3
+ import json
4
+ import os
5
+ import time
6
+ import webbrowser
7
+ from typing import Any, Literal
8
+
9
+ import httpx
10
+
11
+ try:
12
+ from keycloak import KeycloakOpenID
13
+ except ImportError:
14
+ raise ImportError("python-keycloak is required for authentication. Install it with: pip install python-keycloak")
15
+
16
+ from .client import AuthenticatedClient
17
+
18
+ # Environment configurations
19
+ ENVIRONMENTS = {
20
+ "test": {
21
+ "KEYCLOAK_SERVER_URL": "https://keycloak.test.ngiapi.no/auth/",
22
+ "KEYCLOAK_REALM": "tenant-geohub-public",
23
+ "KEYCLOAK_DEVICE_CLIENT_ID": "fieldmanager-devicecode-client",
24
+ "BASE_URL": "https://app.test.fieldmanager.io/api/location",
25
+ },
26
+ "prod": {
27
+ "KEYCLOAK_SERVER_URL": "https://keycloak.ngiapi.no/auth/",
28
+ "KEYCLOAK_REALM": "tenant-geohub-public",
29
+ "KEYCLOAK_DEVICE_CLIENT_ID": "fieldmanager-devicecode-client",
30
+ "BASE_URL": "https://app.fieldmanager.io/api/location",
31
+ },
32
+ }
33
+
34
+ DEFAULT_SCOPE = "openid"
35
+
36
+
37
+ class TokenManager:
38
+ """Manages OAuth2 tokens with automatic refresh capabilities."""
39
+
40
+ def __init__(
41
+ self,
42
+ keycloak_openid: KeycloakOpenID,
43
+ initial_token: dict[str, Any] | None = None,
44
+ token_file: str | None = None,
45
+ ):
46
+ """
47
+ Initialize the TokenManager.
48
+
49
+ Args:
50
+ keycloak_openid: The Keycloak OpenID client
51
+ initial_token: Optional initial token data
52
+ token_file: Optional path to token storage file
53
+ """
54
+ self.keycloak = keycloak_openid
55
+ self.token_file = token_file or "token_store.json"
56
+
57
+ if initial_token:
58
+ self.access_token = initial_token["access_token"]
59
+ self.refresh_token = initial_token.get("refresh_token")
60
+ self.expires_at = time.time() + initial_token["expires_in"]
61
+ else:
62
+ self.access_token = None
63
+ self.refresh_token = None
64
+ self.expires_at = 0
65
+
66
+ def save_tokens(self) -> None:
67
+ """Save tokens to a file."""
68
+ try:
69
+ with open(self.token_file, "w") as f:
70
+ json.dump(
71
+ {
72
+ "access_token": self.access_token,
73
+ "refresh_token": self.refresh_token,
74
+ "expires_at": self.expires_at,
75
+ },
76
+ f,
77
+ )
78
+ except Exception as e:
79
+ print(f"Unable to save tokens. Error: {e}")
80
+
81
+ def load_tokens(self) -> None:
82
+ """Load tokens from a file if it exists."""
83
+ if os.path.exists(self.token_file):
84
+ try:
85
+ with open(self.token_file) as f:
86
+ data = json.load(f)
87
+ self.access_token = data.get("access_token")
88
+ self.refresh_token = data.get("refresh_token")
89
+ self.expires_at = data.get("expires_at", 0)
90
+ except Exception as e:
91
+ print(f"Unable to load tokens. Error: {e}")
92
+
93
+ def is_access_token_valid(self) -> bool:
94
+ """Check if the access token is still valid (with 60-second buffer)."""
95
+ return time.time() < self.expires_at - 60
96
+
97
+ def refresh_access_token(self) -> bool:
98
+ """Attempt to refresh the token using the refresh token."""
99
+ if not self.refresh_token:
100
+ return False
101
+ try:
102
+ new_token = self.keycloak.refresh_token(self.refresh_token)
103
+ self.access_token = new_token["access_token"]
104
+ self.refresh_token = new_token.get("refresh_token", self.refresh_token)
105
+ self.expires_at = time.time() + new_token["expires_in"]
106
+ self.save_tokens()
107
+ return True
108
+ except Exception as e:
109
+ print(f"Failed to refresh access token. Error: {e}")
110
+ return False
111
+
112
+ def get_valid_token(self) -> str | None:
113
+ """Return a valid access token, refreshing if necessary."""
114
+ if self.is_access_token_valid():
115
+ return self.access_token
116
+ elif self.refresh_access_token():
117
+ return self.access_token
118
+ else:
119
+ return None
120
+
121
+
122
+ def _get_device_auth_url(env_config: dict[str, str]) -> str:
123
+ realm = env_config["KEYCLOAK_REALM"]
124
+ server_url = env_config["KEYCLOAK_SERVER_URL"].rstrip("/")
125
+ return f"{server_url}/realms/{realm}/protocol/openid-connect/auth/device"
126
+
127
+
128
+ def _get_token_url(env_config: dict[str, str]) -> str:
129
+ realm = env_config["KEYCLOAK_REALM"]
130
+ server_url = env_config["KEYCLOAK_SERVER_URL"].rstrip("/")
131
+ return f"{server_url}/realms/{realm}/protocol/openid-connect/token"
132
+
133
+
134
+ def _request_device_code(env_config: dict[str, str], scope: str = DEFAULT_SCOPE) -> dict[str, Any]:
135
+ payload = {
136
+ "client_id": env_config["KEYCLOAK_DEVICE_CLIENT_ID"],
137
+ "scope": scope,
138
+ }
139
+ response = httpx.post(_get_device_auth_url(env_config), data=payload, timeout=30.0)
140
+ response.raise_for_status()
141
+ return response.json()
142
+
143
+
144
+ def _poll_for_device_token(
145
+ env_config: dict[str, str], device_code: str, interval: int, expires_in: int
146
+ ) -> dict[str, Any]:
147
+ payload = {
148
+ "grant_type": "urn:ietf:params:oauth:grant-type:device_code",
149
+ "client_id": env_config["KEYCLOAK_DEVICE_CLIENT_ID"],
150
+ "device_code": device_code,
151
+ }
152
+ deadline = time.time() + expires_in
153
+ current_interval = interval
154
+
155
+ while time.time() < deadline:
156
+ response = httpx.post(_get_token_url(env_config), data=payload, timeout=30.0)
157
+ try:
158
+ data = response.json()
159
+ except ValueError as exc:
160
+ raise RuntimeError(
161
+ f"Device code token request returned non-JSON response (status={response.status_code}): {response.text}"
162
+ ) from exc
163
+
164
+ if response.is_success and "access_token" in data:
165
+ return data
166
+ if data.get("error") == "authorization_pending":
167
+ print("Waiting for user authorization...")
168
+ time.sleep(current_interval)
169
+ continue
170
+ if data.get("error") == "slow_down":
171
+ current_interval += 5
172
+ time.sleep(current_interval)
173
+ continue
174
+ if data.get("error") == "expired_token":
175
+ break
176
+
177
+ raise RuntimeError(f"Device code token request failed: {data}")
178
+
179
+ raise RuntimeError("Device code expired before authorization completed.")
180
+
181
+
182
+ def authenticate_with_device_code(
183
+ environment: Literal["test", "prod"] = "test",
184
+ scope: str = "openid profile email offline_access",
185
+ token_file: str | None = None,
186
+ open_browser: bool = True,
187
+ ) -> AuthenticatedClient:
188
+ """
189
+ Authenticate with Field Manager using OAuth2 Device Authorization Grant.
190
+
191
+ This flow is intended for interactive scripting, especially for external
192
+ users who need an API token without using the Field Manager Developer Portal.
193
+
194
+ Args:
195
+ environment: Either "test" or "prod" environment
196
+ scope: OAuth2 scope requested for the device-code flow
197
+ token_file: Path to token storage file (default: "token_store.json")
198
+ open_browser: Whether to automatically open the verification URL
199
+
200
+ Returns:
201
+ AuthenticatedClient instance ready to use
202
+ """
203
+ if environment not in ENVIRONMENTS:
204
+ raise ValueError(f"Environment must be one of: {list(ENVIRONMENTS.keys())}")
205
+
206
+ env_config = ENVIRONMENTS[environment]
207
+ keycloak_openid = KeycloakOpenID(
208
+ server_url=env_config["KEYCLOAK_SERVER_URL"],
209
+ client_id=env_config["KEYCLOAK_DEVICE_CLIENT_ID"],
210
+ realm_name=env_config["KEYCLOAK_REALM"],
211
+ )
212
+
213
+ token_manager = TokenManager(keycloak_openid, token_file=token_file)
214
+ token_manager.load_tokens()
215
+
216
+ valid_token = token_manager.get_valid_token()
217
+ if valid_token:
218
+ print("Using cached tokens.")
219
+ return AuthenticatedClient(base_url=env_config["BASE_URL"], token=valid_token)
220
+
221
+ print("Requesting device authorization...")
222
+ device_data = _request_device_code(env_config, scope=scope)
223
+ verification_uri_complete = device_data.get("verification_uri_complete")
224
+ verification_uri = device_data.get("verification_uri")
225
+ user_code = device_data.get("user_code")
226
+
227
+ print("\n=== ACTION REQUIRED ===")
228
+ if verification_uri_complete:
229
+ print("Open this URL in your browser:")
230
+ print(verification_uri_complete)
231
+ if verification_uri:
232
+ print("\nManual fallback URL:")
233
+ print(verification_uri)
234
+ if user_code:
235
+ print(f"\nUser code: {user_code}")
236
+ print("========================\n")
237
+
238
+ if open_browser and verification_uri_complete:
239
+ webbrowser.open_new(verification_uri_complete)
240
+
241
+ token = _poll_for_device_token(
242
+ env_config=env_config,
243
+ device_code=device_data["device_code"],
244
+ interval=int(device_data.get("interval", 5)),
245
+ expires_in=int(device_data.get("expires_in", 600)),
246
+ )
247
+
248
+ token_manager = TokenManager(keycloak_openid, token, token_file=token_file)
249
+ token_manager.save_tokens()
250
+ print("Authentication successful. Client is ready to use.")
251
+ return AuthenticatedClient(base_url=env_config["BASE_URL"], token=token_manager.get_valid_token())
252
+
253
+
254
+ def get_test_device_code_client(**kwargs) -> AuthenticatedClient:
255
+ """Convenience method to get a device-code authenticated client for the test environment."""
256
+ return authenticate_with_device_code(environment="test", **kwargs)
257
+
258
+
259
+ def get_prod_device_code_client(**kwargs) -> AuthenticatedClient:
260
+ """Convenience method to get a device-code authenticated client for the production environment."""
261
+ return authenticate_with_device_code(environment="prod", **kwargs)
262
+
263
+
264
+ def get_service_account_client(
265
+ environment: Literal["test", "prod"] = "test",
266
+ client_id: str | None = None,
267
+ client_secret: str | None = None,
268
+ ) -> AuthenticatedClient:
269
+ """
270
+ Authenticate using a dedicated Keycloak service-account client.
271
+
272
+ This flow is intended for server-to-server automation. The client must be a
273
+ dedicated confidential client created for the requesting integration, not
274
+ the shared interactive `fieldmanager-client`.
275
+
276
+ Args:
277
+ environment: Either "test" or "prod" environment
278
+ client_id: Dedicated Keycloak client ID. Falls back to the
279
+ KEYCLOAK_SERVICE_ACCOUNT_CLIENT_ID environment variable.
280
+ client_secret: Dedicated Keycloak client secret. Falls back to the
281
+ KEYCLOAK_CLIENT_SECRET environment variable.
282
+
283
+ Returns:
284
+ AuthenticatedClient for the requested environment
285
+
286
+ Raises:
287
+ ValueError: If environment is invalid or required parameters are missing
288
+ """
289
+ if environment not in ENVIRONMENTS:
290
+ raise ValueError(f"Environment must be one of: {list(ENVIRONMENTS.keys())}")
291
+
292
+ env_config = ENVIRONMENTS[environment]
293
+ resolved_client_id = client_id or os.getenv("KEYCLOAK_SERVICE_ACCOUNT_CLIENT_ID")
294
+ resolved_client_secret = client_secret or os.getenv("KEYCLOAK_CLIENT_SECRET")
295
+
296
+ if not resolved_client_id:
297
+ raise ValueError(
298
+ "A dedicated service-account client ID is required. Pass client_id or set "
299
+ "KEYCLOAK_SERVICE_ACCOUNT_CLIENT_ID."
300
+ )
301
+ if resolved_client_id == env_config["KEYCLOAK_DEVICE_CLIENT_ID"]:
302
+ raise ValueError(
303
+ "Service-account authentication requires a dedicated client ID, "
304
+ f"not the shared device-code client {env_config['KEYCLOAK_DEVICE_CLIENT_ID']!r}."
305
+ )
306
+ if not resolved_client_secret:
307
+ raise ValueError(
308
+ "A dedicated service-account client secret is required. Pass client_secret or set KEYCLOAK_CLIENT_SECRET."
309
+ )
310
+
311
+ keycloak_openid = KeycloakOpenID(
312
+ server_url=env_config["KEYCLOAK_SERVER_URL"],
313
+ client_id=resolved_client_id,
314
+ realm_name=env_config["KEYCLOAK_REALM"],
315
+ client_secret_key=resolved_client_secret,
316
+ )
317
+ token = keycloak_openid.token(grant_type="client_credentials")
318
+ return AuthenticatedClient(base_url=env_config["BASE_URL"], token=token["access_token"])
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "field-manager-python-client"
3
- version = "4.7.15"
3
+ version = "4.7.16"
4
4
  description = "A client library for accessing Field Manager Data API"
5
5
  authors = ["Jiyang Ye <jiyang.ye@ngi.no>"]
6
6
  maintainers = ["Jiyang Ye <jiyang.ye@ngi.no>", "Jostein Leira <jostein.leira@ngi.no>"]
@@ -12,13 +12,20 @@ include = ["CHANGELOG.md", "field_manager_python_client/py.typed"]
12
12
 
13
13
 
14
14
  [tool.poetry.dependencies]
15
- python = "^3.9"
15
+ python = "^3.11"
16
16
  httpx = ">=0.23.0,<0.29.0"
17
17
  attrs = ">=22.2.0"
18
18
  python-dateutil = "^2.8.0"
19
19
  python-keycloak = "^5.5.0"
20
20
  python-dotenv = "^1.0.1"
21
21
 
22
+ [tool.poetry.group.examples]
23
+ optional = true
24
+
25
+ [tool.poetry.group.examples.dependencies]
26
+ pandas = "^3.0.5"
27
+ openpyxl = "^3.1.5"
28
+
22
29
  [build-system]
23
30
  requires = ["poetry-core>=1.0.0"]
24
31
  build-backend = "poetry.core.masonry.api"
@@ -1,14 +0,0 @@
1
- """A client library for accessing Field Manager Data API"""
2
-
3
- from .auth import TokenManager, authenticate, get_prod_client, get_service_account_client, get_test_client
4
- from .client import AuthenticatedClient, Client
5
-
6
- __all__ = (
7
- "AuthenticatedClient",
8
- "Client",
9
- "authenticate",
10
- "get_test_client",
11
- "get_prod_client",
12
- "get_service_account_client",
13
- "TokenManager",
14
- )