ffbb-data-client 2.3.1__tar.gz → 2.3.2__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 (363) hide show
  1. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/release-after-discovery-merge.yml +0 -1
  2. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/PKG-INFO +8 -9
  3. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/README.md +7 -8
  4. ffbb_data_client-2.3.2/graphify-cross-repo.json +28 -0
  5. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/token_manager.py +48 -7
  6. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/PKG-INFO +8 -9
  7. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/SOURCES.txt +4 -0
  8. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_305_token_manager.py +25 -18
  9. ffbb_data_client-2.3.2/tools/add_cross_repo_edges.py +502 -0
  10. ffbb_data_client-2.3.2/tools/graphify-cross-repo.sh +64 -0
  11. ffbb_data_client-2.3.2/tools/graphify_cross_repo.py +593 -0
  12. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.agents/rules/antigravity-rtk-rules.md +0 -0
  13. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.coveragerc +0 -0
  14. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  15. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  16. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  17. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/dependabot.yml +0 -0
  18. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/scripts/ai-pr-reviewer.js +0 -0
  19. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/scripts/check_wrapper_parity.py +0 -0
  20. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/scripts/resolve-bolt-conflict.js +0 -0
  21. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/ai-pr-reviewer.yml +0 -0
  22. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/check_wrapper_parity.yml +0 -0
  23. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/ci.yml +0 -0
  24. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/codeql.yml +0 -0
  25. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/deploy-pages.yml +0 -0
  26. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/publish.yml +0 -0
  27. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.github/workflows/update-ffbb-api-discovery.yml +0 -0
  28. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.gitignore +0 -0
  29. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.isort.cfg +0 -0
  30. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.jules/bolt.md +0 -0
  31. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.pre-commit-config.yaml +0 -0
  32. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/.readthedocs.yml +0 -0
  33. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/AGENTS.md +0 -0
  34. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/AUTHORS.rst +0 -0
  35. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/CHANGELOG.md +0 -0
  36. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/CODE_OF_CONDUCT.md +0 -0
  37. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/CONTRIBUTING.rst +0 -0
  38. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/LICENSE.txt +0 -0
  39. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/LOCAL_CI_GUIDE.md +0 -0
  40. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/RELEASE_NOTES.md +0 -0
  41. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/SECURITY.md +0 -0
  42. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/api.ffbb.app.json +0 -0
  43. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/api_update_summary.md +0 -0
  44. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/collections.json +0 -0
  45. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/endpoint_discovery.json +0 -0
  46. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/indexes.json +0 -0
  47. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/meilisearch-prod.ffbb.app.json +0 -0
  48. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/openapi.json +0 -0
  49. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/openapi_full.json +0 -0
  50. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/data/type_discovery_corrections.json +0 -0
  51. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/Makefile +0 -0
  52. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/_static/.gitignore +0 -0
  53. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/architecture.rst +0 -0
  54. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/authors.rst +0 -0
  55. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/changelog.rst +0 -0
  56. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/conf.py +0 -0
  57. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/contributing.rst +0 -0
  58. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/examples.rst +0 -0
  59. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/index.rst +0 -0
  60. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/license.rst +0 -0
  61. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/migration.rst +0 -0
  62. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/readme.rst +0 -0
  63. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/requirements.txt +0 -0
  64. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/test_strategy.md +0 -0
  65. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/docs/testing_conventions.md +0 -0
  66. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/examples/README.md +0 -0
  67. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/examples/complete_usage_example.py +0 -0
  68. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/examples/quick_start.py +0 -0
  69. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/examples/team_ranking_analysis.py +0 -0
  70. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/pyproject.toml +0 -0
  71. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/pytest.ini +0 -0
  72. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/run-ci-locally.sh +0 -0
  73. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/scripts/benchmark_search_organisme.py +0 -0
  74. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/scripts/discover_endpoints.py +0 -0
  75. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/scripts/discover_types.py +0 -0
  76. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/setup.cfg +0 -0
  77. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/setup.py +0 -0
  78. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/__init__.py +0 -0
  79. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/__init__.py +0 -0
  80. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/_rest_facade.py +0 -0
  81. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/_search_facade.py +0 -0
  82. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/api_ffbb_app_client.py +0 -0
  83. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/ffbb_data_client.py +0 -0
  84. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/meilisearch_client.py +0 -0
  85. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/clients/meilisearch_ffbb_client.py +0 -0
  86. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/config.py +0 -0
  87. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/__init__.py +0 -0
  88. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/collections.json +0 -0
  89. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/endpoint_discovery.json +0 -0
  90. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/indexes.json +0 -0
  91. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/openapi.json +0 -0
  92. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/data/openapi_full.json +0 -0
  93. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/helpers/__init__.py +0 -0
  94. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/helpers/http_requests_helper.py +0 -0
  95. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/helpers/http_requests_utils.py +0 -0
  96. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/helpers/meilisearch_client_extension.py +0 -0
  97. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/helpers/multi_search_query_helper.py +0 -0
  98. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/__init__.py +0 -0
  99. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/affiche.py +0 -0
  100. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/cartographie.py +0 -0
  101. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/categorie.py +0 -0
  102. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/categorie_type.py +0 -0
  103. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/clock.py +0 -0
  104. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/club_contacts.py +0 -0
  105. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/code.py +0 -0
  106. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/commune.py +0 -0
  107. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_fields.py +0 -0
  108. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_id.py +0 -0
  109. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_id_categorie.py +0 -0
  110. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_id_sexe.py +0 -0
  111. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_id_type_competition.py +0 -0
  112. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_id_type_competition_generique.py +0 -0
  113. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_origine.py +0 -0
  114. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_origine_categorie.py +0 -0
  115. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_origine_type_competition.py +0 -0
  116. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_origine_type_competition_generique.py +0 -0
  117. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competition_type.py +0 -0
  118. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competitions_facet_distribution.py +0 -0
  119. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competitions_facet_stats.py +0 -0
  120. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competitions_hit.py +0 -0
  121. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competitions_multi_search_query.py +0 -0
  122. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/competitions_query.py +0 -0
  123. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/configuration_models.py +0 -0
  124. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/contact_info.py +0 -0
  125. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/content_multi_search_query.py +0 -0
  126. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/coordonnees.py +0 -0
  127. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/coordonnees_type.py +0 -0
  128. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/document_flyer.py +0 -0
  129. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/document_flyer_type.py +0 -0
  130. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/engagement_contacts.py +0 -0
  131. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/engagements_facet_distribution.py +0 -0
  132. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/engagements_facet_stats.py +0 -0
  133. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/engagements_hit.py +0 -0
  134. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/engagements_multi_search_query.py +0 -0
  135. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/etat.py +0 -0
  136. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/external_competition_id.py +0 -0
  137. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/external_id.py +0 -0
  138. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/facet_distribution.py +0 -0
  139. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/facet_stats.py +0 -0
  140. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/field_set.py +0 -0
  141. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/folder.py +0 -0
  142. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/formation_session.py +0 -0
  143. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/formations_facet_distribution.py +0 -0
  144. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/formations_facet_stats.py +0 -0
  145. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/formations_hit.py +0 -0
  146. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/formations_multi_search_query.py +0 -0
  147. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/game_stats_model.py +0 -0
  148. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/game_stats_models.py +0 -0
  149. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/generic_search.py +0 -0
  150. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/geo.py +0 -0
  151. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/geo_sort_order.py +0 -0
  152. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_commune_response.py +0 -0
  153. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_competition_response.py +0 -0
  154. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_configuration_response.py +0 -0
  155. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_engagement_response.py +0 -0
  156. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_entraineur_response.py +0 -0
  157. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_formation_response.py +0 -0
  158. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_officiel_response.py +0 -0
  159. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_organisme_response.py +0 -0
  160. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_poule_response.py +0 -0
  161. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_pratique_response.py +0 -0
  162. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_rencontre_response.py +0 -0
  163. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_saisons_response.py +0 -0
  164. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_salle_response.py +0 -0
  165. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_terrain_response.py +0 -0
  166. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/get_tournoi_response.py +0 -0
  167. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/gradient_color.py +0 -0
  168. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/hit.py +0 -0
  169. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/id_engagement_equipe.py +0 -0
  170. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/id_organisme_equipe.py +0 -0
  171. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/id_organisme_equipe1_logo.py +0 -0
  172. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/id_poule.py +0 -0
  173. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/jour.py +0 -0
  174. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/label.py +0 -0
  175. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/labellisation.py +0 -0
  176. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/live.py +0 -0
  177. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/lives.py +0 -0
  178. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/logo.py +0 -0
  179. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_queries.py +0 -0
  180. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_query.py +0 -0
  181. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_competitions.py +0 -0
  182. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_engagements.py +0 -0
  183. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_formations.py +0 -0
  184. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_organismes.py +0 -0
  185. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_pratiques.py +0 -0
  186. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_rencontres.py +0 -0
  187. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_salles.py +0 -0
  188. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_terrains.py +0 -0
  189. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_result_tournois.py +0 -0
  190. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_results.py +0 -0
  191. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/multi_search_results_class.py +0 -0
  192. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/nature_sol.py +0 -0
  193. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau.py +0 -0
  194. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau_class.py +0 -0
  195. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau_extractor.py +0 -0
  196. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau_info.py +0 -0
  197. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau_models.py +0 -0
  198. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/niveau_type.py +0 -0
  199. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/objectif.py +0 -0
  200. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organisateur.py +0 -0
  201. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organisateur_type.py +0 -0
  202. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organisme_fields.py +0 -0
  203. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organisme_id_pere.py +0 -0
  204. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organismes_facet_distribution.py +0 -0
  205. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organismes_facet_stats.py +0 -0
  206. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organismes_hit.py +0 -0
  207. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organismes_multi_search_query.py +0 -0
  208. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/organismes_query.py +0 -0
  209. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/phase_code.py +0 -0
  210. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/poule.py +0 -0
  211. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/poule_fields.py +0 -0
  212. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/poule_rencontre_item_model.py +0 -0
  213. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/poules_models.py +0 -0
  214. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/poules_query.py +0 -0
  215. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratique.py +0 -0
  216. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_facet_distribution.py +0 -0
  217. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_facet_stats.py +0 -0
  218. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_hit.py +0 -0
  219. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_hit_type.py +0 -0
  220. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_multi_search_query.py +0 -0
  221. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/pratiques_type_class.py +0 -0
  222. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/publication_internet.py +0 -0
  223. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/purple_logo.py +0 -0
  224. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/query_fields_manager.py +0 -0
  225. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/ranking_engagement.py +0 -0
  226. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rankings_models.py +0 -0
  227. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rencontres_engagement.py +0 -0
  228. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rencontres_facet_distribution.py +0 -0
  229. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rencontres_facet_stats.py +0 -0
  230. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rencontres_hit.py +0 -0
  231. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/rencontres_multi_search_query.py +0 -0
  232. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/saison.py +0 -0
  233. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/saison_fields.py +0 -0
  234. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/saisons_models.py +0 -0
  235. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/saisons_query.py +0 -0
  236. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/salle.py +0 -0
  237. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/salles_facet_distribution.py +0 -0
  238. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/salles_facet_stats.py +0 -0
  239. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/salles_hit.py +0 -0
  240. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/salles_multi_search_query.py +0 -0
  241. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/sexe.py +0 -0
  242. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/sexe_class.py +0 -0
  243. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/source.py +0 -0
  244. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/status.py +0 -0
  245. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/team_engagement.py +0 -0
  246. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/team_ranking.py +0 -0
  247. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_categorie_championnat_3x3_libelle.py +0 -0
  248. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_facet_distribution.py +0 -0
  249. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_facet_stats.py +0 -0
  250. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_hit.py +0 -0
  251. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_multi_search_query.py +0 -0
  252. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_name.py +0 -0
  253. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_sexe_enum.py +0 -0
  254. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/terrains_storage.py +0 -0
  255. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournoi_type_class.py +0 -0
  256. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournoi_type_enum.py +0 -0
  257. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournoi_types_3x3.py +0 -0
  258. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournoi_types_3x3_libelle.py +0 -0
  259. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournoi_types_3x3_libelle_enum.py +0 -0
  260. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_facet_distribution.py +0 -0
  261. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_facet_stats.py +0 -0
  262. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_hit.py +0 -0
  263. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_hit_type.py +0 -0
  264. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_libelle.py +0 -0
  265. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/tournois_multi_search_query.py +0 -0
  266. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_association.py +0 -0
  267. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_association_libelle.py +0 -0
  268. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_class.py +0 -0
  269. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_competition.py +0 -0
  270. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_competition_generique.py +0 -0
  271. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_enum.py +0 -0
  272. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/models/type_league.py +0 -0
  273. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/py.typed +0 -0
  274. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/__init__.py +0 -0
  275. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/cache_manager.py +0 -0
  276. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/concurrency_utils.py +0 -0
  277. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/converter_utils.py +0 -0
  278. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/input_validation.py +0 -0
  279. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/retry_utils.py +0 -0
  280. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client/utils/secure_logging.py +0 -0
  281. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/dependency_links.txt +0 -0
  282. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/not-zip-safe +0 -0
  283. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/requires.txt +0 -0
  284. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/src/ffbb_data_client.egg-info/top_level.txt +0 -0
  285. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/conftest.py +0 -0
  286. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/e2e/__init__.py +0 -0
  287. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/e2e/conftest.py +0 -0
  288. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/__init__.py +0 -0
  289. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/conftest.py +0 -0
  290. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_500_user_journey.py +0 -0
  291. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_501_user_journey_v3.py +0 -0
  292. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_502_enhanced_integration.py +0 -0
  293. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_503_secure_logging.py +0 -0
  294. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_504_input_validation.py +0 -0
  295. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_505_retry_timeout.py +0 -0
  296. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/integration/test_506_raw_json_model_conversion.py +0 -0
  297. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/__init__.py +0 -0
  298. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/__init__.py +0 -0
  299. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_200_api_ffbb_app_client.py +0 -0
  300. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_201_unit_tests_core.py +0 -0
  301. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_202_meilisearch_client.py +0 -0
  302. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_203_meilisearch_client_extension.py +0 -0
  303. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_204_ffbb_data_client.py +0 -0
  304. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_205_meilisearch_ffbb_client.py +0 -0
  305. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_206_coverage_gaps_clients.py +0 -0
  306. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_207_coverage_clients_extended.py +0 -0
  307. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_208_new_methods_coverage.py +0 -0
  308. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_209_automatic_token_resolution.py +0 -0
  309. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_210_targeted_clients_helpers_coverage.py +0 -0
  310. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_async_methods.py +0 -0
  311. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_meilisearch_async.py +0 -0
  312. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_v2_backport_search.py +0 -0
  313. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_v3_new_features.py +0 -0
  314. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/clients/test_warm_cache.py +0 -0
  315. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/conftest.py +0 -0
  316. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/helpers/__init__.py +0 -0
  317. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/helpers/test_400_http_helpers.py +0 -0
  318. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/helpers/test_meilisearch_client_extension_recursive_pagination.py +0 -0
  319. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/__init__.py +0 -0
  320. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_100_competition_id_categorie.py +0 -0
  321. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_101_competition_id_sexe.py +0 -0
  322. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_102_competition_id_type_competition.py +0 -0
  323. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_103_competition_id_type_competition_generique.py +0 -0
  324. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_104_competition_origine_categorie.py +0 -0
  325. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_105_competition_origine_type_competition_generique.py +0 -0
  326. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_106_competition_origine.py +0 -0
  327. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_107_id_engagement_equipe.py +0 -0
  328. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_108_id_organisme_equipe.py +0 -0
  329. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_109_id_organisme_equipe1_logo.py +0 -0
  330. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_110_labellisation.py +0 -0
  331. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_111_niveau_class.py +0 -0
  332. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_112_purple_logo.py +0 -0
  333. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_113_salle.py +0 -0
  334. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_114_tournoi_type_class.py +0 -0
  335. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_115_type_association_libelle.py +0 -0
  336. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_116_type_competition_generique.py +0 -0
  337. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_117_organisateur.py +0 -0
  338. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_118_competition_id.py +0 -0
  339. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_119_terrains_inner_models.py +0 -0
  340. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_120_pratiques_inner_models.py +0 -0
  341. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_121_to_dict_round_trip.py +0 -0
  342. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_122_coverage_gaps.py +0 -0
  343. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_123_missing_coverage.py +0 -0
  344. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_123_v2_backport.py +0 -0
  345. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_124_targeted_coverage_gains.py +0 -0
  346. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/models/test_dx_aliases.py +0 -0
  347. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/__init__.py +0 -0
  348. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_300_secure_logging.py +0 -0
  349. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_301_input_validation.py +0 -0
  350. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_302_retry_utils.py +0 -0
  351. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_303_cache_manager.py +0 -0
  352. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_304_config.py +0 -0
  353. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_306_converter_utils.py +0 -0
  354. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_307_coverage_gaps_utils.py +0 -0
  355. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_308_converter_utils_extended.py +0 -0
  356. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tests/unit/utils/test_309_concurrency_utils.py +0 -0
  357. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tools/update_agents_md.py +0 -0
  358. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/tox.ini +0 -0
  359. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/website/assets/logo.webp +0 -0
  360. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/website/css/style.css +0 -0
  361. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/website/index.html +0 -0
  362. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/website/robots.txt +0 -0
  363. {ffbb_data_client-2.3.1 → ffbb_data_client-2.3.2}/website/sitemap.xml +0 -0
@@ -9,7 +9,6 @@ on:
9
9
  permissions:
10
10
  contents: write
11
11
  pull-requests: read
12
- workflows: write
13
12
 
14
13
  concurrency:
15
14
  group: release-after-discovery-${{ github.event.workflow_run.head_sha }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ffbb-data-client
3
- Version: 2.3.1
3
+ Version: 2.3.2
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
@@ -87,18 +87,17 @@ Dynamic: license-file
87
87
 
88
88
  ---
89
89
 
90
- ## 🚀 Version v2.2.0Mai 2026
90
+ ## 🚀 Version v2.3.1Juin 2026
91
91
 
92
92
  Principales évolutions récentes :
93
93
 
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 ;
96
- - **nouvelles entités** : EDF (matches, joueurs, rosters, équipes), Genius Sport (matches, live logs), Rematch Videos ;
97
- - **cache SQLite concurrency-safe** : fichiers séparés pour sync (`http_cache.db`) et async (`http_cache_async.db`) ;
98
- - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push + wrapper parity check ;
99
- - **nettoyage** : suppression du shim `ffbb_api_client_v3`, scripts morts et code mort (`invalidate_pattern`).
94
+ - **détection de drift API** : surveillance des changements de schéma Directus (propriétés/types/nullabilité) ;
95
+ - **détection de drift Meilisearch** : agrégation robuste des attributs (`sampleKeys`) sur plusieurs hits ;
96
+ - **automatisation CI/CD** : ouverture automatique de PR lorsqu'un drift est détecté ;
97
+ - **fiabilité outillage** : alignement pyupgrade/isort/pre-commit pour des runs CI reproductibles ;
98
+ - **qualité/sécurité** : corrections CodeQL et nettoyage des alertes d'analyse statique.
100
99
 
101
- Voir aussi : [`CHANGELOG.md`](CHANGELOG.md) et [`RELEASE_NOTES.md`](RELEASE_NOTES.md).
100
+ Voir aussi : [CHANGELOG.md](https://github.com/nickdesi/ffbb-data-client/blob/master/CHANGELOG.md) et [RELEASE_NOTES.md](https://github.com/nickdesi/ffbb-data-client/blob/master/RELEASE_NOTES.md).
102
101
 
103
102
  ---
104
103
 
@@ -35,18 +35,17 @@
35
35
 
36
36
  ---
37
37
 
38
- ## 🚀 Version v2.2.0Mai 2026
38
+ ## 🚀 Version v2.3.1Juin 2026
39
39
 
40
40
  Principales évolutions récentes :
41
41
 
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 ;
44
- - **nouvelles entités** : EDF (matches, joueurs, rosters, équipes), Genius Sport (matches, live logs), Rematch Videos ;
45
- - **cache SQLite concurrency-safe** : fichiers séparés pour sync (`http_cache.db`) et async (`http_cache_async.db`) ;
46
- - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push + wrapper parity check ;
47
- - **nettoyage** : suppression du shim `ffbb_api_client_v3`, scripts morts et code mort (`invalidate_pattern`).
42
+ - **détection de drift API** : surveillance des changements de schéma Directus (propriétés/types/nullabilité) ;
43
+ - **détection de drift Meilisearch** : agrégation robuste des attributs (`sampleKeys`) sur plusieurs hits ;
44
+ - **automatisation CI/CD** : ouverture automatique de PR lorsqu'un drift est détecté ;
45
+ - **fiabilité outillage** : alignement pyupgrade/isort/pre-commit pour des runs CI reproductibles ;
46
+ - **qualité/sécurité** : corrections CodeQL et nettoyage des alertes d'analyse statique.
48
47
 
49
- Voir aussi : [`CHANGELOG.md`](CHANGELOG.md) et [`RELEASE_NOTES.md`](RELEASE_NOTES.md).
48
+ Voir aussi : [CHANGELOG.md](https://github.com/nickdesi/ffbb-data-client/blob/master/CHANGELOG.md) et [RELEASE_NOTES.md](https://github.com/nickdesi/ffbb-data-client/blob/master/RELEASE_NOTES.md).
50
49
 
51
50
  ---
52
51
 
@@ -0,0 +1,28 @@
1
+ {
2
+ "cross_repo": {
3
+ "repos": [
4
+ {
5
+ "name": "ffbb-data-client",
6
+ "path": "${PWD}",
7
+ "description": "SDK Python pour l'API FFBB"
8
+ },
9
+ {
10
+ "name": "FFBB MCP server",
11
+ "path": "/Volumes/HomeExt/Users/Nicolas/Documents/Repo GIT/FFBB MCP server",
12
+ "description": "Serveur MCP pour l'API FFBB"
13
+ }
14
+ ],
15
+ "output_dir": "graphify-out",
16
+ "merged_filename": "merged-graph.json",
17
+ "auto_update": true,
18
+ "auto_cluster": true,
19
+ "auto_cross_repo_edges": true,
20
+ "skip_repos": []
21
+ },
22
+ "settings": {
23
+ "parallel_update": true,
24
+ "timeout_per_repo": 600,
25
+ "force_rebuild": false,
26
+ "generate_report": true
27
+ }
28
+ }
@@ -2,8 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import json
5
6
  import os
7
+ from collections.abc import Callable
6
8
  from dataclasses import dataclass
9
+ from typing import Any, TypeVar, cast
10
+
11
+ from httpx import ReadTimeout
7
12
 
8
13
  from ..config import (
9
14
  API_FFBB_BASE_URL,
@@ -12,9 +17,33 @@ from ..config import (
12
17
  ENV_API_TOKEN,
13
18
  ENV_MEILISEARCH_TOKEN,
14
19
  )
15
- from ..helpers.http_requests_helper import catch_result
16
20
  from ..models.configuration_models import GetConfigurationResponse
17
21
  from ..utils.cache_manager import CacheConfig, CacheManager
22
+ from ..utils.retry_utils import (
23
+ get_default_retry_config,
24
+ get_default_timeout_config,
25
+ make_http_request_with_retry,
26
+ )
27
+
28
+ T = TypeVar("T")
29
+
30
+
31
+ def _catch_result(callback: Callable[[], T], is_retrieving: bool = False) -> T | None:
32
+ """Local retry wrapper to avoid importing the helpers package and creating cycles."""
33
+ try:
34
+ return callback()
35
+ except json.decoder.JSONDecodeError as e:
36
+ if e.msg == "Expecting value":
37
+ return None
38
+ raise e
39
+ except ReadTimeout as e:
40
+ if not is_retrieving:
41
+ return _catch_result(callback, True)
42
+ raise e
43
+ except ConnectionError as e:
44
+ if not is_retrieving:
45
+ return _catch_result(callback, True)
46
+ raise e
18
47
 
19
48
 
20
49
  @dataclass
@@ -96,18 +125,30 @@ class TokenManager:
96
125
  config_url = f"{API_FFBB_BASE_URL}{ENDPOINT_CONFIGURATION}"
97
126
  headers = {"user-agent": DEFAULT_USER_AGENT}
98
127
 
99
- from ..helpers.http_requests_utils import http_get_json
100
- from .retry_utils import get_default_retry_config, get_default_timeout_config
101
-
102
- data = catch_result(
103
- lambda: http_get_json(
128
+ def _get_json() -> dict[str, Any]:
129
+ response = make_http_request_with_retry(
130
+ "GET",
104
131
  config_url,
105
132
  headers,
106
133
  cached_session=cached_session,
107
134
  retry_config=get_default_retry_config(),
108
135
  timeout_config=get_default_timeout_config(),
109
136
  )
110
- )
137
+ response.raise_for_status()
138
+
139
+ try:
140
+ import orjson # type: ignore
141
+
142
+ return cast(dict[str, Any], orjson.loads(response.text.strip()))
143
+ except ImportError:
144
+ try:
145
+ import ujson # type: ignore
146
+
147
+ return cast(dict[str, Any], ujson.loads(response.text.strip()))
148
+ except ImportError:
149
+ return cast(dict[str, Any], json.loads(response.text.strip()))
150
+
151
+ data = _catch_result(_get_json)
111
152
 
112
153
  actual_data = data.get("data") if data and isinstance(data, dict) else data
113
154
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ffbb-data-client
3
- Version: 2.3.1
3
+ Version: 2.3.2
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
@@ -87,18 +87,17 @@ Dynamic: license-file
87
87
 
88
88
  ---
89
89
 
90
- ## 🚀 Version v2.2.0Mai 2026
90
+ ## 🚀 Version v2.3.1Juin 2026
91
91
 
92
92
  Principales évolutions récentes :
93
93
 
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 ;
96
- - **nouvelles entités** : EDF (matches, joueurs, rosters, équipes), Genius Sport (matches, live logs), Rematch Videos ;
97
- - **cache SQLite concurrency-safe** : fichiers séparés pour sync (`http_cache.db`) et async (`http_cache_async.db`) ;
98
- - **CI renforcée** : mypy + pyright + CodeQL + Dependabot + hook pre-push + wrapper parity check ;
99
- - **nettoyage** : suppression du shim `ffbb_api_client_v3`, scripts morts et code mort (`invalidate_pattern`).
94
+ - **détection de drift API** : surveillance des changements de schéma Directus (propriétés/types/nullabilité) ;
95
+ - **détection de drift Meilisearch** : agrégation robuste des attributs (`sampleKeys`) sur plusieurs hits ;
96
+ - **automatisation CI/CD** : ouverture automatique de PR lorsqu'un drift est détecté ;
97
+ - **fiabilité outillage** : alignement pyupgrade/isort/pre-commit pour des runs CI reproductibles ;
98
+ - **qualité/sécurité** : corrections CodeQL et nettoyage des alertes d'analyse statique.
100
99
 
101
- Voir aussi : [`CHANGELOG.md`](CHANGELOG.md) et [`RELEASE_NOTES.md`](RELEASE_NOTES.md).
100
+ Voir aussi : [CHANGELOG.md](https://github.com/nickdesi/ffbb-data-client/blob/master/CHANGELOG.md) et [RELEASE_NOTES.md](https://github.com/nickdesi/ffbb-data-client/blob/master/RELEASE_NOTES.md).
102
101
 
103
102
  ---
104
103
 
@@ -13,6 +13,7 @@ LOCAL_CI_GUIDE.md
13
13
  README.md
14
14
  RELEASE_NOTES.md
15
15
  SECURITY.md
16
+ graphify-cross-repo.json
16
17
  pyproject.toml
17
18
  pytest.ini
18
19
  run-ci-locally.sh
@@ -350,6 +351,9 @@ tests/unit/utils/test_306_converter_utils.py
350
351
  tests/unit/utils/test_307_coverage_gaps_utils.py
351
352
  tests/unit/utils/test_308_converter_utils_extended.py
352
353
  tests/unit/utils/test_309_concurrency_utils.py
354
+ tools/add_cross_repo_edges.py
355
+ tools/graphify-cross-repo.sh
356
+ tools/graphify_cross_repo.py
353
357
  tools/update_agents_md.py
354
358
  website/index.html
355
359
  website/robots.txt
@@ -61,20 +61,21 @@ class Test020TokenManager(unittest.TestCase):
61
61
  self.assertEqual(tokens1.api_token, "env_api_token")
62
62
  self.assertEqual(tokens2.api_token, "env_api_token")
63
63
 
64
- @patch("ffbb_data_client.helpers.http_requests_utils.http_get_json")
64
+ @patch("ffbb_data_client.utils.token_manager.make_http_request_with_retry")
65
65
  def test_get_tokens_from_api_when_env_missing(self, mock_http):
66
66
  """Test tokens are fetched from API when env vars are missing."""
67
67
  # Clear env vars
68
68
  os.environ.pop(ENV_API_TOKEN, None)
69
69
  os.environ.pop(ENV_MEILISEARCH_TOKEN, None)
70
70
 
71
- mock_http.return_value = {
72
- "data": {
73
- "id": 1,
74
- "key_dh": "api_from_fetch",
75
- "key_ms": "ms_from_fetch",
76
- }
77
- }
71
+ from unittest.mock import MagicMock
72
+
73
+ mock_response = MagicMock()
74
+ mock_response.text = (
75
+ '{"data": {"id": 1, "key_dh": "api_from_fetch", "key_ms": "ms_from_fetch"}}'
76
+ )
77
+ mock_response.status_code = 200
78
+ mock_http.return_value = mock_response
78
79
 
79
80
  tokens = TokenManager.get_tokens()
80
81
 
@@ -82,34 +83,40 @@ class Test020TokenManager(unittest.TestCase):
82
83
  self.assertEqual(tokens.meilisearch_token, "ms_from_fetch")
83
84
  mock_http.assert_called_once()
84
85
 
85
- @patch("ffbb_data_client.helpers.http_requests_utils.http_get_json")
86
+ @patch("ffbb_data_client.utils.token_manager.make_http_request_with_retry")
86
87
  def test_get_tokens_api_failure(self, mock_http):
87
88
  """Test error handling when API fetch fails."""
88
89
  # Clear env vars
89
90
  os.environ.pop(ENV_API_TOKEN, None)
90
91
  os.environ.pop(ENV_MEILISEARCH_TOKEN, None)
91
92
 
92
- mock_http.return_value = None
93
+ from unittest.mock import MagicMock
94
+
95
+ mock_response = MagicMock()
96
+ mock_response.text = '{"data": null}'
97
+ mock_response.status_code = 200
98
+ mock_http.return_value = mock_response
93
99
 
94
100
  with self.assertRaises(RuntimeError) as context:
95
101
  TokenManager.get_tokens()
96
102
 
97
103
  self.assertIn("Failed to fetch configuration", str(context.exception))
98
104
 
99
- @patch("ffbb_data_client.helpers.http_requests_utils.http_get_json")
105
+ @patch("ffbb_data_client.utils.token_manager.make_http_request_with_retry")
100
106
  def test_get_tokens_partial_env_fetches_from_api(self, mock_http):
101
107
  """Test API fetch when only one env var is set."""
102
108
  # Set only one env var
103
109
  os.environ[ENV_API_TOKEN] = "partial_token"
104
110
  os.environ.pop(ENV_MEILISEARCH_TOKEN, None)
105
111
 
106
- mock_http.return_value = {
107
- "data": {
108
- "id": 1,
109
- "key_dh": "api_from_fetch",
110
- "key_ms": "ms_from_fetch",
111
- }
112
- }
112
+ from unittest.mock import MagicMock
113
+
114
+ mock_response = MagicMock()
115
+ mock_response.text = (
116
+ '{"data": {"id": 1, "key_dh": "api_from_fetch", "key_ms": "ms_from_fetch"}}'
117
+ )
118
+ mock_response.status_code = 200
119
+ mock_http.return_value = mock_response
113
120
 
114
121
  tokens = TokenManager.get_tokens()
115
122