ffbb-data-client 2.3.4__tar.gz → 2.3.5__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 (387) hide show
  1. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/PKG-INFO +7 -5
  2. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/README.md +4 -2
  3. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/setup.cfg +2 -2
  4. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_rest_facade.py +105 -0
  5. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_search_facade.py +7 -10
  6. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/meilisearch_client.py +19 -5
  7. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/helpers/meilisearch_client_extension.py +2 -2
  8. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/PKG-INFO +7 -5
  9. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/SOURCES.txt +8 -0
  10. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/scm_file_list.json +8 -0
  11. ffbb_data_client-2.3.5/src/ffbb_data_client.egg-info/scm_version.json +8 -0
  12. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_210_targeted_clients_helpers_coverage.py +12 -0
  13. ffbb_data_client-2.3.5/website/assets/apple-touch-icon.png +0 -0
  14. ffbb_data_client-2.3.5/website/assets/favicon-192x192.png +0 -0
  15. ffbb_data_client-2.3.5/website/assets/favicon-48x48.png +0 -0
  16. ffbb_data_client-2.3.5/website/assets/favicon-96x96.png +0 -0
  17. ffbb_data_client-2.3.5/website/assets/favicon.ico +0 -0
  18. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/website/css/style.css +4 -4
  19. ffbb_data_client-2.3.5/website/favicon.ico +0 -0
  20. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/website/index.html +218 -99
  21. ffbb_data_client-2.3.5/website/llms-full.txt +21 -0
  22. ffbb_data_client-2.3.5/website/llms.txt +34 -0
  23. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/website/sitemap.xml +2 -2
  24. ffbb_data_client-2.3.4/src/ffbb_data_client.egg-info/scm_version.json +0 -8
  25. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.agents/rules/antigravity-rtk-rules.md +0 -0
  26. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.coveragerc +0 -0
  27. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.gitattributes +0 -0
  28. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/FUNDING.yml +0 -0
  29. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  30. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  31. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  32. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/dependabot.yml +0 -0
  33. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/scripts/ai-pr-reviewer.cjs +0 -0
  34. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/scripts/check_wrapper_parity.py +0 -0
  35. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/ai-pr-reviewer.yml +0 -0
  36. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/check_wrapper_parity.yml +0 -0
  37. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/ci.yml +0 -0
  38. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/codeql.yml +0 -0
  39. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/deploy-pages.yml +0 -0
  40. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/keep-ffbb-api-discovery-alive.yml +0 -0
  41. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/publish.yml +0 -0
  42. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/release-after-discovery-merge.yml +0 -0
  43. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.github/workflows/update-ffbb-api-discovery.yml +0 -0
  44. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.gitignore +0 -0
  45. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.isort.cfg +0 -0
  46. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.jules/bolt.md +0 -0
  47. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.pre-commit-config.yaml +0 -0
  48. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/.readthedocs.yml +0 -0
  49. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/AGENTS.md +0 -0
  50. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/AUTHORS.rst +0 -0
  51. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/CHANGELOG.md +0 -0
  52. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/CODE_OF_CONDUCT.md +0 -0
  53. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/CONTRIBUTING.rst +0 -0
  54. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/DESIGN.md +0 -0
  55. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/LICENSE.txt +0 -0
  56. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/LOCAL_CI_GUIDE.md +0 -0
  57. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/RELEASE_NOTES.md +0 -0
  58. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/SECURITY.md +0 -0
  59. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/api.ffbb.app.json +0 -0
  60. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/api_update_summary.md +0 -0
  61. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/collections.json +0 -0
  62. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/endpoint_discovery.json +0 -0
  63. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/indexes.json +0 -0
  64. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/meilisearch-prod.ffbb.app.json +0 -0
  65. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/openapi.json +0 -0
  66. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/openapi_full.json +0 -0
  67. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/data/type_discovery_corrections.json +0 -0
  68. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/Makefile +0 -0
  69. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/_static/.gitignore +0 -0
  70. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/architecture.rst +0 -0
  71. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/authors.rst +0 -0
  72. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/changelog.rst +0 -0
  73. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/conf.py +0 -0
  74. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/contributing.rst +0 -0
  75. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/examples.rst +0 -0
  76. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/index.rst +0 -0
  77. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/license.rst +0 -0
  78. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/migration.rst +0 -0
  79. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/readme.rst +0 -0
  80. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/requirements.txt +0 -0
  81. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/test_strategy.md +0 -0
  82. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/docs/testing_conventions.md +0 -0
  83. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/examples/README.md +0 -0
  84. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/examples/complete_usage_example.py +0 -0
  85. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/examples/quick_start.py +0 -0
  86. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/examples/team_ranking_analysis.py +0 -0
  87. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/graphify-cross-repo.json +0 -0
  88. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/pyproject.toml +0 -0
  89. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/pytest.ini +0 -0
  90. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/run-ci-locally.sh +0 -0
  91. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/scripts/benchmark_concurrent_pagination.py +0 -0
  92. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/scripts/benchmark_search_organisme.py +0 -0
  93. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/scripts/discover_endpoints.py +0 -0
  94. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/scripts/discover_types.py +0 -0
  95. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/setup.py +0 -0
  96. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/__init__.py +0 -0
  97. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/__init__.py +0 -0
  98. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_helpers.py +0 -0
  99. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/__init__.py +0 -0
  100. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/competition.py +0 -0
  101. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/external.py +0 -0
  102. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/getters.py +0 -0
  103. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/list_methods.py +0 -0
  104. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/_mixins/organisme.py +0 -0
  105. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/api_ffbb_app_client.py +0 -0
  106. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/ffbb_data_client.py +0 -0
  107. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/clients/meilisearch_ffbb_client.py +0 -0
  108. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/config.py +0 -0
  109. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/data/__init__.py +0 -0
  110. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/data/collections.json +0 -0
  111. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/data/endpoint_discovery.json +0 -0
  112. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/data/indexes.json +0 -0
  113. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/data/openapi.json +0 -0
  114. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/helpers/__init__.py +0 -0
  115. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/helpers/http_requests_helper.py +0 -0
  116. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/helpers/http_requests_utils.py +0 -0
  117. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/helpers/multi_search_query_helper.py +0 -0
  118. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/__init__.py +0 -0
  119. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/affiche.py +0 -0
  120. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/cartographie.py +0 -0
  121. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/categorie.py +0 -0
  122. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/categorie_type.py +0 -0
  123. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/clock.py +0 -0
  124. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/club_contacts.py +0 -0
  125. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/code.py +0 -0
  126. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/commune.py +0 -0
  127. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_fields.py +0 -0
  128. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_id.py +0 -0
  129. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_id_categorie.py +0 -0
  130. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_id_sexe.py +0 -0
  131. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_id_type_competition.py +0 -0
  132. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_id_type_competition_generique.py +0 -0
  133. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_origine.py +0 -0
  134. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_origine_categorie.py +0 -0
  135. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_origine_type_competition.py +0 -0
  136. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_origine_type_competition_generique.py +0 -0
  137. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competition_type.py +0 -0
  138. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competitions_facet_distribution.py +0 -0
  139. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competitions_facet_stats.py +0 -0
  140. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competitions_hit.py +0 -0
  141. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competitions_multi_search_query.py +0 -0
  142. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/competitions_query.py +0 -0
  143. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/configuration_models.py +0 -0
  144. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/contact_info.py +0 -0
  145. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/content_multi_search_query.py +0 -0
  146. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/coordonnees.py +0 -0
  147. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/coordonnees_type.py +0 -0
  148. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/document_flyer.py +0 -0
  149. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/document_flyer_type.py +0 -0
  150. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/engagement_contacts.py +0 -0
  151. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/engagements_facet_distribution.py +0 -0
  152. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/engagements_facet_stats.py +0 -0
  153. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/engagements_hit.py +0 -0
  154. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/engagements_multi_search_query.py +0 -0
  155. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/etat.py +0 -0
  156. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/external_competition_id.py +0 -0
  157. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/external_id.py +0 -0
  158. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/facet_distribution.py +0 -0
  159. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/facet_stats.py +0 -0
  160. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/field_set.py +0 -0
  161. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/folder.py +0 -0
  162. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/formation_session.py +0 -0
  163. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/formations_facet_distribution.py +0 -0
  164. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/formations_facet_stats.py +0 -0
  165. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/formations_hit.py +0 -0
  166. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/formations_multi_search_query.py +0 -0
  167. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/game_stats_model.py +0 -0
  168. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/game_stats_models.py +0 -0
  169. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/generic_search.py +0 -0
  170. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/geo.py +0 -0
  171. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/geo_sort_order.py +0 -0
  172. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_commune_response.py +0 -0
  173. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_competition_response.py +0 -0
  174. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_configuration_response.py +0 -0
  175. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_engagement_response.py +0 -0
  176. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_entraineur_response.py +0 -0
  177. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_formation_response.py +0 -0
  178. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_officiel_response.py +0 -0
  179. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_organisme_response.py +0 -0
  180. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_poule_response.py +0 -0
  181. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_pratique_response.py +0 -0
  182. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_rencontre_response.py +0 -0
  183. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_saisons_response.py +0 -0
  184. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_salle_response.py +0 -0
  185. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_terrain_response.py +0 -0
  186. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/get_tournoi_response.py +0 -0
  187. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/gradient_color.py +0 -0
  188. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/hit.py +0 -0
  189. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/id_engagement_equipe.py +0 -0
  190. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/id_organisme_equipe.py +0 -0
  191. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/id_organisme_equipe1_logo.py +0 -0
  192. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/id_poule.py +0 -0
  193. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/jour.py +0 -0
  194. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/label.py +0 -0
  195. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/labellisation.py +0 -0
  196. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/live.py +0 -0
  197. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/lives.py +0 -0
  198. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/logo.py +0 -0
  199. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_queries.py +0 -0
  200. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_query.py +0 -0
  201. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_competitions.py +0 -0
  202. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_engagements.py +0 -0
  203. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_formations.py +0 -0
  204. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_organismes.py +0 -0
  205. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_pratiques.py +0 -0
  206. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_rencontres.py +0 -0
  207. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_salles.py +0 -0
  208. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_terrains.py +0 -0
  209. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_result_tournois.py +0 -0
  210. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_results.py +0 -0
  211. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/multi_search_results_class.py +0 -0
  212. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/nature_sol.py +0 -0
  213. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau.py +0 -0
  214. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau_class.py +0 -0
  215. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau_extractor.py +0 -0
  216. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau_info.py +0 -0
  217. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau_models.py +0 -0
  218. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/niveau_type.py +0 -0
  219. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/objectif.py +0 -0
  220. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organisateur.py +0 -0
  221. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organisateur_type.py +0 -0
  222. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organisme_fields.py +0 -0
  223. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organisme_id_pere.py +0 -0
  224. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organismes_facet_distribution.py +0 -0
  225. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organismes_facet_stats.py +0 -0
  226. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organismes_hit.py +0 -0
  227. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organismes_multi_search_query.py +0 -0
  228. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/organismes_query.py +0 -0
  229. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/phase_code.py +0 -0
  230. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/poule.py +0 -0
  231. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/poule_fields.py +0 -0
  232. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/poule_rencontre_item_model.py +0 -0
  233. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/poules_models.py +0 -0
  234. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/poules_query.py +0 -0
  235. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratique.py +0 -0
  236. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_facet_distribution.py +0 -0
  237. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_facet_stats.py +0 -0
  238. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_hit.py +0 -0
  239. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_hit_type.py +0 -0
  240. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_multi_search_query.py +0 -0
  241. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/pratiques_type_class.py +0 -0
  242. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/publication_internet.py +0 -0
  243. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/purple_logo.py +0 -0
  244. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/query_fields_manager.py +0 -0
  245. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/ranking_engagement.py +0 -0
  246. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rankings_models.py +0 -0
  247. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rencontres_engagement.py +0 -0
  248. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rencontres_facet_distribution.py +0 -0
  249. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rencontres_facet_stats.py +0 -0
  250. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rencontres_hit.py +0 -0
  251. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/rencontres_multi_search_query.py +0 -0
  252. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/saison.py +0 -0
  253. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/saison_fields.py +0 -0
  254. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/saisons_models.py +0 -0
  255. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/saisons_query.py +0 -0
  256. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/salle.py +0 -0
  257. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/salles_facet_distribution.py +0 -0
  258. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/salles_facet_stats.py +0 -0
  259. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/salles_hit.py +0 -0
  260. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/salles_multi_search_query.py +0 -0
  261. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/sexe.py +0 -0
  262. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/sexe_class.py +0 -0
  263. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/source.py +0 -0
  264. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/status.py +0 -0
  265. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/team_engagement.py +0 -0
  266. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/team_ranking.py +0 -0
  267. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_categorie_championnat_3x3_libelle.py +0 -0
  268. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_facet_distribution.py +0 -0
  269. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_facet_stats.py +0 -0
  270. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_hit.py +0 -0
  271. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_multi_search_query.py +0 -0
  272. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_name.py +0 -0
  273. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_sexe_enum.py +0 -0
  274. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/terrains_storage.py +0 -0
  275. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournoi_type_class.py +0 -0
  276. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournoi_type_enum.py +0 -0
  277. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournoi_types_3x3.py +0 -0
  278. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournoi_types_3x3_libelle.py +0 -0
  279. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournoi_types_3x3_libelle_enum.py +0 -0
  280. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_facet_distribution.py +0 -0
  281. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_facet_stats.py +0 -0
  282. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_hit.py +0 -0
  283. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_hit_type.py +0 -0
  284. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_libelle.py +0 -0
  285. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/tournois_multi_search_query.py +0 -0
  286. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_association.py +0 -0
  287. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_association_libelle.py +0 -0
  288. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_class.py +0 -0
  289. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_competition.py +0 -0
  290. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_competition_generique.py +0 -0
  291. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_enum.py +0 -0
  292. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/models/type_league.py +0 -0
  293. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/py.typed +0 -0
  294. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/__init__.py +0 -0
  295. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/cache_manager.py +0 -0
  296. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/concurrency_utils.py +0 -0
  297. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/converter_utils.py +0 -0
  298. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/input_validation.py +0 -0
  299. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/retry_utils.py +0 -0
  300. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/secure_logging.py +0 -0
  301. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client/utils/token_manager.py +0 -0
  302. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/dependency_links.txt +0 -0
  303. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/not-zip-safe +0 -0
  304. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/requires.txt +0 -0
  305. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/src/ffbb_data_client.egg-info/top_level.txt +0 -0
  306. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/conftest.py +0 -0
  307. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/e2e/__init__.py +0 -0
  308. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/e2e/conftest.py +0 -0
  309. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/__init__.py +0 -0
  310. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/conftest.py +0 -0
  311. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_500_user_journey.py +0 -0
  312. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_501_user_journey_v3.py +0 -0
  313. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_502_enhanced_integration.py +0 -0
  314. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_503_secure_logging.py +0 -0
  315. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_504_input_validation.py +0 -0
  316. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_505_retry_timeout.py +0 -0
  317. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/integration/test_506_raw_json_model_conversion.py +0 -0
  318. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/__init__.py +0 -0
  319. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/__init__.py +0 -0
  320. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_200_api_ffbb_app_client.py +0 -0
  321. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_201_unit_tests_core.py +0 -0
  322. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_202_meilisearch_client.py +0 -0
  323. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_203_meilisearch_client_extension.py +0 -0
  324. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_204_ffbb_data_client.py +0 -0
  325. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_205_meilisearch_ffbb_client.py +0 -0
  326. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_206_coverage_gaps_clients.py +0 -0
  327. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_207_coverage_clients_extended.py +0 -0
  328. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_208_new_methods_coverage.py +0 -0
  329. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_209_automatic_token_resolution.py +0 -0
  330. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_async_methods.py +0 -0
  331. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_meilisearch_async.py +0 -0
  332. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_search_many.py +0 -0
  333. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_v2_backport_search.py +0 -0
  334. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_v3_new_features.py +0 -0
  335. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/clients/test_warm_cache.py +0 -0
  336. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/conftest.py +0 -0
  337. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/helpers/__init__.py +0 -0
  338. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/helpers/test_400_http_helpers.py +0 -0
  339. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/helpers/test_meilisearch_client_extension_recursive_pagination.py +0 -0
  340. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/helpers/test_meilisearch_pagination_concurrent.py +0 -0
  341. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/__init__.py +0 -0
  342. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_100_competition_id_categorie.py +0 -0
  343. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_101_competition_id_sexe.py +0 -0
  344. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_102_competition_id_type_competition.py +0 -0
  345. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_103_competition_id_type_competition_generique.py +0 -0
  346. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_104_competition_origine_categorie.py +0 -0
  347. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_105_competition_origine_type_competition_generique.py +0 -0
  348. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_106_competition_origine.py +0 -0
  349. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_107_id_engagement_equipe.py +0 -0
  350. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_108_id_organisme_equipe.py +0 -0
  351. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_109_id_organisme_equipe1_logo.py +0 -0
  352. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_110_labellisation.py +0 -0
  353. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_111_niveau_class.py +0 -0
  354. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_112_purple_logo.py +0 -0
  355. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_113_salle.py +0 -0
  356. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_114_tournoi_type_class.py +0 -0
  357. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_115_type_association_libelle.py +0 -0
  358. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_116_type_competition_generique.py +0 -0
  359. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_117_organisateur.py +0 -0
  360. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_118_competition_id.py +0 -0
  361. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_119_terrains_inner_models.py +0 -0
  362. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_120_pratiques_inner_models.py +0 -0
  363. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_121_to_dict_round_trip.py +0 -0
  364. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_122_coverage_gaps.py +0 -0
  365. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_123_missing_coverage.py +0 -0
  366. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_123_v2_backport.py +0 -0
  367. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_124_targeted_coverage_gains.py +0 -0
  368. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/models/test_dx_aliases.py +0 -0
  369. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/test_310_discover_endpoints.py +0 -0
  370. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/__init__.py +0 -0
  371. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_300_secure_logging.py +0 -0
  372. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_301_input_validation.py +0 -0
  373. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_302_retry_utils.py +0 -0
  374. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_303_cache_manager.py +0 -0
  375. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_304_config.py +0 -0
  376. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_305_token_manager.py +0 -0
  377. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_306_converter_utils.py +0 -0
  378. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_307_coverage_gaps_utils.py +0 -0
  379. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_308_converter_utils_extended.py +0 -0
  380. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tests/unit/utils/test_309_concurrency_utils.py +0 -0
  381. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tools/add_cross_repo_edges.py +0 -0
  382. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tools/graphify-cross-repo.sh +0 -0
  383. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tools/graphify_cross_repo.py +0 -0
  384. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tools/update_agents_md.py +0 -0
  385. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/tox.ini +0 -0
  386. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/website/assets/logo.webp +0 -0
  387. {ffbb_data_client-2.3.4 → ffbb_data_client-2.3.5}/website/robots.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ffbb-data-client
3
- Version: 2.3.4
4
- Summary: FFBB Data Client — SDK Python asynchrone pour les Statistiques de Basket France. Type-safe Pydantic models, async/sync, Meilisearch.
3
+ Version: 2.3.5
4
+ Summary: API FFBB — SDK Python moderne & asynchrone pour les donnees officielles de la Federation Francaise de BasketBall (clubs, classements, calendriers, lives, Meilisearch). Alternative moderne a ffbb-api-client.
5
5
  Home-page: https://github.com/nickdesi/ffbb-data-client
6
6
  Author: nickdesi
7
7
  Author-email: nicolas.desimone@gmail.com
@@ -12,7 +12,7 @@ Project-URL: Source, https://github.com/nickdesi/ffbb-data-client
12
12
  Project-URL: Changelog, https://github.com/nickdesi/ffbb-data-client/blob/master/CHANGELOG.md
13
13
  Project-URL: Tracker, https://github.com/nickdesi/ffbb-data-client/issues
14
14
  Project-URL: Release Notes, https://github.com/nickdesi/ffbb-data-client/blob/master/RELEASE_NOTES.md
15
- Keywords: ffbb,basketball,statistiques,france,api,python-sdk,pydantic,asynchrone,meilisearch,basket-france
15
+ Keywords: ffbb-api,api-ffbb,ffbb,api,basketball,basket-france,statistiques,python-sdk,pydantic,asynchrone,meilisearch,ffbb-api-client,ffbb-api-client-v2,open-data-basket,live-scores
16
16
  Platform: any
17
17
  Classifier: Development Status :: 4 - Beta
18
18
  Classifier: Programming Language :: Python
@@ -52,9 +52,11 @@ Dynamic: license-file
52
52
 
53
53
  <div align="center">
54
54
 
55
- # 🏀 FFBB Data Client
55
+ # 🏀 FFBB Data Client — API FFBB Python SDK
56
56
 
57
- **SDK Python moderne, typé et asynchrone pour exploiter les données publiques FFBB : clubs, compétitions, rencontres, classements, salles, officiels et recherche Meilisearch.**
57
+ **SDK Python moderne, typé et asynchrone pour exploiter l'API FFBB et ses données officielles : clubs, compétitions, rencontres, classements, salles, officiels, scores en direct (lives) et recherche Meilisearch.**
58
+
59
+ *Alternative moderne, performante et maintenue aux anciens packages `ffbb-api-client` et `ffbb-api-client-v2`.*
58
60
 
59
61
  [![PyPI](https://img.shields.io/pypi/v/ffbb-data-client?color=blue&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
60
62
  [![Python](https://img.shields.io/pypi/pyversions/ffbb-data-client?logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
@@ -1,8 +1,10 @@
1
1
  <div align="center">
2
2
 
3
- # 🏀 FFBB Data Client
3
+ # 🏀 FFBB Data Client — API FFBB Python SDK
4
4
 
5
- **SDK Python moderne, typé et asynchrone pour exploiter les données publiques FFBB : clubs, compétitions, rencontres, classements, salles, officiels et recherche Meilisearch.**
5
+ **SDK Python moderne, typé et asynchrone pour exploiter l'API FFBB et ses données officielles : clubs, compétitions, rencontres, classements, salles, officiels, scores en direct (lives) et recherche Meilisearch.**
6
+
7
+ *Alternative moderne, performante et maintenue aux anciens packages `ffbb-api-client` et `ffbb-api-client-v2`.*
6
8
 
7
9
  [![PyPI](https://img.shields.io/pypi/v/ffbb-data-client?color=blue&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
8
10
  [![Python](https://img.shields.io/pypi/pyversions/ffbb-data-client?logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
@@ -1,9 +1,9 @@
1
1
  [metadata]
2
2
  name = ffbb-data-client
3
- description = FFBB Data Client — SDK Python asynchrone pour les Statistiques de Basket France. Type-safe Pydantic models, async/sync, Meilisearch.
3
+ description = API FFBB — SDK Python moderne & asynchrone pour les donnees officielles de la Federation Francaise de BasketBall (clubs, classements, calendriers, lives, Meilisearch). Alternative moderne a ffbb-api-client.
4
4
  author = nickdesi
5
5
  author_email = nicolas.desimone@gmail.com
6
- keywords = ffbb, basketball, statistiques, france, api, python-sdk, pydantic, asynchrone, meilisearch, basket-france
6
+ keywords = ffbb-api, api-ffbb, ffbb, api, basketball, basket-france, statistiques, python-sdk, pydantic, asynchrone, meilisearch, ffbb-api-client, ffbb-api-client-v2, open-data-basket, live-scores
7
7
  license = Apache-2.0
8
8
  license_files = LICENSE.txt
9
9
  long_description = file: README.md
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import asyncio
3
4
  import json
4
5
  from typing import Any
5
6
 
@@ -1732,3 +1733,107 @@ class _RestFacade:
1732
1733
  )
1733
1734
  )
1734
1735
  return results
1736
+
1737
+ async def list_engagements_by_ids_async(
1738
+ self, ids: list[int], cached_session: httpx.AsyncClient | None = None
1739
+ ) -> list[GetEngagementResponse]:
1740
+ if not ids:
1741
+ return []
1742
+ chunks = self._chunked(ids, self._BATCH_CHUNK_SIZE)
1743
+ tasks = [
1744
+ self.list_engagements_async(
1745
+ limit=len(chunk),
1746
+ filter_criteria=json.dumps({"id": {"_in": chunk}}),
1747
+ cached_session=cached_session,
1748
+ )
1749
+ for chunk in chunks
1750
+ ]
1751
+ chunk_results = await asyncio.gather(*tasks)
1752
+ results: list[GetEngagementResponse] = []
1753
+ for chunk_res in chunk_results:
1754
+ if chunk_res:
1755
+ results.extend(chunk_res)
1756
+ return results
1757
+
1758
+ async def list_engagements_by_poule_async(
1759
+ self, poule_id: int, cached_session: httpx.AsyncClient | None = None
1760
+ ) -> list[GetEngagementResponse]:
1761
+ return await self.list_engagements_async(
1762
+ limit=250,
1763
+ filter_criteria=json.dumps({"idPoule": {"_eq": poule_id}}),
1764
+ cached_session=cached_session,
1765
+ )
1766
+
1767
+ async def list_engagements_by_poules_async(
1768
+ self, poule_ids: list[int], cached_session: httpx.AsyncClient | None = None
1769
+ ) -> list[GetEngagementResponse]:
1770
+ if not poule_ids:
1771
+ return []
1772
+ chunks = self._chunked(poule_ids, self._BATCH_CHUNK_SIZE)
1773
+ tasks = [
1774
+ self.list_engagements_async(
1775
+ limit=len(chunk) * 15,
1776
+ filter_criteria=json.dumps({"idPoule": {"_in": chunk}}),
1777
+ cached_session=cached_session,
1778
+ )
1779
+ for chunk in chunks
1780
+ ]
1781
+ chunk_results = await asyncio.gather(*tasks)
1782
+ results: list[GetEngagementResponse] = []
1783
+ for chunk_res in chunk_results:
1784
+ if chunk_res:
1785
+ results.extend(chunk_res)
1786
+ return results
1787
+
1788
+ async def list_rencontres_by_poule_async(
1789
+ self, poule_id: int, cached_session: httpx.AsyncClient | None = None
1790
+ ) -> list[GetRencontreResponse]:
1791
+ return await self.list_rencontres_async(
1792
+ limit=500,
1793
+ filter_criteria=json.dumps({"idPoule": {"_eq": poule_id}}),
1794
+ cached_session=cached_session,
1795
+ )
1796
+
1797
+ async def list_rencontres_by_poules_async(
1798
+ self, poule_ids: list[int], cached_session: httpx.AsyncClient | None = None
1799
+ ) -> list[GetRencontreResponse]:
1800
+ if not poule_ids:
1801
+ return []
1802
+ chunks = self._chunked(poule_ids, self._BATCH_CHUNK_SIZE)
1803
+ tasks = [
1804
+ self.list_rencontres_async(
1805
+ limit=len(chunk) * 30,
1806
+ filter_criteria=json.dumps({"idPoule": {"_in": chunk}}),
1807
+ cached_session=cached_session,
1808
+ )
1809
+ for chunk in chunks
1810
+ ]
1811
+ chunk_results = await asyncio.gather(*tasks)
1812
+ results: list[GetRencontreResponse] = []
1813
+ for chunk_res in chunk_results:
1814
+ if chunk_res:
1815
+ results.extend(chunk_res)
1816
+ return results
1817
+
1818
+ async def list_entraineurs_by_ids_async(
1819
+ self, ids: list[int], cached_session: httpx.AsyncClient | None = None
1820
+ ) -> list[GetEntraineurResponse]:
1821
+ if not ids:
1822
+ return []
1823
+ chunks = self._chunked(ids, self._BATCH_CHUNK_SIZE)
1824
+ tasks = [
1825
+ self.list_entraineurs_async(
1826
+ limit=len(chunk),
1827
+ filter_criteria=json.dumps(
1828
+ {"idLicence": {"_in": [str(i) for i in chunk]}}
1829
+ ),
1830
+ cached_session=cached_session,
1831
+ )
1832
+ for chunk in chunks
1833
+ ]
1834
+ chunk_results = await asyncio.gather(*tasks)
1835
+ results: list[GetEntraineurResponse] = []
1836
+ for chunk_res in chunk_results:
1837
+ if chunk_res:
1838
+ results.extend(chunk_res)
1839
+ return results
@@ -403,16 +403,13 @@ class _SearchFacade:
403
403
  if categorie:
404
404
  for res in rencontres_results:
405
405
  if res.hits:
406
- filtered_hits = []
407
- for hit in res.hits:
408
- comp = hit.competition_id
409
- cat = comp.categorie if comp else None
410
- if (
411
- comp
412
- and cat
413
- and (cat.code == categorie or cat.libelle == categorie)
414
- ):
415
- filtered_hits.append(hit)
406
+ filtered_hits = [
407
+ hit
408
+ for hit in res.hits
409
+ if (comp := hit.competition_id)
410
+ and (cat := comp.categorie)
411
+ and (cat.code == categorie or cat.libelle == categorie)
412
+ ]
416
413
  res.hits = filtered_hits
417
414
  res.estimated_total_hits = len(filtered_hits)
418
415
  return rencontres_results
@@ -61,8 +61,24 @@ def _cache_set(key: str, value: Any) -> None:
61
61
  _APP_CACHE[key] = (time.monotonic(), value)
62
62
 
63
63
 
64
+ def _clone_multi_search_results(
65
+ res: MultiSearchResults | None,
66
+ ) -> MultiSearchResults | None:
67
+ if res is None:
68
+ return None
69
+ if res.results is None:
70
+ return MultiSearchResults(results=None)
71
+ cloned_results = []
72
+ for r in res.results:
73
+ r_copy = copy.copy(r)
74
+ if r.hits is not None:
75
+ r_copy.hits = list(r.hits)
76
+ cloned_results.append(r_copy)
77
+ return MultiSearchResults(results=cloned_results)
78
+
79
+
64
80
  def _cache_result_object(key: str, result: MultiSearchResults) -> None:
65
- _cache_set(key, copy.deepcopy(result))
81
+ _cache_set(key, _clone_multi_search_results(result))
66
82
 
67
83
 
68
84
  def clear_meili_app_cache() -> None:
@@ -162,8 +178,7 @@ class MeilisearchClient:
162
178
  key = _make_cache_key(queries)
163
179
  cached = _cache_get(key)
164
180
  if cached is not None:
165
- cached_copy: MultiSearchResults = copy.deepcopy(cached)
166
- return cached_copy
181
+ return _clone_multi_search_results(cached)
167
182
 
168
183
  url = f"{self.url}{MEILISEARCH_ENDPOINT_MULTI_SEARCH}"
169
184
  params = {"queries": [query.to_dict() for query in queries] if queries else []}
@@ -193,8 +208,7 @@ class MeilisearchClient:
193
208
  key = _make_cache_key(queries)
194
209
  cached = _cache_get(key)
195
210
  if cached is not None:
196
- cached_copy: MultiSearchResults = copy.deepcopy(cached)
197
- return cached_copy
211
+ return _clone_multi_search_results(cached)
198
212
 
199
213
  url = f"{self.url}{MEILISEARCH_ENDPOINT_MULTI_SEARCH}"
200
214
  params = {"queries": [query.to_dict() for query in queries] if queries else []}
@@ -31,7 +31,7 @@ def _apply_query_filters(
31
31
  result_list = results.results
32
32
  results.results = [
33
33
  query.filter_result(res) if query.q else res
34
- for query, res in zip(queries, result_list, strict=True)
34
+ for query, res in zip(queries, result_list, strict=False)
35
35
  ]
36
36
  return results
37
37
 
@@ -51,7 +51,7 @@ def _build_pagination_jobs(
51
51
  return jobs
52
52
 
53
53
  for i, (query, query_result) in enumerate(
54
- zip(queries, result.results, strict=True)
54
+ zip(queries, result.results, strict=False)
55
55
  ):
56
56
  if query_result.hits is None:
57
57
  continue
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ffbb-data-client
3
- Version: 2.3.4
4
- Summary: FFBB Data Client — SDK Python asynchrone pour les Statistiques de Basket France. Type-safe Pydantic models, async/sync, Meilisearch.
3
+ Version: 2.3.5
4
+ Summary: API FFBB — SDK Python moderne & asynchrone pour les donnees officielles de la Federation Francaise de BasketBall (clubs, classements, calendriers, lives, Meilisearch). Alternative moderne a ffbb-api-client.
5
5
  Home-page: https://github.com/nickdesi/ffbb-data-client
6
6
  Author: nickdesi
7
7
  Author-email: nicolas.desimone@gmail.com
@@ -12,7 +12,7 @@ Project-URL: Source, https://github.com/nickdesi/ffbb-data-client
12
12
  Project-URL: Changelog, https://github.com/nickdesi/ffbb-data-client/blob/master/CHANGELOG.md
13
13
  Project-URL: Tracker, https://github.com/nickdesi/ffbb-data-client/issues
14
14
  Project-URL: Release Notes, https://github.com/nickdesi/ffbb-data-client/blob/master/RELEASE_NOTES.md
15
- Keywords: ffbb,basketball,statistiques,france,api,python-sdk,pydantic,asynchrone,meilisearch,basket-france
15
+ Keywords: ffbb-api,api-ffbb,ffbb,api,basketball,basket-france,statistiques,python-sdk,pydantic,asynchrone,meilisearch,ffbb-api-client,ffbb-api-client-v2,open-data-basket,live-scores
16
16
  Platform: any
17
17
  Classifier: Development Status :: 4 - Beta
18
18
  Classifier: Programming Language :: Python
@@ -52,9 +52,11 @@ Dynamic: license-file
52
52
 
53
53
  <div align="center">
54
54
 
55
- # 🏀 FFBB Data Client
55
+ # 🏀 FFBB Data Client — API FFBB Python SDK
56
56
 
57
- **SDK Python moderne, typé et asynchrone pour exploiter les données publiques FFBB : clubs, compétitions, rencontres, classements, salles, officiels et recherche Meilisearch.**
57
+ **SDK Python moderne, typé et asynchrone pour exploiter l'API FFBB et ses données officielles : clubs, compétitions, rencontres, classements, salles, officiels, scores en direct (lives) et recherche Meilisearch.**
58
+
59
+ *Alternative moderne, performante et maintenue aux anciens packages `ffbb-api-client` et `ffbb-api-client-v2`.*
58
60
 
59
61
  [![PyPI](https://img.shields.io/pypi/v/ffbb-data-client?color=blue&label=PyPI&logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
60
62
  [![Python](https://img.shields.io/pypi/pyversions/ffbb-data-client?logo=python&logoColor=white)](https://pypi.org/project/ffbb-data-client/)
@@ -370,8 +370,16 @@ tools/add_cross_repo_edges.py
370
370
  tools/graphify-cross-repo.sh
371
371
  tools/graphify_cross_repo.py
372
372
  tools/update_agents_md.py
373
+ website/favicon.ico
373
374
  website/index.html
375
+ website/llms-full.txt
376
+ website/llms.txt
374
377
  website/robots.txt
375
378
  website/sitemap.xml
379
+ website/assets/apple-touch-icon.png
380
+ website/assets/favicon-192x192.png
381
+ website/assets/favicon-48x48.png
382
+ website/assets/favicon-96x96.png
383
+ website/assets/favicon.ico
376
384
  website/assets/logo.webp
377
385
  website/css/style.css
@@ -364,9 +364,17 @@
364
364
  "tools/graphify_cross_repo.py",
365
365
  "tools/update_agents_md.py",
366
366
  "tox.ini",
367
+ "website/assets/apple-touch-icon.png",
368
+ "website/assets/favicon-192x192.png",
369
+ "website/assets/favicon-48x48.png",
370
+ "website/assets/favicon-96x96.png",
371
+ "website/assets/favicon.ico",
367
372
  "website/assets/logo.webp",
368
373
  "website/css/style.css",
374
+ "website/favicon.ico",
369
375
  "website/index.html",
376
+ "website/llms-full.txt",
377
+ "website/llms.txt",
370
378
  "website/robots.txt",
371
379
  "website/sitemap.xml"
372
380
  ]
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "2.3.5",
3
+ "distance": 0,
4
+ "node": "gadd603fd501b286f8a6b3be5f0eaf62c6d84660c",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-21"
8
+ }
@@ -76,6 +76,18 @@ class TestTargetedMeilisearchExtensionCoverage(unittest.IsolatedAsyncioTestCase)
76
76
  def _client(self) -> MeilisearchClientExtension:
77
77
  return MeilisearchClientExtension("token", "https://example.test/")
78
78
 
79
+ def test_smart_multi_search_mismatched_lengths_does_not_raise(self) -> None:
80
+ client = self._client()
81
+ result1 = MultiSearchResult(hits=[_Hit(True)], estimated_total_hits=1)
82
+ queries = [MultiSearchQuery(q="Senas"), MultiSearchQuery(q="Other")]
83
+ # results has only 1 element while queries has 2
84
+ client.multi_search = MagicMock(return_value=MultiSearchResults([result1]))
85
+
86
+ result = client.smart_multi_search(queries)
87
+ self.assertIsNotNone(result)
88
+ assert result is not None and result.results is not None
89
+ self.assertEqual(len(result.results), 1)
90
+
79
91
  def test_smart_multi_search_filters_only_queries_with_q(self) -> None:
80
92
  client = self._client()
81
93
  result_with_q = MultiSearchResult(
@@ -950,20 +950,20 @@ section {
950
950
  grid-template-columns: 1fr;
951
951
  gap: 2.25rem;
952
952
  }
953
-
953
+
954
954
  .tools-grid, .usecases-grid {
955
955
  grid-template-columns: repeat(2, minmax(0, 1fr));
956
956
  }
957
-
957
+
958
958
  .ai-banner {
959
959
  grid-template-columns: 1fr;
960
960
  padding: 2rem;
961
961
  }
962
-
962
+
963
963
  .faq-grid {
964
964
  grid-template-columns: 1fr;
965
965
  }
966
-
966
+
967
967
  .footer-grid {
968
968
  grid-template-columns: repeat(2, minmax(0, 1fr));
969
969
  gap: 1.75rem;