ffbb-data-client 2.1.0__tar.gz → 2.2.0__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 (345) hide show
  1. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/scripts/check_wrapper_parity.py +17 -4
  2. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/CHANGELOG.md +20 -0
  3. {ffbb_data_client-2.1.0/src/ffbb_data_client.egg-info → ffbb_data_client-2.2.0}/PKG-INFO +11 -8
  4. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/README.md +9 -6
  5. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/RELEASE_NOTES.md +26 -1
  6. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/pyproject.toml +1 -0
  7. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/clients/__init__.py +4 -0
  8. ffbb_data_client-2.1.0/src/ffbb_data_client/clients/ffbb_data_client.py → ffbb_data_client-2.2.0/src/ffbb_data_client/clients/_rest_facade.py +349 -1539
  9. ffbb_data_client-2.2.0/src/ffbb_data_client/clients/_search_facade.py +1046 -0
  10. ffbb_data_client-2.2.0/src/ffbb_data_client/clients/ffbb_data_client.py +270 -0
  11. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/cache_manager.py +2 -2
  12. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0/src/ffbb_data_client.egg-info}/PKG-INFO +11 -8
  13. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client.egg-info/SOURCES.txt +3 -1
  14. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_201_unit_tests_core.py +4 -4
  15. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_210_targeted_clients_helpers_coverage.py +11 -9
  16. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tox.ini +1 -1
  17. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.coveragerc +0 -0
  18. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/dependabot.yml +0 -0
  19. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/check_wrapper_parity.yml +0 -0
  20. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/ci.yml +0 -0
  21. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/codeql.yml +0 -0
  22. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/deploy-pages.yml +0 -0
  23. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/publish.yml +0 -0
  24. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/release-after-discovery-merge.yml +0 -0
  25. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.github/workflows/update-ffbb-api-discovery.yml +0 -0
  26. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.gitignore +0 -0
  27. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.isort.cfg +0 -0
  28. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.jules/bolt.md +0 -0
  29. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.pre-commit-config.yaml +0 -0
  30. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/.readthedocs.yml +0 -0
  31. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/AUTHORS.rst +0 -0
  32. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/CONTRIBUTING.rst +0 -0
  33. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/LICENSE.txt +0 -0
  34. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/LOCAL_CI_GUIDE.md +0 -0
  35. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/SECURITY.md +0 -0
  36. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/api.ffbb.app.json +0 -0
  37. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/api_update_summary.md +0 -0
  38. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/collections.json +0 -0
  39. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/endpoint_discovery.json +0 -0
  40. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/indexes.json +0 -0
  41. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/meilisearch-prod.ffbb.app.json +0 -0
  42. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/openapi.json +0 -0
  43. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/openapi_full.json +0 -0
  44. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/data/type_discovery_corrections.json +0 -0
  45. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/Makefile +0 -0
  46. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/_static/.gitignore +0 -0
  47. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/architecture.rst +0 -0
  48. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/authors.rst +0 -0
  49. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/changelog.rst +0 -0
  50. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/conf.py +0 -0
  51. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/contributing.rst +0 -0
  52. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/examples.rst +0 -0
  53. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/index.rst +0 -0
  54. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/license.rst +0 -0
  55. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/migration.rst +0 -0
  56. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/readme.rst +0 -0
  57. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/requirements.txt +0 -0
  58. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/test_strategy.md +0 -0
  59. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/docs/testing_conventions.md +0 -0
  60. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/examples/README.md +0 -0
  61. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/examples/complete_usage_example.py +0 -0
  62. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/examples/quick_start.py +0 -0
  63. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/examples/team_ranking_analysis.py +0 -0
  64. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/pytest.ini +0 -0
  65. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/run-ci-locally.sh +0 -0
  66. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0/scripts}/benchmark_search_organisme.py +0 -0
  67. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/scripts/discover_endpoints.py +0 -0
  68. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/scripts/discover_types.py +0 -0
  69. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/setup.cfg +1 -1
  70. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/setup.py +0 -0
  71. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/__init__.py +0 -0
  72. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/clients/api_ffbb_app_client.py +0 -0
  73. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/clients/meilisearch_client.py +0 -0
  74. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/clients/meilisearch_ffbb_client.py +0 -0
  75. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/config.py +0 -0
  76. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/__init__.py +0 -0
  77. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/collections.json +0 -0
  78. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/endpoint_discovery.json +0 -0
  79. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/indexes.json +0 -0
  80. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/openapi.json +0 -0
  81. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/data/openapi_full.json +0 -0
  82. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/helpers/__init__.py +0 -0
  83. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/helpers/http_requests_helper.py +0 -0
  84. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/helpers/http_requests_utils.py +0 -0
  85. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/helpers/meilisearch_client_extension.py +0 -0
  86. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/helpers/multi_search_query_helper.py +0 -0
  87. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/__init__.py +0 -0
  88. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/affiche.py +0 -0
  89. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/cartographie.py +0 -0
  90. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/categorie.py +0 -0
  91. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/categorie_type.py +0 -0
  92. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/clock.py +0 -0
  93. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/club_contacts.py +0 -0
  94. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/code.py +0 -0
  95. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/commune.py +0 -0
  96. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_fields.py +0 -0
  97. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_id.py +0 -0
  98. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_id_categorie.py +0 -0
  99. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_id_sexe.py +0 -0
  100. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_id_type_competition.py +0 -0
  101. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_id_type_competition_generique.py +0 -0
  102. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_origine.py +0 -0
  103. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_origine_categorie.py +0 -0
  104. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_origine_type_competition.py +0 -0
  105. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_origine_type_competition_generique.py +0 -0
  106. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competition_type.py +0 -0
  107. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competitions_facet_distribution.py +0 -0
  108. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competitions_facet_stats.py +0 -0
  109. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competitions_hit.py +0 -0
  110. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competitions_multi_search_query.py +0 -0
  111. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/competitions_query.py +0 -0
  112. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/configuration_models.py +0 -0
  113. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/contact_info.py +0 -0
  114. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/content_multi_search_query.py +0 -0
  115. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/coordonnees.py +0 -0
  116. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/coordonnees_type.py +0 -0
  117. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/document_flyer.py +0 -0
  118. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/document_flyer_type.py +0 -0
  119. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/engagement_contacts.py +0 -0
  120. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/engagements_facet_distribution.py +0 -0
  121. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/engagements_facet_stats.py +0 -0
  122. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/engagements_hit.py +0 -0
  123. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/engagements_multi_search_query.py +0 -0
  124. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/etat.py +0 -0
  125. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/external_competition_id.py +0 -0
  126. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/external_id.py +0 -0
  127. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/facet_distribution.py +0 -0
  128. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/facet_stats.py +0 -0
  129. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/field_set.py +0 -0
  130. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/folder.py +0 -0
  131. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/formation_session.py +0 -0
  132. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/formations_facet_distribution.py +0 -0
  133. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/formations_facet_stats.py +0 -0
  134. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/formations_hit.py +0 -0
  135. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/formations_multi_search_query.py +0 -0
  136. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/game_stats_model.py +0 -0
  137. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/game_stats_models.py +0 -0
  138. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/generic_search.py +0 -0
  139. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/geo.py +0 -0
  140. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/geo_sort_order.py +0 -0
  141. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_commune_response.py +0 -0
  142. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_competition_response.py +0 -0
  143. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_configuration_response.py +0 -0
  144. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_engagement_response.py +0 -0
  145. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_entraineur_response.py +0 -0
  146. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_formation_response.py +0 -0
  147. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_officiel_response.py +0 -0
  148. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_organisme_response.py +0 -0
  149. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_poule_response.py +0 -0
  150. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_pratique_response.py +0 -0
  151. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_rencontre_response.py +0 -0
  152. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_saisons_response.py +0 -0
  153. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_salle_response.py +0 -0
  154. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_terrain_response.py +0 -0
  155. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/get_tournoi_response.py +0 -0
  156. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/gradient_color.py +0 -0
  157. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/hit.py +0 -0
  158. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/id_engagement_equipe.py +0 -0
  159. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/id_organisme_equipe.py +0 -0
  160. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/id_organisme_equipe1_logo.py +0 -0
  161. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/id_poule.py +0 -0
  162. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/jour.py +0 -0
  163. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/label.py +0 -0
  164. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/labellisation.py +0 -0
  165. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/live.py +0 -0
  166. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/lives.py +0 -0
  167. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/logo.py +0 -0
  168. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_queries.py +0 -0
  169. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_query.py +0 -0
  170. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_competitions.py +0 -0
  171. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_engagements.py +0 -0
  172. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_formations.py +0 -0
  173. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_organismes.py +0 -0
  174. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_pratiques.py +0 -0
  175. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_rencontres.py +0 -0
  176. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_salles.py +0 -0
  177. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_terrains.py +0 -0
  178. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_result_tournois.py +0 -0
  179. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_results.py +0 -0
  180. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/multi_search_results_class.py +0 -0
  181. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/nature_sol.py +0 -0
  182. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau.py +0 -0
  183. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau_class.py +0 -0
  184. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau_extractor.py +0 -0
  185. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau_info.py +0 -0
  186. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau_models.py +0 -0
  187. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/niveau_type.py +0 -0
  188. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/objectif.py +0 -0
  189. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organisateur.py +0 -0
  190. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organisateur_type.py +0 -0
  191. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organisme_fields.py +0 -0
  192. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organisme_id_pere.py +0 -0
  193. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organismes_facet_distribution.py +0 -0
  194. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organismes_facet_stats.py +0 -0
  195. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organismes_hit.py +0 -0
  196. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organismes_multi_search_query.py +0 -0
  197. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/organismes_query.py +0 -0
  198. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/phase_code.py +0 -0
  199. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/poule.py +0 -0
  200. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/poule_fields.py +0 -0
  201. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/poule_rencontre_item_model.py +0 -0
  202. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/poules_models.py +0 -0
  203. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/poules_query.py +0 -0
  204. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratique.py +0 -0
  205. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_facet_distribution.py +0 -0
  206. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_facet_stats.py +0 -0
  207. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_hit.py +0 -0
  208. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_hit_type.py +0 -0
  209. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_multi_search_query.py +0 -0
  210. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/pratiques_type_class.py +0 -0
  211. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/publication_internet.py +0 -0
  212. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/purple_logo.py +0 -0
  213. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/query_fields_manager.py +0 -0
  214. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/ranking_engagement.py +0 -0
  215. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rankings_models.py +0 -0
  216. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rencontres_engagement.py +0 -0
  217. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rencontres_facet_distribution.py +0 -0
  218. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rencontres_facet_stats.py +0 -0
  219. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rencontres_hit.py +0 -0
  220. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/rencontres_multi_search_query.py +0 -0
  221. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/saison.py +0 -0
  222. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/saison_fields.py +0 -0
  223. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/saisons_models.py +0 -0
  224. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/saisons_query.py +0 -0
  225. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/salle.py +0 -0
  226. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/salles_facet_distribution.py +0 -0
  227. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/salles_facet_stats.py +0 -0
  228. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/salles_hit.py +0 -0
  229. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/salles_multi_search_query.py +0 -0
  230. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/sexe.py +0 -0
  231. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/sexe_class.py +0 -0
  232. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/source.py +0 -0
  233. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/status.py +0 -0
  234. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/team_engagement.py +0 -0
  235. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/team_ranking.py +0 -0
  236. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_categorie_championnat_3x3_libelle.py +0 -0
  237. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_facet_distribution.py +0 -0
  238. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_facet_stats.py +0 -0
  239. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_hit.py +0 -0
  240. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_multi_search_query.py +0 -0
  241. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_name.py +0 -0
  242. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_sexe_enum.py +0 -0
  243. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/terrains_storage.py +0 -0
  244. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournoi_type_class.py +0 -0
  245. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournoi_type_enum.py +0 -0
  246. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournoi_types_3x3.py +0 -0
  247. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournoi_types_3x3_libelle.py +0 -0
  248. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournoi_types_3x3_libelle_enum.py +0 -0
  249. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_facet_distribution.py +0 -0
  250. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_facet_stats.py +0 -0
  251. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_hit.py +0 -0
  252. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_hit_type.py +0 -0
  253. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_libelle.py +0 -0
  254. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/tournois_multi_search_query.py +0 -0
  255. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_association.py +0 -0
  256. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_association_libelle.py +0 -0
  257. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_class.py +0 -0
  258. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_competition.py +0 -0
  259. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_competition_generique.py +0 -0
  260. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_enum.py +0 -0
  261. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/models/type_league.py +0 -0
  262. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/py.typed +0 -0
  263. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/__init__.py +0 -0
  264. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/converter_utils.py +0 -0
  265. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/input_validation.py +0 -0
  266. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/retry_utils.py +0 -0
  267. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/secure_logging.py +0 -0
  268. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client/utils/token_manager.py +0 -0
  269. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client.egg-info/dependency_links.txt +0 -0
  270. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client.egg-info/not-zip-safe +0 -0
  271. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client.egg-info/requires.txt +1 -1
  272. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/src/ffbb_data_client.egg-info/top_level.txt +0 -0
  273. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/conftest.py +0 -0
  274. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/e2e/__init__.py +0 -0
  275. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/e2e/conftest.py +0 -0
  276. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/__init__.py +0 -0
  277. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/conftest.py +0 -0
  278. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_500_user_journey.py +0 -0
  279. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_501_user_journey_v3.py +0 -0
  280. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_502_enhanced_integration.py +0 -0
  281. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_503_secure_logging.py +0 -0
  282. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_504_input_validation.py +0 -0
  283. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_505_retry_timeout.py +0 -0
  284. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/integration/test_506_raw_json_model_conversion.py +0 -0
  285. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/__init__.py +0 -0
  286. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/__init__.py +0 -0
  287. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_200_api_ffbb_app_client.py +0 -0
  288. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_202_meilisearch_client.py +0 -0
  289. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_203_meilisearch_client_extension.py +0 -0
  290. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_204_ffbb_data_client.py +0 -0
  291. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_205_meilisearch_ffbb_client.py +0 -0
  292. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_206_coverage_gaps_clients.py +0 -0
  293. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_207_coverage_clients_extended.py +0 -0
  294. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_208_new_methods_coverage.py +0 -0
  295. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_209_automatic_token_resolution.py +0 -0
  296. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_async_methods.py +0 -0
  297. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_meilisearch_async.py +0 -0
  298. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_v2_backport_search.py +0 -0
  299. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/clients/test_v3_new_features.py +0 -0
  300. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/conftest.py +0 -0
  301. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/helpers/__init__.py +0 -0
  302. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/helpers/test_400_http_helpers.py +0 -0
  303. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/helpers/test_meilisearch_client_extension_recursive_pagination.py +0 -0
  304. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/__init__.py +0 -0
  305. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_100_competition_id_categorie.py +0 -0
  306. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_101_competition_id_sexe.py +0 -0
  307. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_102_competition_id_type_competition.py +0 -0
  308. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_103_competition_id_type_competition_generique.py +0 -0
  309. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_104_competition_origine_categorie.py +0 -0
  310. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_105_competition_origine_type_competition_generique.py +0 -0
  311. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_106_competition_origine.py +0 -0
  312. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_107_id_engagement_equipe.py +0 -0
  313. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_108_id_organisme_equipe.py +0 -0
  314. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_109_id_organisme_equipe1_logo.py +0 -0
  315. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_110_labellisation.py +0 -0
  316. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_111_niveau_class.py +0 -0
  317. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_112_purple_logo.py +0 -0
  318. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_113_salle.py +0 -0
  319. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_114_tournoi_type_class.py +0 -0
  320. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_115_type_association_libelle.py +0 -0
  321. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_116_type_competition_generique.py +0 -0
  322. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_117_organisateur.py +0 -0
  323. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_118_competition_id.py +0 -0
  324. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_119_terrains_inner_models.py +0 -0
  325. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_120_pratiques_inner_models.py +0 -0
  326. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_121_to_dict_round_trip.py +0 -0
  327. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_122_coverage_gaps.py +0 -0
  328. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_123_missing_coverage.py +0 -0
  329. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_123_v2_backport.py +0 -0
  330. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_124_targeted_coverage_gains.py +0 -0
  331. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/models/test_dx_aliases.py +0 -0
  332. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/__init__.py +0 -0
  333. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_300_secure_logging.py +0 -0
  334. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_301_input_validation.py +0 -0
  335. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_302_retry_utils.py +0 -0
  336. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_303_cache_manager.py +0 -0
  337. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_304_config.py +0 -0
  338. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_305_token_manager.py +0 -0
  339. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_306_converter_utils.py +0 -0
  340. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/tests/unit/utils/test_307_coverage_gaps_utils.py +0 -0
  341. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/website/assets/logo.webp +0 -0
  342. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/website/css/style.css +0 -0
  343. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/website/index.html +0 -0
  344. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/website/robots.txt +0 -0
  345. {ffbb_data_client-2.1.0 → ffbb_data_client-2.2.0}/website/sitemap.xml +0 -0
@@ -62,13 +62,25 @@ def write_summary(text: str) -> None:
62
62
  def main() -> int:
63
63
  api_methods = get_public_methods(CLIENTS / "api_ffbb_app_client.py")
64
64
  ms_methods = get_public_methods(CLIENTS / "meilisearch_ffbb_client.py")
65
- wrapper_methods = get_public_methods(CLIENTS / "ffbb_data_client.py")
65
+
66
+ # Collect wrapper methods from the main file AND any facade files.
67
+ # After the v2.1.0 refactor, methods live in _rest_facade.py and
68
+ # _search_facade.py; the thin ffbb_data_client.py delegates via setattr.
69
+ wrapper_files = [
70
+ CLIENTS / "ffbb_data_client.py",
71
+ CLIENTS / "_rest_facade.py",
72
+ CLIENTS / "_search_facade.py",
73
+ ]
74
+ wrapper_methods: set[str] = set()
75
+ for wf in wrapper_files:
76
+ if wf.exists():
77
+ wrapper_methods |= get_public_methods(wf)
66
78
 
67
79
  all_inner = api_methods | ms_methods
68
80
  missing = sorted(all_inner - wrapper_methods)
69
81
 
70
82
  if not missing:
71
- msg = "## ✅ Wrapper parity OK\n\nAll public methods from inner clients are exposed in `FFBBDataClient`."
83
+ msg = "## ✅ Wrapper parity OK\n\nAll public methods from inner clients are exposed in `FFBBDataClient` (including facade files)."
72
84
  print(msg)
73
85
  write_summary(msg)
74
86
  return 0
@@ -77,13 +89,14 @@ def main() -> int:
77
89
  missing_detail = " ".join(
78
90
  [
79
91
  "The following methods exist in inner clients but are **not exposed**",
80
- "in `FFBBDataClient`:",
92
+ "in `FFBBDataClient` or its facade files:",
81
93
  ]
82
94
  )
83
95
  fix_detail = " ".join(
84
96
  [
85
97
  "Add the missing method(s) to",
86
- "`src/ffbb_data_client/clients/ffbb_data_client.py`",
98
+ "`src/ffbb_data_client/clients/ffbb_data_client.py` or one of its",
99
+ "facade files (`_rest_facade.py`, `_search_facade.py`)",
87
100
  "so they delegate to the appropriate inner client.",
88
101
  ]
89
102
  )
@@ -5,6 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.2.0] - 2026-05-17
9
+
10
+ ### Changed
11
+ - **REFACTOR**: `FFBBDataClient` (2865 → 272 lines) split into modular facades — `_RestFacade` (1592 lines) and `_SearchFacade` (1020 lines)
12
+ - Public API remains 100% backward-compatible — all 167 methods accessible directly on `FFBBDataClient`
13
+ - `check_wrapper_parity.py` updated to scan facade files in addition to the main client
14
+
15
+ ### Added
16
+ - `pytest_asyncio_mode = "auto"` in `pyproject.toml` for pytest-asyncio compatibility
17
+ - `isolated_build = True` in `tox.ini` for proper PEP 517 builds
18
+
19
+ ### Fixed
20
+ - `CacheManager` docstring corrected — Redis backend marked as "planned" (not implemented)
21
+ - `readme_renderer[md]` moved from `install_requires` to `testing` extras (build-time only dependency)
22
+
23
+ ### Removed
24
+ - Orphaned `src/ffbb_api_client_v3/` directory (residual from v2.1.0 cleanup)
25
+ - Orphaned `.coverage` file at project root
26
+ - `benchmark_search_organisme.py` moved from root to `scripts/`
27
+
8
28
  ## [2.1.0] - 2026-05-17
9
29
 
10
30
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ffbb-data-client
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: FFBB Data Client — SDK Python asynchrone pour les Statistiques de Basket France. Type-safe Pydantic models, async/sync, Meilisearch.
5
5
  Home-page: https://github.com/nickdesi/ffbb-data-client
6
6
  Author: nickdesi
@@ -33,7 +33,6 @@ Requires-Python: >=3.10
33
33
  Description-Content-Type: text/markdown; charset=UTF-8
34
34
  License-File: LICENSE.txt
35
35
  Requires-Dist: python-dotenv>=1.2.2
36
- Requires-Dist: readme_renderer[md]>=44.0
37
36
  Requires-Dist: python-dateutil>=2.9.0.post0
38
37
  Requires-Dist: httpx>=0.28.1
39
38
  Requires-Dist: hishel[async]>=1.2.1
@@ -46,6 +45,7 @@ Requires-Dist: pytest-xdist>=3.8.0; extra == "testing"
46
45
  Requires-Dist: pytest-cov>=7.1.0; extra == "testing"
47
46
  Requires-Dist: respx>=0.23.1; extra == "testing"
48
47
  Requires-Dist: pytest-asyncio>=1.3.0; extra == "testing"
48
+ Requires-Dist: readme_renderer[md]>=44.0; extra == "testing"
49
49
  Provides-Extra: typing
50
50
  Requires-Dist: types-python-dateutil>=2.9.0.20260408; extra == "typing"
51
51
  Dynamic: license-file
@@ -85,18 +85,17 @@ Dynamic: license-file
85
85
  - du cache HTTP configurable via `hishel` ;
86
86
  - des helpers prêts pour l'intégration MCP / agents IA.
87
87
 
88
- > La V3 remplace l’approche V2 basée sur des dictionnaires bruts et une configuration manuelle. Elle privilégie le typage, la robustesse réseau et les appels batchés.
89
-
90
88
  ---
91
89
 
92
- ## 🚀 Version v2.1.0 — Mai 2026
90
+ ## 🚀 Version v2.2.0 — Mai 2026
93
91
 
94
92
  Principales évolutions récentes :
95
93
 
96
- - **unification sync/async** : les méthodes synchrones délèguent désormais à leurs homologues asynchrones via `_run_async()`, éliminant ~604 lignes de duplication ;
94
+ - **refactor architecture** : `FFBBDataClient` (2865 272 lignes) découpé en `_RestFacade` + `_SearchFacade` API publique 100% compatible ;
95
+ - **unification sync/async** : les méthodes synchrones délèguent à leurs homologues asynchrones via `_run_async()`, éliminant ~604 lignes de duplication ;
97
96
  - **nouvelles entités** : EDF (matches, joueurs, rosters, équipes), Genius Sport (matches, live logs), Rematch Videos ;
98
97
  - **cache SQLite concurrency-safe** : fichiers séparés pour sync (`http_cache.db`) et async (`http_cache_async.db`) ;
99
- - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push ;
98
+ - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push + wrapper parity check ;
100
99
  - **nettoyage** : suppression du shim `ffbb_api_client_v3`, scripts morts et code mort (`invalidate_pattern`).
101
100
 
102
101
  Voir aussi : [`CHANGELOG.md`](CHANGELOG.md) et [`RELEASE_NOTES.md`](RELEASE_NOTES.md).
@@ -272,7 +271,9 @@ Il est donc possible de laisser le client résoudre les tokens automatiquement o
272
271
  ```text
273
272
  src/ffbb_data_client/
274
273
  ├── clients/
275
- │ ├── ffbb_data_client.py # Façade publique (sync async delegation)
274
+ │ ├── ffbb_data_client.py # Façade publique (272 lignes, delegation)
275
+ │ ├── _rest_facade.py # Façade REST API (Directus)
276
+ │ ├── _search_facade.py # Façade recherche Meilisearch
276
277
  │ ├── api_ffbb_app_client.py # Client REST FFBB (async source of truth)
277
278
  │ └── meilisearch_ffbb_client.py # Client recherche Meilisearch
278
279
  ├── helpers/ # Requêtes HTTP, multi-search, conversions
@@ -282,6 +283,8 @@ src/ffbb_data_client/
282
283
  ```
283
284
 
284
285
  > **Architecture sync/async** : Depuis v2.1.0, les méthodes asynchrones sont la source de vérité. Les méthodes synchrones délèguent via `_run_async()`, un helper qui gère les event loops imbriqués avec `ThreadPoolExecutor`.
286
+ >
287
+ > **Architecture facades** : Depuis v2.2.0, `FFBBDataClient` est une fine coquille qui compose `_RestFacade` et `_SearchFacade`. L'API publique reste identique — `client.get_organisme(123)` fonctionne comme avant.
285
288
 
286
289
  ---
287
290
 
@@ -33,18 +33,17 @@
33
33
  - du cache HTTP configurable via `hishel` ;
34
34
  - des helpers prêts pour l'intégration MCP / agents IA.
35
35
 
36
- > La V3 remplace l’approche V2 basée sur des dictionnaires bruts et une configuration manuelle. Elle privilégie le typage, la robustesse réseau et les appels batchés.
37
-
38
36
  ---
39
37
 
40
- ## 🚀 Version v2.1.0 — Mai 2026
38
+ ## 🚀 Version v2.2.0 — Mai 2026
41
39
 
42
40
  Principales évolutions récentes :
43
41
 
44
- - **unification sync/async** : les méthodes synchrones délèguent désormais à leurs homologues asynchrones via `_run_async()`, éliminant ~604 lignes de duplication ;
42
+ - **refactor architecture** : `FFBBDataClient` (2865 272 lignes) découpé en `_RestFacade` + `_SearchFacade` API publique 100% compatible ;
43
+ - **unification sync/async** : les méthodes synchrones délèguent à leurs homologues asynchrones via `_run_async()`, éliminant ~604 lignes de duplication ;
45
44
  - **nouvelles entités** : EDF (matches, joueurs, rosters, équipes), Genius Sport (matches, live logs), Rematch Videos ;
46
45
  - **cache SQLite concurrency-safe** : fichiers séparés pour sync (`http_cache.db`) et async (`http_cache_async.db`) ;
47
- - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push ;
46
+ - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push + wrapper parity check ;
48
47
  - **nettoyage** : suppression du shim `ffbb_api_client_v3`, scripts morts et code mort (`invalidate_pattern`).
49
48
 
50
49
  Voir aussi : [`CHANGELOG.md`](CHANGELOG.md) et [`RELEASE_NOTES.md`](RELEASE_NOTES.md).
@@ -220,7 +219,9 @@ Il est donc possible de laisser le client résoudre les tokens automatiquement o
220
219
  ```text
221
220
  src/ffbb_data_client/
222
221
  ├── clients/
223
- │ ├── ffbb_data_client.py # Façade publique (sync async delegation)
222
+ │ ├── ffbb_data_client.py # Façade publique (272 lignes, delegation)
223
+ │ ├── _rest_facade.py # Façade REST API (Directus)
224
+ │ ├── _search_facade.py # Façade recherche Meilisearch
224
225
  │ ├── api_ffbb_app_client.py # Client REST FFBB (async source of truth)
225
226
  │ └── meilisearch_ffbb_client.py # Client recherche Meilisearch
226
227
  ├── helpers/ # Requêtes HTTP, multi-search, conversions
@@ -230,6 +231,8 @@ src/ffbb_data_client/
230
231
  ```
231
232
 
232
233
  > **Architecture sync/async** : Depuis v2.1.0, les méthodes asynchrones sont la source de vérité. Les méthodes synchrones délèguent via `_run_async()`, un helper qui gère les event loops imbriqués avec `ThreadPoolExecutor`.
234
+ >
235
+ > **Architecture facades** : Depuis v2.2.0, `FFBBDataClient` est une fine coquille qui compose `_RestFacade` et `_SearchFacade`. L'API publique reste identique — `client.get_organisme(123)` fonctionne comme avant.
233
236
 
234
237
  ---
235
238
 
@@ -1,6 +1,31 @@
1
1
  # Release Notes - FFBB API Client V2
2
2
 
3
- ## Version 1.5.0 (Latest Release)
3
+ ## Version 2.2.0 (Latest Release)
4
+
5
+ ### 🏗 Architecture Refactor
6
+
7
+ #### **Facade Pattern — FFBBDataClient Modularization**
8
+ - **REFACTOR**: `FFBBDataClient` split from a monolithic 2865-line file into three focused modules:
9
+ - `ffbb_data_client.py` (272 lines) — thin public facade with factory and delegation
10
+ - `_rest_facade.py` (1592 lines) — all REST API (Directus) methods
11
+ - `_search_facade.py` (1020 lines) — all Meilisearch search methods
12
+ - **BACKWARD-COMPATIBLE**: All 167 public methods remain accessible directly on `FFBBDataClient` instances — zero breaking changes
13
+ - Methods delegated via `setattr` at construction time — no performance impact
14
+
15
+ #### **CI & Build Improvements**
16
+ - `pytest_asyncio_mode = "auto"` — prevents pytest-asyncio breaking changes across versions
17
+ - `isolated_build = True` in tox — proper PEP 517 builds with setuptools_scm
18
+ - `check_wrapper_parity.py` updated to scan facade files alongside the main client
19
+
20
+ ### 🐛 Bug Fixes & Cleanup
21
+ - `CacheManager` docstring corrected — Redis backend documented as "planned"
22
+ - `readme_renderer[md]` moved to dev extras (was incorrectly in runtime dependencies)
23
+ - Orphaned `src/ffbb_api_client_v3/` directory removed
24
+ - `benchmark_search_organisme.py` moved to `scripts/`
25
+
26
+ ---
27
+
28
+ ## Version 2.1.0 (Previous Release)
4
29
 
5
30
  ### 🚀 Major Features & Improvements
6
31
 
@@ -44,3 +44,4 @@ python_classes = ["Test*"]
44
44
  python_functions = ["test_*"]
45
45
  addopts = "-v --tb=short"
46
46
  pythonpath = ["src"]
47
+ asyncio_mode = "auto"
@@ -1,5 +1,7 @@
1
1
  """Client classes for FFBB API interactions."""
2
2
 
3
+ from ._rest_facade import _RestFacade
4
+ from ._search_facade import _SearchFacade
3
5
  from .api_ffbb_app_client import ApiFFBBAppClient
4
6
  from .ffbb_data_client import FFBBDataClient
5
7
  from .meilisearch_client import MeilisearchClient
@@ -10,4 +12,6 @@ __all__ = [
10
12
  "FFBBDataClient",
11
13
  "MeilisearchClient",
12
14
  "MeilisearchFFBBClient",
15
+ "_RestFacade",
16
+ "_SearchFacade",
13
17
  ]