This is an automated email from the ASF dual-hosted git repository. ash pushed a change to branch run-api-server-helm-chart in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 6b922ff0531 fixup! Swap internal RPC server for API server in the helm chart omit f752f1c9e52 Swap internal RPC server for API server in the helm chart add 69cd23722d7 AIP-84 Migrate private graph_data endpoint (#44394) add 3e427c92488 AIP-84: Migrate Dag Parsing endpoint to FastApi (#44416) add e9f544cc3fb Remove AIP-44 configuration from the code (#44454) add ab2bd2d4a9d Add import compatibility check (#44458) add 1fdaebd9047 feat: add OpenLineage support for S3ToGCSOperator (#44426) add 5e38319f750 Fix issues reported by ruff team before new ruff rules are out (#44460) add 1f18458f7fe Remove internal-api command (#44462) add 6e3a25eccfb AIP-72: Handle External update TI state in Supervisor (#44406) add 840018a4264 Docs: Add prominent deprecations notice via css (#43909) add 79a9c828698 Add 'airflow assets details' subcommand (#44445) add eee6919ff64 fix(provider/edge): add back mising method map (#44468) add fdd353a03e4 AIP-72: Adding PUT Variable Endpoint for execution API (#44449) add 03349014513 Fix yoda-conditions (#44466) add b2d2bcb136f AIP-72: Matching the test naming convention to execution API endpoint (#44471) add b882246702c AIP-84 Introduce SessionDep and AsyncSessionDep construct (#44461) new 2384924617e Swap internal RPC server for API server in the helm chart This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (6b922ff0531) \ N -- N -- N refs/heads/run-api-server-helm-chart (2384924617e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .pre-commit-config.yaml | 1 - airflow/__main__.py | 30 +- airflow/api_connexion/endpoints/dag_parsing.py | 2 + airflow/api_fastapi/common/db/common.py | 39 +-- .../api_fastapi/core_api/datamodels/ui/graph.py | 60 ++++ .../api_fastapi/core_api/openapi/v1-generated.yaml | 297 ++++++++++++++++--- .../api_fastapi/core_api/routes/public/__init__.py | 2 + .../api_fastapi/core_api/routes/public/assets.py | 24 +- .../core_api/routes/public/backfills.py | 18 +- .../core_api/routes/public/connections.py | 13 +- .../core_api/routes/public}/dag_parsing.py | 45 ++- .../api_fastapi/core_api/routes/public/dag_run.py | 21 +- .../core_api/routes/public/dag_sources.py | 9 +- .../core_api/routes/public/dag_stats.py | 9 +- .../core_api/routes/public/dag_warning.py | 5 +- airflow/api_fastapi/core_api/routes/public/dags.py | 19 +- .../core_api/routes/public/event_logs.py | 7 +- .../core_api/routes/public/extra_links.py | 11 +- .../core_api/routes/public/import_error.py | 7 +- airflow/api_fastapi/core_api/routes/public/job.py | 5 +- airflow/api_fastapi/core_api/routes/public/log.py | 10 +- .../api_fastapi/core_api/routes/public/pools.py | 15 +- .../core_api/routes/public/task_instances.py | 28 +- .../core_api/routes/public/variables.py | 13 +- airflow/api_fastapi/core_api/routes/public/xcom.py | 9 +- airflow/api_fastapi/core_api/routes/ui/__init__.py | 6 +- airflow/api_fastapi/core_api/routes/ui/assets.py | 9 +- airflow/api_fastapi/core_api/routes/ui/dags.py | 8 +- .../api_fastapi/core_api/routes/ui/dashboard.py | 20 +- airflow/api_fastapi/core_api/routes/ui/graph.py | 60 ++++ .../execution_api/datamodels/variable.py | 7 + .../execution_api/routes/task_instances.py | 9 +- .../api_fastapi/execution_api/routes/variables.py | 26 +- airflow/api_fastapi/execution_api/routes/xcoms.py | 9 +- airflow/api_internal/__init__.py | 16 - airflow/api_internal/endpoints/__init__.py | 16 - airflow/api_internal/endpoints/health_endpoint.py | 22 -- airflow/api_internal/endpoints/rpc_api_endpoint.py | 246 ---------------- airflow/api_internal/gunicorn_config.py | 33 --- airflow/api_internal/internal_api_call.py | 161 +--------- airflow/api_internal/openapi/internal_api_v1.yaml | 101 ------- airflow/cli/cli_config.py | 82 +----- airflow/cli/commands/asset_command.py | 32 ++ airflow/cli/commands/dag_processor_command.py | 4 - airflow/cli/commands/db_command.py | 3 - airflow/cli/commands/internal_api_command.py | 263 ----------------- airflow/cli/commands/task_command.py | 13 +- airflow/executors/executor_loader.py | 4 - airflow/models/taskinstance.py | 11 +- airflow/sensors/base.py | 4 +- airflow/serialization/serialized_objects.py | 17 +- airflow/settings.py | 162 ---------- airflow/task/standard_task_runner.py | 13 - airflow/ui/openapi-gen/queries/common.ts | 132 +++++---- airflow/ui/openapi-gen/queries/prefetch.ts | 149 ++++++---- airflow/ui/openapi-gen/queries/queries.ts | 211 +++++++++---- airflow/ui/openapi-gen/queries/suspense.ts | 171 +++++++---- airflow/ui/openapi-gen/requests/schemas.gen.ts | 195 ++++++++++++ airflow/ui/openapi-gen/requests/services.gen.ts | 202 ++++++++----- airflow/ui/openapi-gen/requests/types.gen.ts | 204 ++++++++++--- airflow/utils/cli.py | 3 +- airflow/utils/task_instance_session.py | 8 - airflow/www/app.py | 7 - .../api-server/api-server-deployment.yaml | 21 +- contributing-docs/17_adding_api_endpoints.rst | 2 +- .../airflow_breeze/commands/kubernetes_commands.py | 7 +- .../src/airflow_breeze/params/build_prod_params.py | 12 + dev/breeze/src/airflow_breeze/utils/packages.py | 2 +- dev/breeze/src/airflow_breeze/utils/run_tests.py | 2 +- .../src/airflow_breeze/utils/selective_checks.py | 11 +- dev/breeze/tests/test_packages.py | 6 +- .../tests/test_pytest_args_for_test_types.py | 5 +- docker_tests/test_prod_image.py | 4 +- docs/conf.py | 1 + docs/sphinx_design/static/custom.css | 9 + helm_tests/airflow_aux/test_airflow_common.py | 33 ++- helm_tests/airflow_aux/test_basic_helm_chart.py | 40 +-- .../airflow_aux/test_celery_kubernetes_executor.py | 8 +- helm_tests/airflow_aux/test_cleanup_pods.py | 92 +++--- helm_tests/airflow_aux/test_configmap.py | 12 +- helm_tests/airflow_aux/test_create_user_job.py | 110 ++++--- .../test_logs_persistent_volume_claim.py | 12 +- .../airflow_aux/test_migrate_database_job.py | 106 ++++--- helm_tests/airflow_aux/test_pod_launcher_role.py | 2 +- helm_tests/airflow_aux/test_pod_template_file.py | 161 +++++----- helm_tests/airflow_core/test_api_server.py | 271 +++++++---------- helm_tests/airflow_core/test_dag_processor.py | 184 +++++++----- helm_tests/airflow_core/test_scheduler.py | 207 +++++++------ helm_tests/airflow_core/test_triggerer.py | 189 +++++++----- helm_tests/airflow_core/test_worker.py | 182 +++++++----- .../other/test_dags_persistent_volume_claim.py | 18 +- helm_tests/other/test_flower.py | 164 ++++++----- helm_tests/other/test_git_ssh_key_secret.py | 4 +- helm_tests/other/test_git_sync_scheduler.py | 16 +- helm_tests/other/test_git_sync_webserver.py | 19 +- helm_tests/other/test_git_sync_worker.py | 24 +- helm_tests/other/test_limit_ranges.py | 4 +- helm_tests/other/test_pgbouncer.py | 162 +++++----- helm_tests/other/test_redis.py | 76 +++-- helm_tests/other/test_resource_quota.py | 4 +- helm_tests/other/test_statsd.py | 101 ++++--- helm_tests/security/test_elasticsearch_secret.py | 11 +- helm_tests/security/test_kerberos.py | 2 +- .../security/test_metadata_connection_secret.py | 22 +- .../test_result_backend_connection_secret.py | 17 +- helm_tests/security/test_scc_rolebinding.py | 50 ++-- helm_tests/security/test_security_context.py | 60 ++-- helm_tests/webserver/test_ingress_flower.py | 40 +-- helm_tests/webserver/test_ingress_web.py | 40 +-- helm_tests/webserver/test_webserver.py | 223 +++++++------- .../airflow/providers/arangodb/sensors/arangodb.py | 2 +- .../celery/executors/celery_executor_utils.py | 5 - .../kubernetes/executors/kubernetes_executor.py | 2 +- .../providers/dbt/cloud/utils/openlineage.py | 4 +- .../src/airflow/providers/edge/cli/edge_command.py | 25 -- .../providers/edge/worker_api/routes/rpc_api.py | 109 ++++++- .../providers/google/cloud/openlineage/utils.py | 18 ++ .../providers/google/cloud/sensors/dataproc.py | 4 +- .../providers/google/cloud/transfers/s3_to_gcs.py | 15 + .../airflow/providers/standard/operators/python.py | 5 - .../providers/standard/operators/trigger_dagrun.py | 9 - .../providers/standard/sensors/filesystem.py | 17 +- .../aws/executors/batch/test_batch_executor.py | 2 +- .../amazon/aws/executors/ecs/test_ecs_executor.py | 26 +- providers/tests/amazon/aws/hooks/test_base_aws.py | 2 +- providers/tests/amazon/aws/hooks/test_s3.py | 50 ++-- .../tests/amazon/aws/hooks/test_step_function.py | 2 +- .../tests/amazon/aws/log/test_s3_task_handler.py | 4 +- providers/tests/amazon/aws/operators/test_glue.py | 14 +- .../amazon/aws/operators/test_kinesis_analytics.py | 4 +- providers/tests/amazon/aws/operators/test_s3.py | 2 +- .../amazon/aws/secrets/test_secrets_manager.py | 4 +- .../amazon/aws/secrets/test_systems_manager.py | 6 +- providers/tests/amazon/aws/transfers/test_base.py | 4 +- .../amazon/aws/transfers/test_dynamodb_to_s3.py | 20 +- .../tests/amazon/aws/transfers/test_gcs_to_s3.py | 4 +- providers/tests/apache/drill/hooks/test_drill.py | 2 +- providers/tests/apache/druid/hooks/test_druid.py | 2 +- .../tests/apache/druid/operators/test_druid.py | 4 +- providers/tests/apache/hdfs/hooks/test_webhdfs.py | 4 +- providers/tests/apache/hive/macros/test_hive.py | 10 +- .../hive/sensors/test_named_hive_partition.py | 2 +- providers/tests/apache/kafka/sensors/test_kafka.py | 2 +- .../apache/kylin/operators/test_kylin_cube.py | 10 +- providers/tests/apache/livy/hooks/test_livy.py | 9 +- providers/tests/apache/pig/operators/test_pig.py | 2 +- .../executors/test_kubernetes_executor.py | 10 +- .../tests/cncf/kubernetes/test_pod_generator.py | 4 +- providers/tests/common/sql/hooks/test_dbapi.py | 14 +- providers/tests/common/sql/sensors/test_sql.py | 4 +- .../tests/databricks/operators/test_databricks.py | 20 +- providers/tests/dingding/hooks/test_dingding.py | 2 +- providers/tests/edge/cli/test_edge_command.py | 2 +- .../tests/edge/worker_api/routes/test_rpc_api.py | 298 ------------------- .../elasticsearch/log/test_es_task_handler.py | 70 ++--- providers/tests/exasol/hooks/test_exasol.py | 2 +- .../api_endpoints/test_asset_endpoint.py | 24 +- .../api_endpoints/test_import_error_endpoint.py | 16 +- .../test_role_and_permission_endpoint.py | 4 +- .../api_endpoints/test_user_endpoint.py | 4 +- .../api_endpoints/test_xcom_endpoint.py | 2 +- .../security_manager/test_constants.py | 4 +- providers/tests/fab/auth_manager/test_security.py | 2 +- .../_internal_client/test_secret_manager_client.py | 4 +- .../tests/google/cloud/hooks/test_bigquery.py | 18 +- .../tests/google/cloud/hooks/test_cloud_sql.py | 130 ++++---- .../hooks/test_cloud_storage_transfer_service.py | 32 +- .../tests/google/cloud/hooks/test_compute_ssh.py | 14 +- .../tests/google/cloud/hooks/test_dataflow.py | 2 +- .../tests/google/cloud/hooks/test_dataproc.py | 4 +- .../tests/google/cloud/hooks/test_functions.py | 8 +- providers/tests/google/cloud/hooks/test_kms.py | 4 +- .../tests/google/cloud/hooks/test_life_sciences.py | 5 +- providers/tests/google/cloud/hooks/test_pubsub.py | 12 +- .../google/cloud/log/test_gcs_task_handler.py | 2 +- .../cloud/log/test_gcs_task_handler_system.py | 4 +- .../cloud/log/test_stackdriver_task_handler.py | 34 +-- .../log/test_stackdriver_task_handler_system.py | 8 +- .../google/cloud/operators/test_datacatalog.py | 10 +- .../tests/google/cloud/operators/test_dataproc.py | 8 +- .../tests/google/cloud/operators/test_mlengine.py | 16 +- .../tests/google/cloud/operators/test_pubsub.py | 2 +- .../google/cloud/operators/test_stackdriver.py | 4 +- .../tests/google/cloud/operators/test_tasks.py | 30 +- .../tests/google/cloud/operators/test_translate.py | 4 +- .../cloud/operators/test_translate_speech.py | 4 +- .../tests/google/cloud/operators/test_vision.py | 4 +- .../google/cloud/secrets/test_secret_manager.py | 8 +- providers/tests/google/cloud/sensors/test_gcs.py | 4 +- .../google/cloud/transfers/test_local_to_gcs.py | 2 + .../google/cloud/transfers/test_mssql_to_gcs.py | 14 +- .../google/cloud/transfers/test_mysql_to_gcs.py | 24 +- .../google/cloud/transfers/test_oracle_to_gcs.py | 14 +- .../google/cloud/transfers/test_postgres_to_gcs.py | 12 +- .../tests/google/cloud/transfers/test_s3_to_gcs.py | 32 ++ .../cloud/transfers/test_salesforce_to_gcs.py | 2 +- .../google/cloud/transfers/test_trino_to_gcs.py | 24 +- .../cloud/utils/test_credentials_provider.py | 8 +- .../google/cloud/utils/test_field_sanitizer.py | 22 +- .../cloud/utils/test_mlengine_operator_utils.py | 110 +++---- .../utils/test_mlengine_prediction_summary.py | 4 +- .../common/auth_backend/test_google_openid.py | 12 +- .../tests/google/common/hooks/test_base_google.py | 12 +- .../tests/google/firebase/hooks/test_firestore.py | 5 +- providers/tests/google/suite/hooks/test_drive.py | 6 +- .../_internal_client/test_vault_client.py | 106 +++---- providers/tests/hashicorp/hooks/test_vault.py | 88 +++--- providers/tests/hashicorp/secrets/test_vault.py | 24 +- .../integration/apache/pinot/hooks/test_pinot.py | 2 +- .../google/cloud/transfers/test_mssql_to_gcs.py | 6 +- .../google/cloud/transfers/test_trino_to_gcs.py | 24 +- .../tests/integration/trino/hooks/test_trino.py | 4 +- .../microsoft/azure/secrets/test_key_vault.py | 2 +- providers/tests/mongo/hooks/test_mongo.py | 32 +- providers/tests/mysql/hooks/test_mysql.py | 2 +- .../tests/opensearch/log/test_os_task_handler.py | 26 +- providers/tests/opsgenie/hooks/test_opsgenie.py | 6 +- .../tests/opsgenie/operators/test_opsgenie.py | 4 +- .../tests/papermill/operators/test_papermill.py | 4 +- providers/tests/postgres/hooks/test_postgres.py | 4 +- providers/tests/presto/hooks/test_presto.py | 4 +- providers/tests/smtp/hooks/test_smtp.py | 4 +- providers/tests/snowflake/hooks/test_snowflake.py | 8 +- providers/tests/ssh/hooks/test_ssh.py | 2 +- providers/tests/ssh/operators/test_ssh.py | 2 +- providers/tests/standard/operators/test_python.py | 29 +- .../tests/standard/utils/test_python_virtualenv.py | 16 +- providers/tests/telegram/hooks/test_telegram.py | 4 +- .../tests/telegram/operators/test_telegram.py | 4 +- providers/tests/teradata/utils/test_constants.py | 20 +- providers/tests/trino/hooks/test_trino.py | 4 +- pyproject.toml | 2 + scripts/ci/docker-compose/devcontainer.env | 1 - scripts/cov/cli_coverage.py | 1 - scripts/cov/other_coverage.py | 1 - scripts/cov/restapi_coverage.py | 2 +- .../src/airflow/sdk/execution_time/supervisor.py | 123 ++++++-- task_sdk/tests/conftest.py | 9 +- task_sdk/tests/defintions/test_dag.py | 4 +- task_sdk/tests/execution_time/test_supervisor.py | 152 +++++++++- tests/always/test_connection.py | 40 +-- tests/always/test_project_structure.py | 4 +- tests/always/test_providers_manager.py | 14 +- tests/always/test_secrets.py | 12 +- tests/always/test_secrets_backends.py | 8 +- tests/always/test_secrets_local_filesystem.py | 4 +- .../api_connexion/endpoints/test_asset_endpoint.py | 4 +- .../endpoints/test_connection_endpoint.py | 8 +- tests/api_connexion/endpoints/test_dag_endpoint.py | 72 ++--- tests/api_connexion/endpoints/test_dag_parsing.py | 4 +- .../endpoints/test_dag_run_endpoint.py | 8 +- .../endpoints/test_dag_source_endpoint.py | 16 +- .../endpoints/test_event_log_endpoint.py | 4 +- .../endpoints/test_extra_link_endpoint.py | 30 +- .../endpoints/test_health_endpoint.py | 14 +- .../endpoints/test_import_error_endpoint.py | 16 +- tests/api_connexion/endpoints/test_log_endpoint.py | 8 +- .../api_connexion/endpoints/test_pool_endpoint.py | 56 ++-- .../endpoints/test_task_instance_endpoint.py | 20 +- .../endpoints/test_version_endpoint.py | 4 +- .../api_connexion/endpoints/test_xcom_endpoint.py | 14 +- tests/api_connexion/schemas/test_common_schema.py | 6 +- tests/api_connexion/schemas/test_dag_schema.py | 8 +- tests/api_connexion/schemas/test_error_schema.py | 8 +- tests/api_connexion/schemas/test_pool_schemas.py | 4 +- tests/api_connexion/test_error_handling.py | 12 +- .../core_api/routes/public/test_connections.py | 8 +- .../core_api/routes/public/test_dag_parsing.py | 80 +++++ .../core_api/routes/public/test_dag_run.py | 4 +- .../core_api/routes/public/test_dag_sources.py | 12 +- .../api_fastapi/core_api/routes/public/test_log.py | 8 +- .../core_api/routes/public/test_monitor.py | 14 +- .../core_api/routes/public/test_pools.py | 2 +- .../core_api/routes/public/test_task_instances.py | 20 +- .../core_api/routes/public/test_variables.py | 2 +- .../core_api/routes/public/test_version.py | 4 +- tests/api_fastapi/core_api/routes/ui/test_graph.py | 198 +++++++++++++ .../execution_api/routes/test_task_instances.py | 2 +- .../execution_api/routes/test_variables.py | 89 ++++++ tests/api_internal/__init__.py | 16 - tests/api_internal/endpoints/__init__.py | 16 - .../endpoints/test_rpc_api_endpoint.py | 250 ---------------- tests/api_internal/test_internal_api_call.py | 327 --------------------- tests/charts/log_groomer.py | 26 +- tests/cli/commands/test_asset_command.py | 26 ++ tests/cli/commands/test_config_command.py | 2 +- tests/cli/commands/test_dag_command.py | 8 +- tests/cli/commands/test_db_command.py | 8 +- tests/cli/commands/test_info_command.py | 2 +- tests/cli/commands/test_internal_api_command.py | 223 -------------- tests/cli/commands/test_legacy_commands.py | 2 +- tests/cli/commands/test_variable_command.py | 20 +- tests/cli/commands/test_webserver_command.py | 8 +- tests/cli/test_cli_parser.py | 12 +- tests/core/test_configuration.py | 65 ++-- tests/core/test_settings.py | 22 +- tests/core/test_sqlalchemy_config.py | 5 - tests/dags/test_mark_state.py | 4 +- tests/decorators/test_python.py | 6 +- tests/executors/test_executor_loader.py | 4 +- .../integration/executors/test_celery_executor.py | 10 +- tests/jobs/test_local_task_job.py | 2 +- tests/jobs/test_scheduler_job.py | 86 +++--- tests/models/test_baseoperator.py | 20 +- tests/models/test_dag.py | 45 ++- tests/models/test_dag_version.py | 2 +- tests/models/test_dagbag.py | 24 +- tests/models/test_dagrun.py | 38 +-- tests/models/test_pool.py | 46 +-- tests/models/test_renderedtifields.py | 12 +- tests/models/test_taskinstance.py | 47 ++- tests/models/test_taskmixin.py | 20 +- tests/models/test_variable.py | 12 +- tests/operators/test_latest_only_operator.py | 28 +- tests/operators/test_trigger_dagrun.py | 3 - tests/plugins/test_plugins_manager.py | 14 +- tests/sensors/test_external_task_sensor.py | 4 +- tests/serialization/test_dag_serialization.py | 2 +- tests/serialization/test_pydantic_models.py | 295 ------------------- tests/serialization/test_serialized_objects.py | 4 - tests/task/test_standard_task_runner.py | 2 +- tests/utils/log/test_log_reader.py | 4 +- tests/utils/test_email.py | 12 +- tests/utils/test_file.py | 2 +- tests/utils/test_net.py | 4 +- tests/utils/test_operator_helpers.py | 4 +- tests/utils/test_process_utils.py | 18 +- tests/utils/test_serve_logs.py | 2 +- tests/www/test_app.py | 8 +- tests/www/test_utils.py | 43 +-- tests/www/views/test_anonymous_as_admin_role.py | 2 +- tests/www/views/test_views.py | 2 +- tests/www/views/test_views_base.py | 2 +- tests/www/views/test_views_connection.py | 14 +- tests/www/views/test_views_extra_links.py | 2 +- tests/www/views/test_views_home.py | 16 +- tests/www/views/test_views_log.py | 22 +- tests/www/views/test_views_tasks.py | 2 +- tests_common/pytest_plugin.py | 1 - tests_common/test_utils/compat.py | 5 - 340 files changed, 5202 insertions(+), 5950 deletions(-) create mode 100644 airflow/api_fastapi/core_api/datamodels/ui/graph.py copy airflow/{api_connexion/endpoints => api_fastapi/core_api/routes/public}/dag_parsing.py (62%) create mode 100644 airflow/api_fastapi/core_api/routes/ui/graph.py delete mode 100644 airflow/api_internal/__init__.py delete mode 100644 airflow/api_internal/endpoints/__init__.py delete mode 100644 airflow/api_internal/endpoints/health_endpoint.py delete mode 100644 airflow/api_internal/endpoints/rpc_api_endpoint.py delete mode 100644 airflow/api_internal/gunicorn_config.py delete mode 100644 airflow/api_internal/openapi/internal_api_v1.yaml delete mode 100644 airflow/cli/commands/internal_api_command.py delete mode 100644 providers/tests/edge/worker_api/routes/test_rpc_api.py create mode 100644 tests/api_fastapi/core_api/routes/public/test_dag_parsing.py create mode 100644 tests/api_fastapi/core_api/routes/ui/test_graph.py delete mode 100644 tests/api_internal/__init__.py delete mode 100644 tests/api_internal/endpoints/__init__.py delete mode 100644 tests/api_internal/endpoints/test_rpc_api_endpoint.py delete mode 100644 tests/api_internal/test_internal_api_call.py delete mode 100644 tests/cli/commands/test_internal_api_command.py delete mode 100644 tests/serialization/test_pydantic_models.py