ffbb-data-client 2.3.4__tar.gz → 2.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/AGENTS.md +12 -6
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/CHANGELOG.md +11 -0
- ffbb_data_client-2.4.0/Dockerfile +37 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/PKG-INFO +11 -5
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/README.md +4 -2
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/RELEASE_NOTES.md +14 -1
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/examples/team_ranking_analysis.py +3 -3
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/setup.cfg +6 -2
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/__init__.py +3 -2
- ffbb_data_client-2.4.0/src/ffbb_data_client/api.py +504 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/competition.py +2 -2
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_rest_facade.py +105 -2
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_search_facade.py +7 -10
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/api_ffbb_app_client.py +2 -2
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/ffbb_data_client.py +16 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/meilisearch_client.py +19 -5
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/helpers/__init__.py +12 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/helpers/meilisearch_client_extension.py +2 -2
- ffbb_data_client-2.4.0/src/ffbb_data_client/helpers/normalization.py +128 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/retry_utils.py +12 -1
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/PKG-INFO +11 -5
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/SOURCES.txt +12 -4
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/requires.txt +5 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/scm_file_list.json +12 -4
- ffbb_data_client-2.4.0/src/ffbb_data_client.egg-info/scm_version.json +8 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_502_enhanced_integration.py +1 -1
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_506_raw_json_model_conversion.py +11 -10
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_210_targeted_clients_helpers_coverage.py +12 -0
- ffbb_data_client-2.4.0/tests/unit/helpers/test_normalization.py +36 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_124_targeted_coverage_gains.py +8 -3
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tools/update_agents_md.py +6 -0
- ffbb_data_client-2.4.0/website/assets/apple-touch-icon.png +0 -0
- ffbb_data_client-2.4.0/website/assets/favicon-192x192.png +0 -0
- ffbb_data_client-2.4.0/website/assets/favicon-48x48.png +0 -0
- ffbb_data_client-2.4.0/website/assets/favicon-96x96.png +0 -0
- ffbb_data_client-2.4.0/website/assets/favicon.ico +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/website/css/style.css +4 -4
- ffbb_data_client-2.4.0/website/favicon.ico +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/website/index.html +218 -99
- ffbb_data_client-2.4.0/website/llms-full.txt +21 -0
- ffbb_data_client-2.4.0/website/llms.txt +34 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/website/sitemap.xml +2 -2
- ffbb_data_client-2.3.4/graphify-cross-repo.json +0 -28
- ffbb_data_client-2.3.4/src/ffbb_data_client.egg-info/scm_version.json +0 -8
- ffbb_data_client-2.3.4/tools/add_cross_repo_edges.py +0 -502
- ffbb_data_client-2.3.4/tools/graphify-cross-repo.sh +0 -64
- ffbb_data_client-2.3.4/tools/graphify_cross_repo.py +0 -593
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.agents/rules/antigravity-rtk-rules.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.coveragerc +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.gitattributes +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/FUNDING.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/dependabot.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/scripts/ai-pr-reviewer.cjs +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/scripts/check_wrapper_parity.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/ai-pr-reviewer.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/check_wrapper_parity.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/ci.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/codeql.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/deploy-pages.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/keep-ffbb-api-discovery-alive.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/publish.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/release-after-discovery-merge.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.github/workflows/update-ffbb-api-discovery.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.gitignore +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.isort.cfg +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.jules/bolt.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.pre-commit-config.yaml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/.readthedocs.yml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/AUTHORS.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/CODE_OF_CONDUCT.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/CONTRIBUTING.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/DESIGN.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/LICENSE.txt +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/LOCAL_CI_GUIDE.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/SECURITY.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/api.ffbb.app.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/api_update_summary.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/collections.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/endpoint_discovery.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/indexes.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/meilisearch-prod.ffbb.app.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/openapi.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/openapi_full.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/data/type_discovery_corrections.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/Makefile +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/_static/.gitignore +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/architecture.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/authors.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/changelog.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/conf.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/contributing.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/examples.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/index.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/license.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/migration.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/readme.rst +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/requirements.txt +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/test_strategy.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/docs/testing_conventions.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/examples/README.md +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/examples/complete_usage_example.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/examples/quick_start.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/pyproject.toml +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/pytest.ini +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/run-ci-locally.sh +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/scripts/benchmark_concurrent_pagination.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/scripts/benchmark_search_organisme.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/scripts/discover_endpoints.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/scripts/discover_types.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/setup.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_helpers.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/external.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/getters.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/list_methods.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/_mixins/organisme.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/clients/meilisearch_ffbb_client.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/config.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/data/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/data/collections.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/data/endpoint_discovery.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/data/indexes.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/data/openapi.json +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/helpers/http_requests_helper.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/helpers/http_requests_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/helpers/multi_search_query_helper.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/affiche.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/cartographie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/categorie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/categorie_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/clock.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/club_contacts.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/code.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/commune.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_fields.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_id.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_id_categorie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_id_sexe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_id_type_competition.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_id_type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_origine.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_origine_categorie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_origine_type_competition.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_origine_type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competition_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competitions_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competitions_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competitions_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competitions_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/competitions_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/configuration_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/contact_info.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/content_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/coordonnees.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/coordonnees_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/document_flyer.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/document_flyer_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/engagement_contacts.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/engagements_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/engagements_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/engagements_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/engagements_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/etat.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/external_competition_id.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/external_id.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/field_set.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/folder.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/formation_session.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/formations_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/formations_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/formations_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/formations_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/game_stats_model.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/game_stats_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/generic_search.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/geo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/geo_sort_order.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_commune_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_competition_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_configuration_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_engagement_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_entraineur_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_formation_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_officiel_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_organisme_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_poule_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_pratique_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_rencontre_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_saisons_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_salle_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_terrain_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/get_tournoi_response.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/gradient_color.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/id_engagement_equipe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/id_organisme_equipe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/id_organisme_equipe1_logo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/id_poule.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/jour.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/label.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/labellisation.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/live.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/lives.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/logo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_queries.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_competitions.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_engagements.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_formations.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_organismes.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_pratiques.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_rencontres.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_salles.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_terrains.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_result_tournois.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_results.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/multi_search_results_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/nature_sol.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau_extractor.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau_info.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/niveau_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/objectif.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organisateur.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organisateur_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organisme_fields.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organisme_id_pere.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organismes_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organismes_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organismes_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organismes_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/organismes_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/phase_code.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/poule.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/poule_fields.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/poule_rencontre_item_model.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/poules_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/poules_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_hit_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/pratiques_type_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/publication_internet.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/purple_logo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/query_fields_manager.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/ranking_engagement.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rankings_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rencontres_engagement.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rencontres_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rencontres_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rencontres_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/rencontres_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/saison.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/saison_fields.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/saisons_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/saisons_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/salle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/salles_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/salles_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/salles_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/salles_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/sexe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/sexe_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/source.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/status.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/team_engagement.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/team_ranking.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_categorie_championnat_3x3_libelle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_name.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_sexe_enum.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/terrains_storage.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournoi_type_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournoi_type_enum.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournoi_types_3x3.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournoi_types_3x3_libelle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournoi_types_3x3_libelle_enum.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_facet_distribution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_facet_stats.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_hit.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_hit_type.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_libelle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/tournois_multi_search_query.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_association.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_association_libelle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_competition.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_enum.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/models/type_league.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/py.typed +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/cache_manager.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/concurrency_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/converter_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/input_validation.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/secure_logging.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client/utils/token_manager.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/dependency_links.txt +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/not-zip-safe +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/src/ffbb_data_client.egg-info/top_level.txt +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/conftest.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/e2e/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/e2e/conftest.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/conftest.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_500_user_journey.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_501_user_journey_v3.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_503_secure_logging.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_504_input_validation.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/integration/test_505_retry_timeout.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_200_api_ffbb_app_client.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_201_unit_tests_core.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_202_meilisearch_client.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_203_meilisearch_client_extension.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_204_ffbb_data_client.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_205_meilisearch_ffbb_client.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_206_coverage_gaps_clients.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_207_coverage_clients_extended.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_208_new_methods_coverage.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_209_automatic_token_resolution.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_async_methods.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_meilisearch_async.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_search_many.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_v2_backport_search.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_v3_new_features.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/clients/test_warm_cache.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/conftest.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/helpers/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/helpers/test_400_http_helpers.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/helpers/test_meilisearch_client_extension_recursive_pagination.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/helpers/test_meilisearch_pagination_concurrent.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_100_competition_id_categorie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_101_competition_id_sexe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_102_competition_id_type_competition.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_103_competition_id_type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_104_competition_origine_categorie.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_105_competition_origine_type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_106_competition_origine.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_107_id_engagement_equipe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_108_id_organisme_equipe.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_109_id_organisme_equipe1_logo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_110_labellisation.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_111_niveau_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_112_purple_logo.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_113_salle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_114_tournoi_type_class.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_115_type_association_libelle.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_116_type_competition_generique.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_117_organisateur.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_118_competition_id.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_119_terrains_inner_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_120_pratiques_inner_models.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_121_to_dict_round_trip.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_122_coverage_gaps.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_123_missing_coverage.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_123_v2_backport.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/models/test_dx_aliases.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/test_310_discover_endpoints.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/__init__.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_300_secure_logging.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_301_input_validation.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_302_retry_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_303_cache_manager.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_304_config.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_305_token_manager.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_306_converter_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_307_coverage_gaps_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_308_converter_utils_extended.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tests/unit/utils/test_309_concurrency_utils.py +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/tox.ini +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/website/assets/logo.webp +0 -0
- {ffbb_data_client-2.3.4 → ffbb_data_client-2.4.0}/website/robots.txt +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# FFBB Data Client SDK
|
|
2
2
|
|
|
3
3
|
> ⚠️ **Fichier auto-généré** par `tools/update_agents_md.py` — ne pas modifier manuellement.
|
|
4
|
-
> Dernière mise à jour : ffbb-data-client | SDK total : ~
|
|
5
|
-
> (clients:
|
|
4
|
+
> Dernière mise à jour : ffbb-data-client | SDK total : ~18803 lignes de code
|
|
5
|
+
> (clients: 5980, models: 9805, utils: 2003, helpers: 1015)
|
|
6
6
|
|
|
7
7
|
## Langue
|
|
8
8
|
Tous les documents de travail (walkthrough.md, implementation_plan.md) DOIVENT être en français.
|
|
@@ -69,17 +69,19 @@ Ces directives inspirées d'Andrej Karpathy visent à éliminer les erreurs de c
|
|
|
69
69
|
```
|
|
70
70
|
src/ffbb_data_client/
|
|
71
71
|
├── __init__.py # Point d'entrée du SDK, expose FFBBDataClient et FFBBTokens
|
|
72
|
-
├── clients/ # Clients d'API (REST et Meilisearch) et façades (≈
|
|
72
|
+
├── clients/ # Clients d'API (REST et Meilisearch) et façades (≈5980 lignes)
|
|
73
73
|
├── config.py # Configuration centralisée (URLs, Headers, Endpoints, Facettes)
|
|
74
74
|
├── data/ # Ressources et données statiques
|
|
75
|
-
├── helpers/ # Méthodes utilitaires pour requêtes HTTP et mapping (≈
|
|
76
|
-
├── models/ # Modèles de données Pydantic type-safe (≈
|
|
75
|
+
├── helpers/ # Méthodes utilitaires pour requêtes HTTP et mapping (≈1015 lignes)
|
|
76
|
+
├── models/ # Modèles de données Pydantic type-safe (≈9805 lignes)
|
|
77
77
|
├── py.typed # Marqueur pour la compatibilité avec mypy
|
|
78
|
-
└── utils/ # Gestionnaires transversaux (cache, jetons de sécurité, validation) (≈
|
|
78
|
+
└── utils/ # Gestionnaires transversaux (cache, jetons de sécurité, validation) (≈2003 lignes)
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
## Conventions de code
|
|
82
82
|
- **Modèles Pydantic** : Tous les modèles héritent de `pydantic.BaseModel` et fournissent une validation stricte.
|
|
83
|
+
Chaque modèle possède son propre fichier source dédié en `snake_case` (ex: `categorie_type.py`, `niveau_info.py`).
|
|
84
|
+
Les imports internes et dans les tests doivent cibler précisément le fichier dédié ou le namespace racine `models`.
|
|
83
85
|
- **Async/Sync en parallèle** : Le SDK implémente systématiquement la double interface synchrone (`get_x`)
|
|
84
86
|
et asynchrone (`get_x_async`) pour un maximum de flexibilité d'intégration.
|
|
85
87
|
- **Cache HTTP** : Utilisation d'`hishel` pour le cache de requêtes HTTP asynchrones et d'un cache local
|
|
@@ -101,3 +103,7 @@ Avant push/tag/release :
|
|
|
101
103
|
2. `rtk ruff check .`
|
|
102
104
|
3. `rtk mypy src`
|
|
103
105
|
4. `rtk pytest`
|
|
106
|
+
5. `rtk pre-commit run --all-files`
|
|
107
|
+
|
|
108
|
+
⚠️ Note Release PyPI : Les releases sur PyPI sont immuables. Ne jamais réassigner ou forcer un tag
|
|
109
|
+
déjà publié sur PyPI. Tout correctif requiert un bump de version (ex: v2.3.6).
|
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.4.0] - 2026-08-29
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Serveur FastAPI & REST API**: Serveur FastAPI intégré avec support CORS, documentation OpenAPI/Swagger et routes optimisées pour les matchs de clubs.
|
|
14
|
+
- **Résolution d'adresses précises des salles**: Résolution automatique de l'adresse de voirie exacte des gymnases pour l'ensemble des rencontres (domicile & extérieur).
|
|
15
|
+
- **Gestion du cycle de vie async (`aclose`)**: Support natif de la fermeture asynchrone des sessions et mutualisation des pools de connexions HTTP.
|
|
16
|
+
|
|
17
|
+
### Fixed & Maintenance
|
|
18
|
+
- **Imports des modèles**: Correction des chemins d'accès aux modèles `CategorieType` et `Niveau`.
|
|
19
|
+
- **Conventions d'architecture**: Documentation des règles d'immutabilité des packages PyPI et des directives d'imports de modèles dans `AGENTS.md`.
|
|
20
|
+
|
|
10
21
|
## [2.3.4] - 2026-08-19
|
|
11
22
|
|
|
12
23
|
### Fixed
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Multi-stage Dockerfile for FFBB Data Client API & Web Server
|
|
2
|
+
FROM python:3.12-slim AS builder
|
|
3
|
+
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
|
|
6
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
7
|
+
gcc \
|
|
8
|
+
git \
|
|
9
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
10
|
+
|
|
11
|
+
COPY . .
|
|
12
|
+
|
|
13
|
+
RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
|
|
14
|
+
pip install --no-cache-dir ".[server]"
|
|
15
|
+
|
|
16
|
+
FROM python:3.12-slim AS runner
|
|
17
|
+
|
|
18
|
+
WORKDIR /app
|
|
19
|
+
|
|
20
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
21
|
+
curl \
|
|
22
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
23
|
+
|
|
24
|
+
COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
|
|
25
|
+
COPY --from=builder /usr/local/bin /usr/local/bin
|
|
26
|
+
COPY --from=builder /app /app
|
|
27
|
+
|
|
28
|
+
ENV PYTHONUNBUFFERED=1
|
|
29
|
+
ENV PORT=8000
|
|
30
|
+
ENV HOST=0.0.0.0
|
|
31
|
+
|
|
32
|
+
EXPOSE 8000
|
|
33
|
+
|
|
34
|
+
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
|
|
35
|
+
CMD curl -f http://localhost:8000/health || exit 1
|
|
36
|
+
|
|
37
|
+
CMD ["uvicorn", "ffbb_data_client.api:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ffbb-data-client
|
|
3
|
-
Version: 2.
|
|
4
|
-
Summary: FFBB
|
|
3
|
+
Version: 2.4.0
|
|
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,
|
|
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
|
|
@@ -37,6 +37,10 @@ Requires-Dist: python-dateutil>=2.9.0.post0
|
|
|
37
37
|
Requires-Dist: httpx>=0.28.1
|
|
38
38
|
Requires-Dist: hishel[async]>=1.3.0
|
|
39
39
|
Requires-Dist: pydantic>=2.13.4
|
|
40
|
+
Provides-Extra: server
|
|
41
|
+
Requires-Dist: fastapi>=0.115.0; extra == "server"
|
|
42
|
+
Requires-Dist: uvicorn[standard]>=0.34.0; extra == "server"
|
|
43
|
+
Requires-Dist: starlette>=0.45.0; extra == "server"
|
|
40
44
|
Provides-Extra: testing
|
|
41
45
|
Requires-Dist: setuptools>=82.0.1; extra == "testing"
|
|
42
46
|
Requires-Dist: coverage>=7.13.5; extra == "testing"
|
|
@@ -52,9 +56,11 @@ Dynamic: license-file
|
|
|
52
56
|
|
|
53
57
|
<div align="center">
|
|
54
58
|
|
|
55
|
-
# 🏀 FFBB Data Client
|
|
59
|
+
# 🏀 FFBB Data Client — API FFBB Python SDK
|
|
56
60
|
|
|
57
|
-
**SDK Python moderne, typé et asynchrone pour exploiter
|
|
61
|
+
**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.**
|
|
62
|
+
|
|
63
|
+
*Alternative moderne, performante et maintenue aux anciens packages `ffbb-api-client` et `ffbb-api-client-v2`.*
|
|
58
64
|
|
|
59
65
|
[](https://pypi.org/project/ffbb-data-client/)
|
|
60
66
|
[](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
|
|
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
|
[](https://pypi.org/project/ffbb-data-client/)
|
|
8
10
|
[](https://pypi.org/project/ffbb-data-client/)
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
# Release Notes - FFBB Data Client
|
|
2
2
|
|
|
3
|
-
## Version 2.
|
|
3
|
+
## Version 2.4.0 (Latest Release)
|
|
4
|
+
|
|
5
|
+
### 🚀 New Features & API
|
|
6
|
+
- **Embedded FastAPI Server**: Standalone or embeddable FastAPI application providing CORS-enabled REST endpoints for clubs, competitions, and match calendars with auto-generated Swagger UI.
|
|
7
|
+
- **Precise Venue Geocoding**: Enhanced gym & salle resolution delivering exact street addresses for both home and away matches.
|
|
8
|
+
- **Async Resource Cleanup**: Added explicit `aclose()` support across async clients with connection pool lifecycle management.
|
|
9
|
+
|
|
10
|
+
### 🐛 Bug Fixes & Refactoring
|
|
11
|
+
- **Model Import Paths**: Fixed direct module imports for `CategorieType` and `Niveau` to avoid deprecation warnings.
|
|
12
|
+
- **Repository Architecture Rules**: Documented PyPI release immutability and strict zero-guess versioning in `AGENTS.md`.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Version 2.3.4
|
|
4
17
|
|
|
5
18
|
### 🔒 Security & Bug Fixes
|
|
6
19
|
- **Sensitive logging mitigation**: Masked authentication tokens in logging messages and format arguments (`CWE-532` / CodeQL compliance)
|
|
@@ -26,9 +26,9 @@ from dotenv import load_dotenv
|
|
|
26
26
|
|
|
27
27
|
from ffbb_data_client import FFBBDataClient
|
|
28
28
|
from ffbb_data_client.models.get_organisme_response import GetOrganismeResponse
|
|
29
|
-
from ffbb_data_client.models.
|
|
30
|
-
from ffbb_data_client.models.
|
|
31
|
-
from ffbb_data_client.models.
|
|
29
|
+
from ffbb_data_client.models.get_poule_response import GetPouleResponse
|
|
30
|
+
from ffbb_data_client.models.niveau_type import NiveauType
|
|
31
|
+
from ffbb_data_client.models.team_ranking import TeamRanking
|
|
32
32
|
|
|
33
33
|
# Example configuration - modify these values for your team
|
|
34
34
|
TEAM_NAME = "SENAS BASKET BALL"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
name = ffbb-data-client
|
|
3
|
-
description = FFBB
|
|
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,
|
|
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
|
|
@@ -61,6 +61,10 @@ exclude =
|
|
|
61
61
|
tests
|
|
62
62
|
|
|
63
63
|
[options.extras_require]
|
|
64
|
+
server =
|
|
65
|
+
fastapi>=0.115.0
|
|
66
|
+
uvicorn[standard]>=0.34.0
|
|
67
|
+
starlette>=0.45.0
|
|
64
68
|
testing =
|
|
65
69
|
setuptools>=82.0.1
|
|
66
70
|
coverage>=7.13.5
|
|
@@ -34,6 +34,7 @@ from .models.generic_search import (
|
|
|
34
34
|
)
|
|
35
35
|
from .models.get_competition_response import GetCompetitionResponse
|
|
36
36
|
from .models.get_organisme_response import GetOrganismeResponse
|
|
37
|
+
from .models.get_poule_response import GetPouleResponse
|
|
37
38
|
from .models.multi_search_query import MultiSearchQuery
|
|
38
39
|
from .models.multi_search_result_competitions import CompetitionsMultiSearchResult
|
|
39
40
|
from .models.multi_search_result_engagements import EngagementsMultiSearchResult
|
|
@@ -47,18 +48,18 @@ from .models.multi_search_result_tournois import TournoisMultiSearchResult
|
|
|
47
48
|
from .models.organismes_facet_distribution import OrganismesFacetDistribution
|
|
48
49
|
from .models.organismes_facet_stats import OrganismesFacetStats
|
|
49
50
|
from .models.organismes_hit import OrganismesHit
|
|
50
|
-
from .models.poules_models import GetPouleResponse
|
|
51
51
|
from .models.pratiques_facet_distribution import PratiquesFacetDistribution
|
|
52
52
|
from .models.pratiques_facet_stats import PratiquesFacetStats
|
|
53
53
|
from .models.pratiques_hit import PratiquesHit
|
|
54
54
|
from .models.query_fields_manager import QueryFieldsManager
|
|
55
|
-
from .models.
|
|
55
|
+
from .models.ranking_engagement import RankingEngagement
|
|
56
56
|
from .models.rencontres_facet_distribution import RencontresFacetDistribution
|
|
57
57
|
from .models.rencontres_facet_stats import RencontresFacetStats
|
|
58
58
|
from .models.rencontres_hit import RencontresHit
|
|
59
59
|
from .models.salles_facet_distribution import SallesFacetDistribution
|
|
60
60
|
from .models.salles_facet_stats import SallesFacetStats
|
|
61
61
|
from .models.salles_hit import SallesHit
|
|
62
|
+
from .models.team_ranking import TeamRanking
|
|
62
63
|
from .models.terrains_facet_distribution import TerrainsFacetDistribution
|
|
63
64
|
from .models.terrains_facet_stats import TerrainsFacetStats
|
|
64
65
|
from .models.terrains_hit import TerrainsHit
|