anyscale 0.24.86__py3-none-any.whl
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.
- anyscale/__init__.py +181 -0
- anyscale/_private/anyscale_client/README.md +16 -0
- anyscale/_private/anyscale_client/__init__.py +8 -0
- anyscale/_private/anyscale_client/anyscale_client.py +1847 -0
- anyscale/_private/anyscale_client/common.py +593 -0
- anyscale/_private/anyscale_client/fake_anyscale_client.py +1080 -0
- anyscale/_private/docgen/README.md +15 -0
- anyscale/_private/docgen/__main__.py +700 -0
- anyscale/_private/docgen/api.md +1106 -0
- anyscale/_private/docgen/generator.py +559 -0
- anyscale/_private/docgen/generator_legacy.py +104 -0
- anyscale/_private/docgen/models.md +2261 -0
- anyscale/_private/models/__init__.py +2 -0
- anyscale/_private/models/image_uri.py +116 -0
- anyscale/_private/models/model_base.py +251 -0
- anyscale/_private/sdk/__init__.py +102 -0
- anyscale/_private/sdk/base_sdk.py +35 -0
- anyscale/_private/sdk/timer.py +46 -0
- anyscale/_private/utils/__init__.py +0 -0
- anyscale/_private/utils/progress_util.py +85 -0
- anyscale/_private/workload/__init__.py +2 -0
- anyscale/_private/workload/workload_config.py +195 -0
- anyscale/_private/workload/workload_sdk.py +324 -0
- anyscale/aggregated_instance_usage/__init__.py +36 -0
- anyscale/aggregated_instance_usage/_private/aggregated_instance_usage_sdk.py +30 -0
- anyscale/aggregated_instance_usage/commands.py +42 -0
- anyscale/aggregated_instance_usage/models.py +85 -0
- anyscale/anyscale-cloud-setup-gcp-oa.yaml +88 -0
- anyscale/anyscale-cloud-setup-gcp.yaml +113 -0
- anyscale/anyscale-cloud-setup-oa.yaml +121 -0
- anyscale/anyscale-cloud-setup.yaml +327 -0
- anyscale/anyscale_pydantic/HISTORY.md +1254 -0
- anyscale/anyscale_pydantic/LICENSE +21 -0
- anyscale/anyscale_pydantic/PKG-INFO +1351 -0
- anyscale/anyscale_pydantic/README.md +7 -0
- anyscale/anyscale_pydantic/__init__.py +131 -0
- anyscale/anyscale_pydantic/_hypothesis_plugin.py +391 -0
- anyscale/anyscale_pydantic/annotated_types.py +72 -0
- anyscale/anyscale_pydantic/class_validators.py +361 -0
- anyscale/anyscale_pydantic/color.py +494 -0
- anyscale/anyscale_pydantic/config.py +191 -0
- anyscale/anyscale_pydantic/dataclasses.py +478 -0
- anyscale/anyscale_pydantic/datetime_parse.py +248 -0
- anyscale/anyscale_pydantic/decorator.py +264 -0
- anyscale/anyscale_pydantic/env_settings.py +350 -0
- anyscale/anyscale_pydantic/error_wrappers.py +162 -0
- anyscale/anyscale_pydantic/errors.py +646 -0
- anyscale/anyscale_pydantic/fields.py +1256 -0
- anyscale/anyscale_pydantic/generics.py +400 -0
- anyscale/anyscale_pydantic/json.py +112 -0
- anyscale/anyscale_pydantic/main.py +1109 -0
- anyscale/anyscale_pydantic/mypy.py +943 -0
- anyscale/anyscale_pydantic/networks.py +739 -0
- anyscale/anyscale_pydantic/parse.py +66 -0
- anyscale/anyscale_pydantic/py.typed +0 -0
- anyscale/anyscale_pydantic/schema.py +1164 -0
- anyscale/anyscale_pydantic/tools.py +92 -0
- anyscale/anyscale_pydantic/types.py +1206 -0
- anyscale/anyscale_pydantic/typing.py +603 -0
- anyscale/anyscale_pydantic/utils.py +803 -0
- anyscale/anyscale_pydantic/validators.py +765 -0
- anyscale/anyscale_pydantic/version.py +38 -0
- anyscale/anyscale_schema.json +9 -0
- anyscale/api.py +215 -0
- anyscale/api_utils/README.md +2 -0
- anyscale/api_utils/__init__.py +0 -0
- anyscale/api_utils/common_utils.py +81 -0
- anyscale/api_utils/exceptions/__init__.py +0 -0
- anyscale/api_utils/exceptions/job_errors.py +2 -0
- anyscale/api_utils/job_logs_util.py +116 -0
- anyscale/api_utils/job_util.py +22 -0
- anyscale/api_utils/logs_util.py +61 -0
- anyscale/authenticate.py +298 -0
- anyscale/aws_iam_policies.py +465 -0
- anyscale/background/__init__.py +0 -0
- anyscale/background/job_runner.py +64 -0
- anyscale/cli_logger.py +378 -0
- anyscale/client/.gitignore +66 -0
- anyscale/client/.openapi-generator/VERSION +1 -0
- anyscale/client/.openapi-generator-ignore +23 -0
- anyscale/client/README.md +1070 -0
- anyscale/client/git_push.sh +58 -0
- anyscale/client/openapi_client/__init__.py +667 -0
- anyscale/client/openapi_client/api/__init__.py +6 -0
- anyscale/client/openapi_client/api/default_api.py +40922 -0
- anyscale/client/openapi_client/api_client.py +647 -0
- anyscale/client/openapi_client/configuration.py +373 -0
- anyscale/client/openapi_client/exceptions.py +120 -0
- anyscale/client/openapi_client/models/__init__.py +652 -0
- anyscale/client/openapi_client/models/access_config.py +122 -0
- anyscale/client/openapi_client/models/aggregated_instance_usage_with_cost_model.py +733 -0
- anyscale/client/openapi_client/models/aggregatedinstanceusagewithcostmodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/aica_endpoint.py +527 -0
- anyscale/client/openapi_client/models/aica_endpoint_event.py +433 -0
- anyscale/client/openapi_client/models/aica_endpoint_event_level.py +103 -0
- anyscale/client/openapi_client/models/aica_endpoint_event_type.py +120 -0
- anyscale/client/openapi_client/models/aica_endpoint_scope.py +102 -0
- anyscale/client/openapi_client/models/aica_model.py +398 -0
- anyscale/client/openapi_client/models/aica_model_accelerator_map.py +123 -0
- anyscale/client/openapi_client/models/aica_model_configuration.py +209 -0
- anyscale/client/openapi_client/models/aica_observability_urls.py +178 -0
- anyscale/client/openapi_client/models/aicaendpoint_list_response.py +147 -0
- anyscale/client/openapi_client/models/aicaendpoint_response.py +121 -0
- anyscale/client/openapi_client/models/aicaendpointevent_list_response.py +147 -0
- anyscale/client/openapi_client/models/aicamodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/aicamodel_response.py +121 -0
- anyscale/client/openapi_client/models/aioa_cloud_waitlist_record.py +254 -0
- anyscale/client/openapi_client/models/aioacloudwaitlistrecord_response.py +121 -0
- anyscale/client/openapi_client/models/alert_type.py +103 -0
- anyscale/client/openapi_client/models/anyscale_aws_account.py +121 -0
- anyscale/client/openapi_client/models/anyscale_service_account.py +256 -0
- anyscale/client/openapi_client/models/anyscale_version_response.py +121 -0
- anyscale/client/openapi_client/models/anyscaleawsaccount_response.py +121 -0
- anyscale/client/openapi_client/models/anyscaled_credential_response.py +121 -0
- anyscale/client/openapi_client/models/anyscaledcredentialresponse_response.py +121 -0
- anyscale/client/openapi_client/models/anyscaleserviceaccount_response.py +121 -0
- anyscale/client/openapi_client/models/anyscaleversionresponse_response.py +121 -0
- anyscale/client/openapi_client/models/api_key_parameters.py +147 -0
- anyscale/client/openapi_client/models/app_config.py +436 -0
- anyscale/client/openapi_client/models/app_config_config_schema.py +235 -0
- anyscale/client/openapi_client/models/appconfig_list_response.py +147 -0
- anyscale/client/openapi_client/models/appconfig_response.py +121 -0
- anyscale/client/openapi_client/models/application_type.py +99 -0
- anyscale/client/openapi_client/models/applied_snapshot.py +175 -0
- anyscale/client/openapi_client/models/apply_production_service_v2_model.py +490 -0
- anyscale/client/openapi_client/models/archive_status.py +101 -0
- anyscale/client/openapi_client/models/archived_logs_info.py +164 -0
- anyscale/client/openapi_client/models/archivedlogsinfo_response.py +121 -0
- anyscale/client/openapi_client/models/attach_machine_pool_to_cloud_request.py +152 -0
- anyscale/client/openapi_client/models/attachmachinepooltocloudresponse_response.py +121 -0
- anyscale/client/openapi_client/models/aviary_model_config_v2.py +358 -0
- anyscale/client/openapi_client/models/aws_credentials.py +181 -0
- anyscale/client/openapi_client/models/aws_memory_db_cluster_config.py +148 -0
- anyscale/client/openapi_client/models/aws_region_and_zones.py +123 -0
- anyscale/client/openapi_client/models/aws_region_info.py +152 -0
- anyscale/client/openapi_client/models/awsregionandzones_response.py +121 -0
- anyscale/client/openapi_client/models/bank_account_information.py +239 -0
- anyscale/client/openapi_client/models/base_job_status.py +105 -0
- anyscale/client/openapi_client/models/baseimagesenum.py +2130 -0
- anyscale/client/openapi_client/models/batch_response_batched_result_organization_invitation_base.py +121 -0
- anyscale/client/openapi_client/models/batched_result_organization_invitation_base.py +173 -0
- anyscale/client/openapi_client/models/billing_information.py +181 -0
- anyscale/client/openapi_client/models/billing_version_code.py +100 -0
- anyscale/client/openapi_client/models/body_aws_marketplace_registration_api_v2_organization_billing_aws_marketplace_registration_post.py +121 -0
- anyscale/client/openapi_client/models/buffer_registration.py +285 -0
- anyscale/client/openapi_client/models/build.py +607 -0
- anyscale/client/openapi_client/models/build_log_response.py +123 -0
- anyscale/client/openapi_client/models/build_registration.py +285 -0
- anyscale/client/openapi_client/models/build_response.py +121 -0
- anyscale/client/openapi_client/models/build_status.py +104 -0
- anyscale/client/openapi_client/models/buildlogresponse_response.py +121 -0
- anyscale/client/openapi_client/models/card.py +181 -0
- anyscale/client/openapi_client/models/card_id.py +108 -0
- anyscale/client/openapi_client/models/card_list_response.py +147 -0
- anyscale/client/openapi_client/models/change_password_params.py +148 -0
- anyscale/client/openapi_client/models/cleanup_leaked_grafana_dashboard_response.py +208 -0
- anyscale/client/openapi_client/models/cleanupleakedgrafanadashboardresponse_response.py +121 -0
- anyscale/client/openapi_client/models/clone_experimental_workspace.py +151 -0
- anyscale/client/openapi_client/models/cloud.py +802 -0
- anyscale/client/openapi_client/models/cloud_analytics_event.py +351 -0
- anyscale/client/openapi_client/models/cloud_analytics_event_cloud_provider_error.py +152 -0
- anyscale/client/openapi_client/models/cloud_analytics_event_cloud_resource.py +117 -0
- anyscale/client/openapi_client/models/cloud_analytics_event_command_name.py +103 -0
- anyscale/client/openapi_client/models/cloud_analytics_event_error.py +150 -0
- anyscale/client/openapi_client/models/cloud_analytics_event_name.py +109 -0
- anyscale/client/openapi_client/models/cloud_collaborator.py +175 -0
- anyscale/client/openapi_client/models/cloud_collaborator_value.py +177 -0
- anyscale/client/openapi_client/models/cloud_collaborators_query.py +122 -0
- anyscale/client/openapi_client/models/cloud_config.py +206 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_access_mode.py +100 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_file_type.py +102 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_upload_info.py +268 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_upload_request.py +152 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_upload_scheme.py +100 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_url_request.py +209 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_url_response.py +296 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_presigned_url_scheme.py +100 -0
- anyscale/client/openapi_client/models/cloud_data_bucket_request_scope.py +100 -0
- anyscale/client/openapi_client/models/cloud_hosting_type.py +100 -0
- anyscale/client/openapi_client/models/cloud_list_response.py +147 -0
- anyscale/client/openapi_client/models/cloud_name_options.py +121 -0
- anyscale/client/openapi_client/models/cloud_overview_dashboard.py +175 -0
- anyscale/client/openapi_client/models/cloud_project_collaborator.py +175 -0
- anyscale/client/openapi_client/models/cloud_project_collaborator_value.py +121 -0
- anyscale/client/openapi_client/models/cloud_provider.py +102 -0
- anyscale/client/openapi_client/models/cloud_providers.py +103 -0
- anyscale/client/openapi_client/models/cloud_region_and_zones.py +123 -0
- anyscale/client/openapi_client/models/cloud_region_info.py +152 -0
- anyscale/client/openapi_client/models/cloud_resource.py +740 -0
- anyscale/client/openapi_client/models/cloud_resource_gcp.py +691 -0
- anyscale/client/openapi_client/models/cloud_response.py +121 -0
- anyscale/client/openapi_client/models/cloud_state.py +104 -0
- anyscale/client/openapi_client/models/cloud_status.py +100 -0
- anyscale/client/openapi_client/models/cloud_type.py +100 -0
- anyscale/client/openapi_client/models/cloud_types.py +100 -0
- anyscale/client/openapi_client/models/cloud_version.py +100 -0
- anyscale/client/openapi_client/models/cloud_waitlist_status.py +102 -0
- anyscale/client/openapi_client/models/cloud_with_cloud_resource.py +830 -0
- anyscale/client/openapi_client/models/cloud_with_cloud_resource_gcp.py +830 -0
- anyscale/client/openapi_client/models/cloudcollaborator_list_response.py +147 -0
- anyscale/client/openapi_client/models/clouddatabucketpresigneduploadinfo_response.py +121 -0
- anyscale/client/openapi_client/models/clouddatabucketpresignedurlresponse_response.py +121 -0
- anyscale/client/openapi_client/models/cloudoverviewdashboard_response.py +121 -0
- anyscale/client/openapi_client/models/cloudregionandzones_response.py +121 -0
- anyscale/client/openapi_client/models/cloudresource_response.py +121 -0
- anyscale/client/openapi_client/models/cloudresourcegcp_response.py +121 -0
- anyscale/client/openapi_client/models/cloudwithcloudresource_response.py +121 -0
- anyscale/client/openapi_client/models/cloudwithcloudresourcegcp_response.py +121 -0
- anyscale/client/openapi_client/models/cluster_auth_response.py +148 -0
- anyscale/client/openapi_client/models/cluster_config.py +178 -0
- anyscale/client/openapi_client/models/cluster_config_with_session_idle_timeout.py +204 -0
- anyscale/client/openapi_client/models/cluster_environments_query.py +290 -0
- anyscale/client/openapi_client/models/cluster_event.py +174 -0
- anyscale/client/openapi_client/models/cluster_events_output.py +175 -0
- anyscale/client/openapi_client/models/cluster_features.py +152 -0
- anyscale/client/openapi_client/models/cluster_management_stack_versions.py +100 -0
- anyscale/client/openapi_client/models/cluster_startup.py +208 -0
- anyscale/client/openapi_client/models/cluster_status.py +104 -0
- anyscale/client/openapi_client/models/cluster_status_details.py +100 -0
- anyscale/client/openapi_client/models/clusterauthresponse_response.py +121 -0
- anyscale/client/openapi_client/models/clusterconfig_response.py +121 -0
- anyscale/client/openapi_client/models/clusterconfigwithsessionidletimeout_response.py +121 -0
- anyscale/client/openapi_client/models/clustereventsoutput_response.py +121 -0
- anyscale/client/openapi_client/models/clusterfeatures_response.py +121 -0
- anyscale/client/openapi_client/models/company_size.py +103 -0
- anyscale/client/openapi_client/models/compute_node_type.py +292 -0
- anyscale/client/openapi_client/models/compute_stack.py +100 -0
- anyscale/client/openapi_client/models/compute_template.py +415 -0
- anyscale/client/openapi_client/models/compute_template_config.py +461 -0
- anyscale/client/openapi_client/models/compute_template_query.py +316 -0
- anyscale/client/openapi_client/models/computetemplate_response.py +121 -0
- anyscale/client/openapi_client/models/computetemplateconfig_response.py +121 -0
- anyscale/client/openapi_client/models/create_aica_endpoint.py +210 -0
- anyscale/client/openapi_client/models/create_aioa_cloud_waitlist.py +173 -0
- anyscale/client/openapi_client/models/create_analytics_event.py +122 -0
- anyscale/client/openapi_client/models/create_app_config.py +235 -0
- anyscale/client/openapi_client/models/create_app_config_configuration_schema.py +235 -0
- anyscale/client/openapi_client/models/create_billing_version.py +181 -0
- anyscale/client/openapi_client/models/create_bug_report_response.py +152 -0
- anyscale/client/openapi_client/models/create_build.py +263 -0
- anyscale/client/openapi_client/models/create_byod_app_config.py +180 -0
- anyscale/client/openapi_client/models/create_byod_app_config_configuration_schema.py +206 -0
- anyscale/client/openapi_client/models/create_byod_build.py +152 -0
- anyscale/client/openapi_client/models/create_cloud_collaborator.py +148 -0
- anyscale/client/openapi_client/models/create_cloud_resource.py +682 -0
- anyscale/client/openapi_client/models/create_cloud_resource_gcp.py +633 -0
- anyscale/client/openapi_client/models/create_cloud_with_cloud_resource.py +546 -0
- anyscale/client/openapi_client/models/create_cluster_compute_config.py +463 -0
- anyscale/client/openapi_client/models/create_compute_template.py +229 -0
- anyscale/client/openapi_client/models/create_compute_template_config.py +464 -0
- anyscale/client/openapi_client/models/create_dataset.py +200 -0
- anyscale/client/openapi_client/models/create_experimental_workspace.py +435 -0
- anyscale/client/openapi_client/models/create_experimental_workspace_from_job.py +123 -0
- anyscale/client/openapi_client/models/create_fine_tuning_hyperparameters.py +156 -0
- anyscale/client/openapi_client/models/create_fine_tuning_job_product_request.py +353 -0
- anyscale/client/openapi_client/models/create_instance_usage_budget.py +253 -0
- anyscale/client/openapi_client/models/create_internal_production_job.py +262 -0
- anyscale/client/openapi_client/models/create_job_queue_config.py +206 -0
- anyscale/client/openapi_client/models/create_job_queue_requests.py +323 -0
- anyscale/client/openapi_client/models/create_machine_pool_request.py +151 -0
- anyscale/client/openapi_client/models/create_machine_pool_response.py +123 -0
- anyscale/client/openapi_client/models/create_machine_request.py +151 -0
- anyscale/client/openapi_client/models/create_machine_response.py +123 -0
- anyscale/client/openapi_client/models/create_metronome_webhook_notification.py +175 -0
- anyscale/client/openapi_client/models/create_notification_channel_record.py +146 -0
- anyscale/client/openapi_client/models/create_organization_configuration.py +199 -0
- anyscale/client/openapi_client/models/create_organization_invitation.py +121 -0
- anyscale/client/openapi_client/models/create_otp_return_api_model.py +148 -0
- anyscale/client/openapi_client/models/create_production_job_config.py +347 -0
- anyscale/client/openapi_client/models/create_resource_quota.py +293 -0
- anyscale/client/openapi_client/models/create_schedule.py +263 -0
- anyscale/client/openapi_client/models/create_session_from_snapshot_options.py +565 -0
- anyscale/client/openapi_client/models/create_session_in_db.py +434 -0
- anyscale/client/openapi_client/models/create_session_response.py +174 -0
- anyscale/client/openapi_client/models/create_user.py +439 -0
- anyscale/client/openapi_client/models/create_user_project_collaborator.py +148 -0
- anyscale/client/openapi_client/models/create_user_project_collaborator_value.py +121 -0
- anyscale/client/openapi_client/models/create_workspace_from_template.py +263 -0
- anyscale/client/openapi_client/models/createbugreportresponse_response.py +121 -0
- anyscale/client/openapi_client/models/createcomputetemplateconfig_response.py +121 -0
- anyscale/client/openapi_client/models/createmachinepoolresponse_response.py +121 -0
- anyscale/client/openapi_client/models/createmachineresponse_response.py +121 -0
- anyscale/client/openapi_client/models/createotpreturnapimodel_response.py +121 -0
- anyscale/client/openapi_client/models/createsessionresponse_response.py +121 -0
- anyscale/client/openapi_client/models/credit_card_information.py +268 -0
- anyscale/client/openapi_client/models/customer_alert_status.py +101 -0
- anyscale/client/openapi_client/models/customer_billing_type.py +101 -0
- anyscale/client/openapi_client/models/dataplane_services.py +102 -0
- anyscale/client/openapi_client/models/dataset.py +416 -0
- anyscale/client/openapi_client/models/dataset_list_response.py +150 -0
- anyscale/client/openapi_client/models/dataset_response.py +121 -0
- anyscale/client/openapi_client/models/dataset_upload.py +148 -0
- anyscale/client/openapi_client/models/datasetupload_response.py +121 -0
- anyscale/client/openapi_client/models/decorated_application_template.py +493 -0
- anyscale/client/openapi_client/models/decorated_build.py +664 -0
- anyscale/client/openapi_client/models/decorated_compute_template.py +446 -0
- anyscale/client/openapi_client/models/decorated_compute_template_config.py +490 -0
- anyscale/client/openapi_client/models/decorated_interactive_session.py +793 -0
- anyscale/client/openapi_client/models/decorated_job.py +793 -0
- anyscale/client/openapi_client/models/decorated_job_queue.py +639 -0
- anyscale/client/openapi_client/models/decorated_job_submission.py +575 -0
- anyscale/client/openapi_client/models/decorated_list_service_api_model.py +670 -0
- anyscale/client/openapi_client/models/decorated_production_job.py +805 -0
- anyscale/client/openapi_client/models/decorated_production_job_state_transition.py +319 -0
- anyscale/client/openapi_client/models/decorated_production_service_v2_api_model.py +641 -0
- anyscale/client/openapi_client/models/decorated_production_service_v2_version_api_model.py +437 -0
- anyscale/client/openapi_client/models/decorated_runtime_env.py +488 -0
- anyscale/client/openapi_client/models/decorated_schedule.py +552 -0
- anyscale/client/openapi_client/models/decorated_serve_deployment.py +711 -0
- anyscale/client/openapi_client/models/decorated_service_event_api_model.py +513 -0
- anyscale/client/openapi_client/models/decorated_session.py +1789 -0
- anyscale/client/openapi_client/models/decorated_support_request.py +283 -0
- anyscale/client/openapi_client/models/decorated_unified_job.py +466 -0
- anyscale/client/openapi_client/models/decoratedapplicationtemplate_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedapplicationtemplate_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedbuild_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedbuild_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedcomputetemplate_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedcomputetemplate_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedinteractivesession_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedinteractivesession_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedjob_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedjob_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedjobqueue_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedjobqueue_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedjobsubmission_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedjobsubmission_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedlistserviceapimodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedproductionjob_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedproductionjob_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedproductionjobstatetransition_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedproductionservicev2_apimodel_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedproductionservicev2_versionapimodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedruntimeenv_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedruntimeenv_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedschedule_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedschedule_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedservedeployment_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedservedeployment_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedserviceeventapimodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedsession_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedsession_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedsupportrequest_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedsupportrequest_response.py +121 -0
- anyscale/client/openapi_client/models/decoratedunifiedjob_list_response.py +147 -0
- anyscale/client/openapi_client/models/decoratedunifiedjob_response.py +121 -0
- anyscale/client/openapi_client/models/delete_machine_pool_request.py +123 -0
- anyscale/client/openapi_client/models/delete_machine_request.py +206 -0
- anyscale/client/openapi_client/models/deleted_platform_fine_tuned_model.py +148 -0
- anyscale/client/openapi_client/models/deletedplatformfinetunedmodel_response.py +121 -0
- anyscale/client/openapi_client/models/deletemachinepoolresponse_response.py +121 -0
- anyscale/client/openapi_client/models/detach_machine_pool_from_cloud_request.py +152 -0
- anyscale/client/openapi_client/models/detachmachinepoolfromcloudresponse_response.py +121 -0
- anyscale/client/openapi_client/models/dismissal_type.py +100 -0
- anyscale/client/openapi_client/models/editable_cloud_resource.py +206 -0
- anyscale/client/openapi_client/models/editable_cloud_resource_gcp.py +178 -0
- anyscale/client/openapi_client/models/error.py +174 -0
- anyscale/client/openapi_client/models/event_level.py +104 -0
- anyscale/client/openapi_client/models/execute_command_response.py +175 -0
- anyscale/client/openapi_client/models/execute_interactive_command_options.py +147 -0
- anyscale/client/openapi_client/models/execute_shell_command_options.py +121 -0
- anyscale/client/openapi_client/models/executecommandresponse_response.py +121 -0
- anyscale/client/openapi_client/models/experimental_workspace.py +748 -0
- anyscale/client/openapi_client/models/experimental_workspaces_sort_field.py +100 -0
- anyscale/client/openapi_client/models/experimentalworkspace_list_response.py +147 -0
- anyscale/client/openapi_client/models/experimentalworkspace_response.py +121 -0
- anyscale/client/openapi_client/models/external_service_status.py +147 -0
- anyscale/client/openapi_client/models/external_service_status_response.py +250 -0
- anyscale/client/openapi_client/models/external_terminal_command.py +280 -0
- anyscale/client/openapi_client/models/externalservicestatusresponse_response.py +121 -0
- anyscale/client/openapi_client/models/feature_compatibility.py +152 -0
- anyscale/client/openapi_client/models/feature_flag_response.py +121 -0
- anyscale/client/openapi_client/models/featureflagresponse_response.py +121 -0
- anyscale/client/openapi_client/models/fine_tune_type.py +100 -0
- anyscale/client/openapi_client/models/fine_tuned_model.py +412 -0
- anyscale/client/openapi_client/models/fine_tuning_job_status.py +103 -0
- anyscale/client/openapi_client/models/finetunedmodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/finetunedmodel_response.py +121 -0
- anyscale/client/openapi_client/models/finish_ft_job_request.py +204 -0
- anyscale/client/openapi_client/models/finish_ft_job_request_v2.py +183 -0
- anyscale/client/openapi_client/models/gcp_file_store_config.py +175 -0
- anyscale/client/openapi_client/models/gcp_memorystore_instance_config.py +148 -0
- anyscale/client/openapi_client/models/grafana_dashboard.py +201 -0
- anyscale/client/openapi_client/models/grpc_protocol_config.py +178 -0
- anyscale/client/openapi_client/models/ha_job_error_types.py +103 -0
- anyscale/client/openapi_client/models/ha_job_event_level.py +101 -0
- anyscale/client/openapi_client/models/ha_job_event_origin.py +100 -0
- anyscale/client/openapi_client/models/ha_job_goal_states.py +102 -0
- anyscale/client/openapi_client/models/ha_job_states.py +109 -0
- anyscale/client/openapi_client/models/ha_job_type.py +100 -0
- anyscale/client/openapi_client/models/ha_jobs_sort_field.py +105 -0
- anyscale/client/openapi_client/models/head_ip.py +121 -0
- anyscale/client/openapi_client/models/headip_response.py +121 -0
- anyscale/client/openapi_client/models/http_protocol_config.py +150 -0
- anyscale/client/openapi_client/models/http_validation_error.py +120 -0
- anyscale/client/openapi_client/models/idle_termination_status.py +104 -0
- anyscale/client/openapi_client/models/import_aica_model.py +241 -0
- anyscale/client/openapi_client/models/instance_usage_budget.py +572 -0
- anyscale/client/openapi_client/models/instance_usage_budget_evaluation_period.py +100 -0
- anyscale/client/openapi_client/models/instanceusagebudget_list_response.py +147 -0
- anyscale/client/openapi_client/models/instanceusagebudget_response.py +121 -0
- anyscale/client/openapi_client/models/integration_details.py +120 -0
- anyscale/client/openapi_client/models/interactive_session_logs.py +152 -0
- anyscale/client/openapi_client/models/interactivesessionlogs_response.py +121 -0
- anyscale/client/openapi_client/models/internal_production_job.py +663 -0
- anyscale/client/openapi_client/models/internalproductionjob_response.py +121 -0
- anyscale/client/openapi_client/models/invoice.py +413 -0
- anyscale/client/openapi_client/models/invoice_list_response.py +147 -0
- anyscale/client/openapi_client/models/invoice_status.py +102 -0
- anyscale/client/openapi_client/models/invoices_query.py +150 -0
- anyscale/client/openapi_client/models/job_access.py +102 -0
- anyscale/client/openapi_client/models/job_queue.py +467 -0
- anyscale/client/openapi_client/models/job_queue_config.py +122 -0
- anyscale/client/openapi_client/models/job_queue_execution_mode.py +101 -0
- anyscale/client/openapi_client/models/job_queue_spec.py +263 -0
- anyscale/client/openapi_client/models/job_queue_state.py +100 -0
- anyscale/client/openapi_client/models/job_queues_query.py +262 -0
- anyscale/client/openapi_client/models/job_run_type.py +101 -0
- anyscale/client/openapi_client/models/job_state_log_level_types.py +100 -0
- anyscale/client/openapi_client/models/job_status.py +105 -0
- anyscale/client/openapi_client/models/job_submissions_sort_field.py +101 -0
- anyscale/client/openapi_client/models/jobqueue_response.py +121 -0
- anyscale/client/openapi_client/models/jobs_logs.py +152 -0
- anyscale/client/openapi_client/models/jobs_logs_query_info.py +181 -0
- anyscale/client/openapi_client/models/jobs_sort_field.py +104 -0
- anyscale/client/openapi_client/models/jobslogs_response.py +121 -0
- anyscale/client/openapi_client/models/jobslogsqueryinfo_response.py +121 -0
- anyscale/client/openapi_client/models/json_patch_operation.py +200 -0
- anyscale/client/openapi_client/models/kubernetes_manager_registration_request.py +123 -0
- anyscale/client/openapi_client/models/kubernetes_manager_registration_response.py +123 -0
- anyscale/client/openapi_client/models/kubernetesmanagerregistrationresponse_response.py +121 -0
- anyscale/client/openapi_client/models/lb_resource.py +123 -0
- anyscale/client/openapi_client/models/lbresource_response.py +121 -0
- anyscale/client/openapi_client/models/list_machine_pools_response.py +123 -0
- anyscale/client/openapi_client/models/list_machines_response.py +121 -0
- anyscale/client/openapi_client/models/list_resource_quotas_query.py +234 -0
- anyscale/client/openapi_client/models/list_response_metadata.py +146 -0
- anyscale/client/openapi_client/models/listmachinepoolsresponse_response.py +121 -0
- anyscale/client/openapi_client/models/listmachinesresponse_response.py +121 -0
- anyscale/client/openapi_client/models/log_detail.py +187 -0
- anyscale/client/openapi_client/models/log_details.py +151 -0
- anyscale/client/openapi_client/models/log_download_config.py +206 -0
- anyscale/client/openapi_client/models/log_download_request.py +150 -0
- anyscale/client/openapi_client/models/log_download_result.py +207 -0
- anyscale/client/openapi_client/models/log_file_chunk.py +439 -0
- anyscale/client/openapi_client/models/log_filter.py +430 -0
- anyscale/client/openapi_client/models/log_item.py +181 -0
- anyscale/client/openapi_client/models/log_item_batch.py +151 -0
- anyscale/client/openapi_client/models/log_level_types.py +100 -0
- anyscale/client/openapi_client/models/log_stream.py +151 -0
- anyscale/client/openapi_client/models/logdetails_response.py +121 -0
- anyscale/client/openapi_client/models/logdownloadresult_response.py +121 -0
- anyscale/client/openapi_client/models/login_user_params.py +205 -0
- anyscale/client/openapi_client/models/logitembatch_response.py +121 -0
- anyscale/client/openapi_client/models/logs_output.py +202 -0
- anyscale/client/openapi_client/models/logsoutput_response.py +121 -0
- anyscale/client/openapi_client/models/logstream_response.py +121 -0
- anyscale/client/openapi_client/models/long_running_workload.py +256 -0
- anyscale/client/openapi_client/models/longrunningworkload_list_response.py +147 -0
- anyscale/client/openapi_client/models/machine_allocation_state.py +100 -0
- anyscale/client/openapi_client/models/machine_connection_state.py +100 -0
- anyscale/client/openapi_client/models/machine_info.py +466 -0
- anyscale/client/openapi_client/models/machine_pool.py +266 -0
- anyscale/client/openapi_client/models/metronome_customer_info_model.py +148 -0
- anyscale/client/openapi_client/models/metronome_dashboard_type.py +101 -0
- anyscale/client/openapi_client/models/metronomecustomerinfomodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/metronomecustomerinfomodel_response.py +121 -0
- anyscale/client/openapi_client/models/mini_build.py +267 -0
- anyscale/client/openapi_client/models/mini_cloud.py +321 -0
- anyscale/client/openapi_client/models/mini_cluster.py +148 -0
- anyscale/client/openapi_client/models/mini_compute_template.py +228 -0
- anyscale/client/openapi_client/models/mini_compute_template_config.py +121 -0
- anyscale/client/openapi_client/models/mini_job_run.py +599 -0
- anyscale/client/openapi_client/models/mini_namespace.py +148 -0
- anyscale/client/openapi_client/models/mini_organization.py +148 -0
- anyscale/client/openapi_client/models/mini_production_job.py +202 -0
- anyscale/client/openapi_client/models/mini_project.py +205 -0
- anyscale/client/openapi_client/models/mini_runtime_environment.py +147 -0
- anyscale/client/openapi_client/models/mini_schedule.py +180 -0
- anyscale/client/openapi_client/models/mini_user.py +266 -0
- anyscale/client/openapi_client/models/minibuild_list_response.py +147 -0
- anyscale/client/openapi_client/models/minicomputetemplate_list_response.py +147 -0
- anyscale/client/openapi_client/models/miniproject_list_response.py +147 -0
- anyscale/client/openapi_client/models/monitor_logs_extension.py +100 -0
- anyscale/client/openapi_client/models/named_entity.py +148 -0
- anyscale/client/openapi_client/models/nfs_mount_target.py +151 -0
- anyscale/client/openapi_client/models/node_registration_aws.py +152 -0
- anyscale/client/openapi_client/models/node_registration_gcp.py +123 -0
- anyscale/client/openapi_client/models/node_registration_k8_s.py +178 -0
- anyscale/client/openapi_client/models/node_registration_provisioned.py +150 -0
- anyscale/client/openapi_client/models/node_registration_v2.py +279 -0
- anyscale/client/openapi_client/models/node_type.py +100 -0
- anyscale/client/openapi_client/models/notification_channel_email_config.py +121 -0
- anyscale/client/openapi_client/models/notification_channel_webhook_config.py +121 -0
- anyscale/client/openapi_client/models/onboarding_user_cards_query.py +122 -0
- anyscale/client/openapi_client/models/organization.py +490 -0
- anyscale/client/openapi_client/models/organization_availability.py +148 -0
- anyscale/client/openapi_client/models/organization_collaborator.py +259 -0
- anyscale/client/openapi_client/models/organization_configuration.py +280 -0
- anyscale/client/openapi_client/models/organization_configuration_response.py +227 -0
- anyscale/client/openapi_client/models/organization_invitation.py +255 -0
- anyscale/client/openapi_client/models/organization_invitation_base.py +121 -0
- anyscale/client/openapi_client/models/organization_marketing_questions.py +198 -0
- anyscale/client/openapi_client/models/organization_permission_level.py +100 -0
- anyscale/client/openapi_client/models/organization_project_collaborator.py +175 -0
- anyscale/client/openapi_client/models/organization_project_collaborator_value.py +148 -0
- anyscale/client/openapi_client/models/organization_public_identifier.py +121 -0
- anyscale/client/openapi_client/models/organization_response.py +121 -0
- anyscale/client/openapi_client/models/organization_summary.py +229 -0
- anyscale/client/openapi_client/models/organization_usage_alert.py +210 -0
- anyscale/client/openapi_client/models/organization_usage_alert_severity.py +100 -0
- anyscale/client/openapi_client/models/organizationavailability_response.py +121 -0
- anyscale/client/openapi_client/models/organizationcollaborator_list_response.py +147 -0
- anyscale/client/openapi_client/models/organizationconfiguration_list_response.py +147 -0
- anyscale/client/openapi_client/models/organizationconfigurationresponse_response.py +121 -0
- anyscale/client/openapi_client/models/organizationinvitation_list_response.py +147 -0
- anyscale/client/openapi_client/models/organizationinvitation_response.py +121 -0
- anyscale/client/openapi_client/models/organizationinvitationbase_response.py +121 -0
- anyscale/client/openapi_client/models/organizationprojectcollaborator_list_response.py +147 -0
- anyscale/client/openapi_client/models/organizationpublicidentifier_response.py +121 -0
- anyscale/client/openapi_client/models/organizationusagealert_list_response.py +147 -0
- anyscale/client/openapi_client/models/page_query.py +153 -0
- anyscale/client/openapi_client/models/pause_schedule.py +123 -0
- anyscale/client/openapi_client/models/permission_level.py +101 -0
- anyscale/client/openapi_client/models/platform_fine_tuning_job.py +577 -0
- anyscale/client/openapi_client/models/platformfinetuningjob_list_response.py +147 -0
- anyscale/client/openapi_client/models/platformfinetuningjob_response.py +121 -0
- anyscale/client/openapi_client/models/product_autoscaler_flag.py +122 -0
- anyscale/client/openapi_client/models/product_type.py +100 -0
- anyscale/client/openapi_client/models/productautoscalerflag_response.py +121 -0
- anyscale/client/openapi_client/models/production_job.py +437 -0
- anyscale/client/openapi_client/models/production_job_config.py +348 -0
- anyscale/client/openapi_client/models/production_job_event.py +378 -0
- anyscale/client/openapi_client/models/production_job_event_scope_filter.py +101 -0
- anyscale/client/openapi_client/models/production_job_state_transition.py +293 -0
- anyscale/client/openapi_client/models/productionjob_response.py +121 -0
- anyscale/client/openapi_client/models/productionjobevent_list_response.py +147 -0
- anyscale/client/openapi_client/models/project.py +554 -0
- anyscale/client/openapi_client/models/project_base.py +121 -0
- anyscale/client/openapi_client/models/project_collaborator.py +175 -0
- anyscale/client/openapi_client/models/project_collaborator_value.py +175 -0
- anyscale/client/openapi_client/models/project_collaborators_put_message.py +121 -0
- anyscale/client/openapi_client/models/project_create_message.py +148 -0
- anyscale/client/openapi_client/models/project_default_session_name.py +121 -0
- anyscale/client/openapi_client/models/project_delete_message.py +121 -0
- anyscale/client/openapi_client/models/project_list_response.py +147 -0
- anyscale/client/openapi_client/models/project_patch_message.py +121 -0
- anyscale/client/openapi_client/models/project_response.py +121 -0
- anyscale/client/openapi_client/models/projectbase_response.py +121 -0
- anyscale/client/openapi_client/models/projectcollaborator_list_response.py +147 -0
- anyscale/client/openapi_client/models/projectdefaultsessionname_response.py +121 -0
- anyscale/client/openapi_client/models/projects_sort_field.py +101 -0
- anyscale/client/openapi_client/models/projects_violating_tree_hierarchy_response.py +121 -0
- anyscale/client/openapi_client/models/projectsviolatingtreehierarchyresponse_response.py +121 -0
- anyscale/client/openapi_client/models/protocols.py +150 -0
- anyscale/client/openapi_client/models/provider_metadata.py +205 -0
- anyscale/client/openapi_client/models/providermetadata_response.py +121 -0
- anyscale/client/openapi_client/models/python_modules.py +150 -0
- anyscale/client/openapi_client/models/quota.py +198 -0
- anyscale/client/openapi_client/models/ray_gcs_external_storage_config.py +178 -0
- anyscale/client/openapi_client/models/ray_runtime_env_config.py +262 -0
- anyscale/client/openapi_client/models/read_billing_version.py +210 -0
- anyscale/client/openapi_client/models/readbillingversion_list_response.py +147 -0
- anyscale/client/openapi_client/models/replica_details.py +152 -0
- anyscale/client/openapi_client/models/replica_state.py +104 -0
- anyscale/client/openapi_client/models/request_email_magic_link_response.py +147 -0
- anyscale/client/openapi_client/models/request_otp_return_api_model.py +148 -0
- anyscale/client/openapi_client/models/request_password_reset_params.py +147 -0
- anyscale/client/openapi_client/models/requestemailmagiclinkresponse_response.py +121 -0
- anyscale/client/openapi_client/models/requestotpreturnapimodel_response.py +121 -0
- anyscale/client/openapi_client/models/reset_password_params.py +148 -0
- anyscale/client/openapi_client/models/resource_quota.py +465 -0
- anyscale/client/openapi_client/models/resource_quota_status.py +123 -0
- anyscale/client/openapi_client/models/resourcequota_list_response.py +147 -0
- anyscale/client/openapi_client/models/resourcequota_response.py +121 -0
- anyscale/client/openapi_client/models/resources.py +234 -0
- anyscale/client/openapi_client/models/resubmit_ft_job_request.py +121 -0
- anyscale/client/openapi_client/models/rollback_service_model.py +122 -0
- anyscale/client/openapi_client/models/rollout_strategy.py +100 -0
- anyscale/client/openapi_client/models/s3_download_location.py +148 -0
- anyscale/client/openapi_client/models/schedule_config.py +151 -0
- anyscale/client/openapi_client/models/serve_deployment_grafana_dashboard_status.py +101 -0
- anyscale/client/openapi_client/models/serve_deployment_logs.py +152 -0
- anyscale/client/openapi_client/models/serve_deployment_state.py +104 -0
- anyscale/client/openapi_client/models/servedeploymentlogs_response.py +121 -0
- anyscale/client/openapi_client/models/server_session_token.py +121 -0
- anyscale/client/openapi_client/models/serversessiontoken_response.py +121 -0
- anyscale/client/openapi_client/models/service_config.py +178 -0
- anyscale/client/openapi_client/models/service_event_current_state.py +108 -0
- anyscale/client/openapi_client/models/service_event_level.py +102 -0
- anyscale/client/openapi_client/models/service_event_origin.py +103 -0
- anyscale/client/openapi_client/models/service_event_scope.py +103 -0
- anyscale/client/openapi_client/models/service_event_scope_filter.py +104 -0
- anyscale/client/openapi_client/models/service_event_type.py +125 -0
- anyscale/client/openapi_client/models/service_event_verbose_message_model.py +180 -0
- anyscale/client/openapi_client/models/service_goal_states.py +100 -0
- anyscale/client/openapi_client/models/service_observability_urls.py +206 -0
- anyscale/client/openapi_client/models/service_sort_field.py +101 -0
- anyscale/client/openapi_client/models/service_type.py +100 -0
- anyscale/client/openapi_client/models/service_usage.py +353 -0
- anyscale/client/openapi_client/models/service_version_state.py +106 -0
- anyscale/client/openapi_client/models/serviceeventverbosemessagemodel_list_response.py +147 -0
- anyscale/client/openapi_client/models/session.py +834 -0
- anyscale/client/openapi_client/models/session_access.py +102 -0
- anyscale/client/openapi_client/models/session_autosync_sessions_update_message.py +121 -0
- anyscale/client/openapi_client/models/session_command.py +413 -0
- anyscale/client/openapi_client/models/session_command_finish_options.py +226 -0
- anyscale/client/openapi_client/models/session_command_id.py +121 -0
- anyscale/client/openapi_client/models/session_command_types.py +100 -0
- anyscale/client/openapi_client/models/session_create_message.py +148 -0
- anyscale/client/openapi_client/models/session_delete_message.py +121 -0
- anyscale/client/openapi_client/models/session_describe.py +175 -0
- anyscale/client/openapi_client/models/session_details.py +148 -0
- anyscale/client/openapi_client/models/session_event.py +267 -0
- anyscale/client/openapi_client/models/session_event_cause.py +150 -0
- anyscale/client/openapi_client/models/session_event_types.py +111 -0
- anyscale/client/openapi_client/models/session_execute_message.py +121 -0
- anyscale/client/openapi_client/models/session_finish_command_message.py +175 -0
- anyscale/client/openapi_client/models/session_history_item.py +146 -0
- anyscale/client/openapi_client/models/session_kill_command_message.py +121 -0
- anyscale/client/openapi_client/models/session_list_response.py +147 -0
- anyscale/client/openapi_client/models/session_patch_message.py +121 -0
- anyscale/client/openapi_client/models/session_response.py +121 -0
- anyscale/client/openapi_client/models/session_ssh_key.py +148 -0
- anyscale/client/openapi_client/models/session_starting_up_data.py +146 -0
- anyscale/client/openapi_client/models/session_state.py +111 -0
- anyscale/client/openapi_client/models/session_state_change_message.py +121 -0
- anyscale/client/openapi_client/models/session_state_data.py +146 -0
- anyscale/client/openapi_client/models/session_stopping_data.py +146 -0
- anyscale/client/openapi_client/models/sessioncommand_list_response.py +147 -0
- anyscale/client/openapi_client/models/sessioncommandid_response.py +121 -0
- anyscale/client/openapi_client/models/sessiondescribe_response.py +121 -0
- anyscale/client/openapi_client/models/sessiondetails_response.py +121 -0
- anyscale/client/openapi_client/models/sessionevent_list_response.py +147 -0
- anyscale/client/openapi_client/models/sessionhistoryitem_list_response.py +147 -0
- anyscale/client/openapi_client/models/sessions_sort_field.py +104 -0
- anyscale/client/openapi_client/models/sessionsshkey_response.py +121 -0
- anyscale/client/openapi_client/models/setup_initialize_session_options.py +225 -0
- anyscale/client/openapi_client/models/show_otp_source_return_api_model.py +121 -0
- anyscale/client/openapi_client/models/showotpsourcereturnapimodel_response.py +121 -0
- anyscale/client/openapi_client/models/snapshot_create_message.py +148 -0
- anyscale/client/openapi_client/models/snapshot_delete_message.py +148 -0
- anyscale/client/openapi_client/models/snapshot_patch_message.py +148 -0
- anyscale/client/openapi_client/models/socket_message_schemas.py +499 -0
- anyscale/client/openapi_client/models/socket_message_types.py +113 -0
- anyscale/client/openapi_client/models/socketmessageschemas_response.py +121 -0
- anyscale/client/openapi_client/models/socketmessagetypes_response.py +121 -0
- anyscale/client/openapi_client/models/sort_order.py +100 -0
- anyscale/client/openapi_client/models/sso_login_info.py +151 -0
- anyscale/client/openapi_client/models/ssologininfo_response.py +121 -0
- anyscale/client/openapi_client/models/start_session_options.py +146 -0
- anyscale/client/openapi_client/models/stop_session_options.py +227 -0
- anyscale/client/openapi_client/models/stream_publish_request.py +239 -0
- anyscale/client/openapi_client/models/subnet_id_with_availability_zone_aws.py +148 -0
- anyscale/client/openapi_client/models/support_requests_query.py +178 -0
- anyscale/client/openapi_client/models/supportedbaseimagesenum.py +1570 -0
- anyscale/client/openapi_client/models/templatized_compute_configs.py +202 -0
- anyscale/client/openapi_client/models/templatized_decorated_application_templates.py +202 -0
- anyscale/client/openapi_client/models/templatizedcomputeconfigs_response.py +121 -0
- anyscale/client/openapi_client/models/templatizeddecoratedapplicationtemplates_response.py +121 -0
- anyscale/client/openapi_client/models/text_query.py +178 -0
- anyscale/client/openapi_client/models/timestamped_logs_output.py +148 -0
- anyscale/client/openapi_client/models/timestampedlogsoutput_response.py +121 -0
- anyscale/client/openapi_client/models/tool.py +100 -0
- anyscale/client/openapi_client/models/tracing_config.py +178 -0
- anyscale/client/openapi_client/models/try_login_email_response.py +208 -0
- anyscale/client/openapi_client/models/tryloginemailresponse_response.py +121 -0
- anyscale/client/openapi_client/models/unified_job_sort_field.py +103 -0
- anyscale/client/openapi_client/models/unified_job_status.py +114 -0
- anyscale/client/openapi_client/models/unified_job_type.py +100 -0
- anyscale/client/openapi_client/models/update_cloud_with_cloud_resource.py +178 -0
- anyscale/client/openapi_client/models/update_cloud_with_cloud_resource_gcp.py +178 -0
- anyscale/client/openapi_client/models/update_cluster_dns.py +152 -0
- anyscale/client/openapi_client/models/update_compute_template.py +146 -0
- anyscale/client/openapi_client/models/update_compute_template_config.py +464 -0
- anyscale/client/openapi_client/models/update_endpoint.py +152 -0
- anyscale/client/openapi_client/models/update_machine_pool_request.py +151 -0
- anyscale/client/openapi_client/models/update_model_deployment.py +152 -0
- anyscale/client/openapi_client/models/update_organization_collaborator.py +121 -0
- anyscale/client/openapi_client/models/update_project_collaborator.py +121 -0
- anyscale/client/openapi_client/models/update_resource_quota.py +122 -0
- anyscale/client/openapi_client/models/updatemachinepoolresponse_response.py +121 -0
- anyscale/client/openapi_client/models/upload_session_command_logs_locations.py +148 -0
- anyscale/client/openapi_client/models/uploadsessioncommandlogslocations_response.py +121 -0
- anyscale/client/openapi_client/models/user_info.py +569 -0
- anyscale/client/openapi_client/models/user_resend_email_options.py +147 -0
- anyscale/client/openapi_client/models/user_service_access_types.py +100 -0
- anyscale/client/openapi_client/models/userinfo_response.py +121 -0
- anyscale/client/openapi_client/models/utm_fields.py +224 -0
- anyscale/client/openapi_client/models/ux_instance.py +468 -0
- anyscale/client/openapi_client/models/validate_otp_params_api_model.py +121 -0
- anyscale/client/openapi_client/models/validation_error.py +175 -0
- anyscale/client/openapi_client/models/verify_response.py +147 -0
- anyscale/client/openapi_client/models/verifyresponse_response.py +121 -0
- anyscale/client/openapi_client/models/visibility.py +100 -0
- anyscale/client/openapi_client/models/waitlist_status_response.py +121 -0
- anyscale/client/openapi_client/models/waitlist_status_type.py +100 -0
- anyscale/client/openapi_client/models/waitliststatusresponse_response.py +121 -0
- anyscale/client/openapi_client/models/wand_b_run_details.py +147 -0
- anyscale/client/openapi_client/models/web_terminal.py +121 -0
- anyscale/client/openapi_client/models/webterminal_list_response.py +147 -0
- anyscale/client/openapi_client/models/webterminal_response.py +121 -0
- anyscale/client/openapi_client/models/worker_node_type.py +404 -0
- anyscale/client/openapi_client/models/workload_type.py +102 -0
- anyscale/client/openapi_client/models/workspace_dataplane_artifact.py +181 -0
- anyscale/client/openapi_client/models/workspace_dataplane_artifacts.py +123 -0
- anyscale/client/openapi_client/models/workspace_dataplane_proxied_artifacts.py +178 -0
- anyscale/client/openapi_client/models/workspace_event.py +325 -0
- anyscale/client/openapi_client/models/workspace_event_source.py +100 -0
- anyscale/client/openapi_client/models/workspace_event_source_filter.py +101 -0
- anyscale/client/openapi_client/models/workspace_readme.py +123 -0
- anyscale/client/openapi_client/models/workspace_snapshot_states.py +108 -0
- anyscale/client/openapi_client/models/workspace_template.py +353 -0
- anyscale/client/openapi_client/models/workspace_template_cluster_environment_metadata.py +178 -0
- anyscale/client/openapi_client/models/workspacedataplaneartifacts_response.py +121 -0
- anyscale/client/openapi_client/models/workspacedataplaneproxiedartifacts_response.py +121 -0
- anyscale/client/openapi_client/models/workspaceevent_list_response.py +147 -0
- anyscale/client/openapi_client/models/workspacereadme_response.py +121 -0
- anyscale/client/openapi_client/models/workspacetemplate_list_response.py +147 -0
- anyscale/client/openapi_client/models/workspacetemplateclusterenvironmentmetadata_response.py +121 -0
- anyscale/client/openapi_client/models/write_cloud.py +546 -0
- anyscale/client/openapi_client/models/write_cluster_config.py +123 -0
- anyscale/client/openapi_client/models/write_project.py +226 -0
- anyscale/client/openapi_client/models/write_session.py +147 -0
- anyscale/client/openapi_client/models/write_support_request.py +121 -0
- anyscale/client/openapi_client/rest.py +296 -0
- anyscale/client/requirements.txt +6 -0
- anyscale/client/setup.cfg +2 -0
- anyscale/client/setup.py +40 -0
- anyscale/client/test-requirements.txt +3 -0
- anyscale/client/tox.ini +9 -0
- anyscale/cloud.py +216 -0
- anyscale/cloud_resource.py +1032 -0
- anyscale/cluster.py +138 -0
- anyscale/cluster_compute.py +167 -0
- anyscale/cluster_env.py +173 -0
- anyscale/commands/__init__.py +0 -0
- anyscale/commands/aggregated_instance_usage_commands.py +86 -0
- anyscale/commands/anyscale_api/__init__.py +0 -0
- anyscale/commands/anyscale_api/api_commands.py +23 -0
- anyscale/commands/anyscale_api/session_commands_commands.py +80 -0
- anyscale/commands/anyscale_api/session_operations_commands.py +28 -0
- anyscale/commands/anyscale_api/sessions_commands.py +152 -0
- anyscale/commands/auth_commands.py +41 -0
- anyscale/commands/cloud_commands.py +1011 -0
- anyscale/commands/cloud_commands_util.py +10 -0
- anyscale/commands/cluster_commands.py +476 -0
- anyscale/commands/cluster_env_commands.py +139 -0
- anyscale/commands/command_examples.py +495 -0
- anyscale/commands/compute_config_commands.py +252 -0
- anyscale/commands/config_commands.py +213 -0
- anyscale/commands/exec_commands.py +14 -0
- anyscale/commands/experimental_integrations_commands.py +70 -0
- anyscale/commands/image_commands.py +125 -0
- anyscale/commands/job_commands.py +745 -0
- anyscale/commands/list_commands.py +85 -0
- anyscale/commands/llm/dataset_commands.py +269 -0
- anyscale/commands/llm/group.py +15 -0
- anyscale/commands/llm/models_commands.py +123 -0
- anyscale/commands/login_commands.py +79 -0
- anyscale/commands/logs_commands.py +312 -0
- anyscale/commands/machine_commands.py +116 -0
- anyscale/commands/machine_pool_commands.py +163 -0
- anyscale/commands/migrate_commands.py +84 -0
- anyscale/commands/project_commands.py +203 -0
- anyscale/commands/resource_quota_commands.py +214 -0
- anyscale/commands/schedule_commands.py +436 -0
- anyscale/commands/service_account_commands.py +72 -0
- anyscale/commands/service_commands.py +738 -0
- anyscale/commands/session_commands_hidden.py +179 -0
- anyscale/commands/util.py +152 -0
- anyscale/commands/workspace_commands.py +511 -0
- anyscale/commands/workspace_commands_v2.py +874 -0
- anyscale/component_activity_util.py +83 -0
- anyscale/compute_config/__init__.py +84 -0
- anyscale/compute_config/_private/compute_config_sdk.py +433 -0
- anyscale/compute_config/commands.py +122 -0
- anyscale/compute_config/models.py +630 -0
- anyscale/conf.py +23 -0
- anyscale/connect.py +1323 -0
- anyscale/connect_utils/__init__.py +0 -0
- anyscale/connect_utils/prepare_cluster.py +962 -0
- anyscale/connect_utils/project.py +298 -0
- anyscale/connect_utils/start_interactive_session.py +437 -0
- anyscale/controllers/__init__.py +0 -0
- anyscale/controllers/auth_controller.py +134 -0
- anyscale/controllers/base_controller.py +52 -0
- anyscale/controllers/cloud_controller.py +3609 -0
- anyscale/controllers/cloud_functional_verification_controller.py +858 -0
- anyscale/controllers/cluster_controller.py +720 -0
- anyscale/controllers/cluster_env_controller.py +219 -0
- anyscale/controllers/compute_config_controller.py +351 -0
- anyscale/controllers/config_controller.py +422 -0
- anyscale/controllers/experimental_integrations_controller.py +80 -0
- anyscale/controllers/job_controller.py +647 -0
- anyscale/controllers/jobs_bg_controller.py +0 -0
- anyscale/controllers/list_controller.py +290 -0
- anyscale/controllers/llm/__init__.py +0 -0
- anyscale/controllers/llm/models_controller.py +144 -0
- anyscale/controllers/logs_controller.py +449 -0
- anyscale/controllers/machine_controller.py +37 -0
- anyscale/controllers/machine_pool_controller.py +86 -0
- anyscale/controllers/project_controller.py +281 -0
- anyscale/controllers/resource_quota_controller.py +183 -0
- anyscale/controllers/schedule_controller.py +333 -0
- anyscale/controllers/service_account_controller.py +168 -0
- anyscale/controllers/service_controller.py +453 -0
- anyscale/controllers/workspace_controller.py +253 -0
- anyscale/feature_flags.py +4 -0
- anyscale/fingerprint.py +62 -0
- anyscale/formatters/__init__.py +0 -0
- anyscale/formatters/clouds_formatter.py +65 -0
- anyscale/formatters/common_formatter.py +22 -0
- anyscale/gcp_verification.py +792 -0
- anyscale/image/__init__.py +73 -0
- anyscale/image/_private/image_sdk.py +202 -0
- anyscale/image/commands.py +117 -0
- anyscale/image/models.py +57 -0
- anyscale/integrations.py +329 -0
- anyscale/job/__init__.py +166 -0
- anyscale/job/_private/job_sdk.py +497 -0
- anyscale/job/commands.py +267 -0
- anyscale/job/models.py +500 -0
- anyscale/links.py +4 -0
- anyscale/llm/__init__.py +2 -0
- anyscale/llm/dataset/__init__.py +2 -0
- anyscale/llm/dataset/_private/__init__.py +0 -0
- anyscale/llm/dataset/_private/docs.py +63 -0
- anyscale/llm/dataset/_private/models.py +71 -0
- anyscale/llm/dataset/_private/sdk.py +147 -0
- anyscale/llm/model/__init__.py +2 -0
- anyscale/llm/model/_private/models_sdk.py +62 -0
- anyscale/llm/model/commands.py +93 -0
- anyscale/llm/model/models.py +171 -0
- anyscale/llm/model/sdk.py +62 -0
- anyscale/llm/sdk.py +27 -0
- anyscale/memorydb_supported_zones.json +22 -0
- anyscale/models/job_model.py +457 -0
- anyscale/models/service_model.py +125 -0
- anyscale/project.py +501 -0
- anyscale/schedule/__init__.py +91 -0
- anyscale/schedule/_private/schedule_sdk.py +165 -0
- anyscale/schedule/commands.py +149 -0
- anyscale/schedule/models.py +145 -0
- anyscale/scripts.py +164 -0
- anyscale/sdk/anyscale_client/__init__.py +235 -0
- anyscale/sdk/anyscale_client/api/__init__.py +6 -0
- anyscale/sdk/anyscale_client/api/default_api.py +11625 -0
- anyscale/sdk/anyscale_client/api_client.py +647 -0
- anyscale/sdk/anyscale_client/configuration.py +373 -0
- anyscale/sdk/anyscale_client/exceptions.py +120 -0
- anyscale/sdk/anyscale_client/models/__init__.py +220 -0
- anyscale/sdk/anyscale_client/models/access_config.py +122 -0
- anyscale/sdk/anyscale_client/models/app_config.py +436 -0
- anyscale/sdk/anyscale_client/models/app_config_config_schema.py +235 -0
- anyscale/sdk/anyscale_client/models/appconfig_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/appconfig_response.py +121 -0
- anyscale/sdk/anyscale_client/models/apply_production_service_v2_model.py +490 -0
- anyscale/sdk/anyscale_client/models/apply_service_model.py +490 -0
- anyscale/sdk/anyscale_client/models/archive_status.py +101 -0
- anyscale/sdk/anyscale_client/models/base_job_status.py +105 -0
- anyscale/sdk/anyscale_client/models/baseimagesenum.py +2130 -0
- anyscale/sdk/anyscale_client/models/build.py +607 -0
- anyscale/sdk/anyscale_client/models/build_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/build_log_response.py +123 -0
- anyscale/sdk/anyscale_client/models/build_response.py +121 -0
- anyscale/sdk/anyscale_client/models/build_status.py +104 -0
- anyscale/sdk/anyscale_client/models/buildlogresponse_response.py +121 -0
- anyscale/sdk/anyscale_client/models/cloud.py +802 -0
- anyscale/sdk/anyscale_client/models/cloud_config.py +206 -0
- anyscale/sdk/anyscale_client/models/cloud_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/cloud_providers.py +103 -0
- anyscale/sdk/anyscale_client/models/cloud_response.py +121 -0
- anyscale/sdk/anyscale_client/models/cloud_state.py +104 -0
- anyscale/sdk/anyscale_client/models/cloud_status.py +100 -0
- anyscale/sdk/anyscale_client/models/cloud_type.py +100 -0
- anyscale/sdk/anyscale_client/models/cloud_types.py +100 -0
- anyscale/sdk/anyscale_client/models/cloud_version.py +100 -0
- anyscale/sdk/anyscale_client/models/clouds_query.py +150 -0
- anyscale/sdk/anyscale_client/models/cluster.py +721 -0
- anyscale/sdk/anyscale_client/models/cluster_compute.py +415 -0
- anyscale/sdk/anyscale_client/models/cluster_compute_config.py +461 -0
- anyscale/sdk/anyscale_client/models/cluster_computes_query.py +293 -0
- anyscale/sdk/anyscale_client/models/cluster_environment.py +380 -0
- anyscale/sdk/anyscale_client/models/cluster_environment_build.py +578 -0
- anyscale/sdk/anyscale_client/models/cluster_environment_build_log_response.py +123 -0
- anyscale/sdk/anyscale_client/models/cluster_environment_build_operation.py +237 -0
- anyscale/sdk/anyscale_client/models/cluster_environment_build_status.py +104 -0
- anyscale/sdk/anyscale_client/models/cluster_environments_query.py +290 -0
- anyscale/sdk/anyscale_client/models/cluster_head_node_info.py +152 -0
- anyscale/sdk/anyscale_client/models/cluster_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/cluster_management_stack_versions.py +100 -0
- anyscale/sdk/anyscale_client/models/cluster_operation.py +266 -0
- anyscale/sdk/anyscale_client/models/cluster_operation_type.py +101 -0
- anyscale/sdk/anyscale_client/models/cluster_response.py +121 -0
- anyscale/sdk/anyscale_client/models/cluster_services_urls.py +430 -0
- anyscale/sdk/anyscale_client/models/cluster_state.py +108 -0
- anyscale/sdk/anyscale_client/models/cluster_status.py +104 -0
- anyscale/sdk/anyscale_client/models/cluster_status_details.py +100 -0
- anyscale/sdk/anyscale_client/models/clustercompute_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/clustercompute_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusterenvironment_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/clusterenvironment_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusterenvironmentbuild_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/clusterenvironmentbuild_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusterenvironmentbuildlogresponse_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusterenvironmentbuildoperation_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusteroperation_response.py +121 -0
- anyscale/sdk/anyscale_client/models/clusters_query.py +234 -0
- anyscale/sdk/anyscale_client/models/compute_node_type.py +292 -0
- anyscale/sdk/anyscale_client/models/compute_stack.py +100 -0
- anyscale/sdk/anyscale_client/models/compute_template.py +415 -0
- anyscale/sdk/anyscale_client/models/compute_template_config.py +461 -0
- anyscale/sdk/anyscale_client/models/compute_template_query.py +316 -0
- anyscale/sdk/anyscale_client/models/computetemplate_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/computetemplate_response.py +121 -0
- anyscale/sdk/anyscale_client/models/computetemplateconfig_response.py +121 -0
- anyscale/sdk/anyscale_client/models/create_app_config.py +235 -0
- anyscale/sdk/anyscale_client/models/create_app_config_configuration_schema.py +235 -0
- anyscale/sdk/anyscale_client/models/create_build.py +263 -0
- anyscale/sdk/anyscale_client/models/create_byod_app_config_configuration_schema.py +206 -0
- anyscale/sdk/anyscale_client/models/create_byod_cluster_environment.py +180 -0
- anyscale/sdk/anyscale_client/models/create_byod_cluster_environment_build.py +152 -0
- anyscale/sdk/anyscale_client/models/create_byod_cluster_environment_configuration_schema.py +208 -0
- anyscale/sdk/anyscale_client/models/create_cloud.py +518 -0
- anyscale/sdk/anyscale_client/models/create_cluster.py +376 -0
- anyscale/sdk/anyscale_client/models/create_cluster_compute.py +229 -0
- anyscale/sdk/anyscale_client/models/create_cluster_compute_config.py +463 -0
- anyscale/sdk/anyscale_client/models/create_cluster_environment.py +235 -0
- anyscale/sdk/anyscale_client/models/create_cluster_environment_build.py +263 -0
- anyscale/sdk/anyscale_client/models/create_cluster_environment_configuration_schema.py +235 -0
- anyscale/sdk/anyscale_client/models/create_compute_template.py +229 -0
- anyscale/sdk/anyscale_client/models/create_compute_template_config.py +464 -0
- anyscale/sdk/anyscale_client/models/create_job_queue_config.py +206 -0
- anyscale/sdk/anyscale_client/models/create_production_job.py +234 -0
- anyscale/sdk/anyscale_client/models/create_production_job_config.py +347 -0
- anyscale/sdk/anyscale_client/models/create_project.py +207 -0
- anyscale/sdk/anyscale_client/models/create_schedule.py +263 -0
- anyscale/sdk/anyscale_client/models/create_session.py +432 -0
- anyscale/sdk/anyscale_client/models/create_session_command.py +152 -0
- anyscale/sdk/anyscale_client/models/create_sso_config.py +150 -0
- anyscale/sdk/anyscale_client/models/grpc_protocol_config.py +178 -0
- anyscale/sdk/anyscale_client/models/ha_job_goal_states.py +102 -0
- anyscale/sdk/anyscale_client/models/ha_job_states.py +109 -0
- anyscale/sdk/anyscale_client/models/http_protocol_config.py +150 -0
- anyscale/sdk/anyscale_client/models/http_validation_error.py +120 -0
- anyscale/sdk/anyscale_client/models/idle_termination_status.py +104 -0
- anyscale/sdk/anyscale_client/models/job.py +466 -0
- anyscale/sdk/anyscale_client/models/job_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/job_queue_config.py +122 -0
- anyscale/sdk/anyscale_client/models/job_queue_execution_mode.py +101 -0
- anyscale/sdk/anyscale_client/models/job_queue_spec.py +263 -0
- anyscale/sdk/anyscale_client/models/job_run_type.py +101 -0
- anyscale/sdk/anyscale_client/models/job_status.py +105 -0
- anyscale/sdk/anyscale_client/models/jobs_query.py +458 -0
- anyscale/sdk/anyscale_client/models/jobs_sort_field.py +104 -0
- anyscale/sdk/anyscale_client/models/list_response_metadata.py +146 -0
- anyscale/sdk/anyscale_client/models/list_service_model.py +347 -0
- anyscale/sdk/anyscale_client/models/listservicemodel_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/log_download_result.py +207 -0
- anyscale/sdk/anyscale_client/models/log_file_chunk.py +439 -0
- anyscale/sdk/anyscale_client/models/log_level_types.py +100 -0
- anyscale/sdk/anyscale_client/models/log_stream.py +151 -0
- anyscale/sdk/anyscale_client/models/logdownloadresult_response.py +121 -0
- anyscale/sdk/anyscale_client/models/logstream_response.py +121 -0
- anyscale/sdk/anyscale_client/models/node_type.py +100 -0
- anyscale/sdk/anyscale_client/models/object_storage_config.py +122 -0
- anyscale/sdk/anyscale_client/models/object_storage_config_s3.py +256 -0
- anyscale/sdk/anyscale_client/models/objectstorageconfig_response.py +121 -0
- anyscale/sdk/anyscale_client/models/operation_error.py +123 -0
- anyscale/sdk/anyscale_client/models/operation_progress.py +123 -0
- anyscale/sdk/anyscale_client/models/operation_result.py +150 -0
- anyscale/sdk/anyscale_client/models/organization.py +209 -0
- anyscale/sdk/anyscale_client/models/organization_response.py +121 -0
- anyscale/sdk/anyscale_client/models/page_query.py +153 -0
- anyscale/sdk/anyscale_client/models/pause_schedule.py +123 -0
- anyscale/sdk/anyscale_client/models/production_job.py +437 -0
- anyscale/sdk/anyscale_client/models/production_job_config.py +348 -0
- anyscale/sdk/anyscale_client/models/production_job_state_transition.py +293 -0
- anyscale/sdk/anyscale_client/models/production_service_v2_model.py +612 -0
- anyscale/sdk/anyscale_client/models/production_service_v2_version_model.py +437 -0
- anyscale/sdk/anyscale_client/models/productionjob_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/productionjob_response.py +121 -0
- anyscale/sdk/anyscale_client/models/productionservicev2_model_response.py +121 -0
- anyscale/sdk/anyscale_client/models/project.py +467 -0
- anyscale/sdk/anyscale_client/models/project_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/project_response.py +121 -0
- anyscale/sdk/anyscale_client/models/projects_query.py +234 -0
- anyscale/sdk/anyscale_client/models/protocols.py +150 -0
- anyscale/sdk/anyscale_client/models/python_modules.py +150 -0
- anyscale/sdk/anyscale_client/models/python_version.py +105 -0
- anyscale/sdk/anyscale_client/models/ray_gcs_external_storage_config.py +178 -0
- anyscale/sdk/anyscale_client/models/ray_runtime_env_config.py +262 -0
- anyscale/sdk/anyscale_client/models/resources.py +234 -0
- anyscale/sdk/anyscale_client/models/rollback_service_model.py +122 -0
- anyscale/sdk/anyscale_client/models/rollout_strategy.py +100 -0
- anyscale/sdk/anyscale_client/models/runtime_environment.py +406 -0
- anyscale/sdk/anyscale_client/models/runtimeenvironment_response.py +121 -0
- anyscale/sdk/anyscale_client/models/schedule_api_model.py +467 -0
- anyscale/sdk/anyscale_client/models/schedule_config.py +151 -0
- anyscale/sdk/anyscale_client/models/scheduleapimodel_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/scheduleapimodel_response.py +121 -0
- anyscale/sdk/anyscale_client/models/service_config.py +178 -0
- anyscale/sdk/anyscale_client/models/service_event_current_state.py +108 -0
- anyscale/sdk/anyscale_client/models/service_goal_states.py +100 -0
- anyscale/sdk/anyscale_client/models/service_model.py +612 -0
- anyscale/sdk/anyscale_client/models/service_observability_urls.py +206 -0
- anyscale/sdk/anyscale_client/models/service_sort_field.py +101 -0
- anyscale/sdk/anyscale_client/models/service_type.py +100 -0
- anyscale/sdk/anyscale_client/models/service_version_state.py +106 -0
- anyscale/sdk/anyscale_client/models/servicemodel_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/servicemodel_response.py +121 -0
- anyscale/sdk/anyscale_client/models/session.py +1535 -0
- anyscale/sdk/anyscale_client/models/session_command.py +350 -0
- anyscale/sdk/anyscale_client/models/session_command_types.py +100 -0
- anyscale/sdk/anyscale_client/models/session_event.py +267 -0
- anyscale/sdk/anyscale_client/models/session_event_cause.py +150 -0
- anyscale/sdk/anyscale_client/models/session_event_types.py +111 -0
- anyscale/sdk/anyscale_client/models/session_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/session_operation.py +266 -0
- anyscale/sdk/anyscale_client/models/session_operation_type.py +101 -0
- anyscale/sdk/anyscale_client/models/session_response.py +121 -0
- anyscale/sdk/anyscale_client/models/session_starting_up_data.py +146 -0
- anyscale/sdk/anyscale_client/models/session_state.py +111 -0
- anyscale/sdk/anyscale_client/models/session_state_data.py +146 -0
- anyscale/sdk/anyscale_client/models/session_stopping_data.py +146 -0
- anyscale/sdk/anyscale_client/models/sessioncommand_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/sessioncommand_response.py +121 -0
- anyscale/sdk/anyscale_client/models/sessionevent_list_response.py +147 -0
- anyscale/sdk/anyscale_client/models/sessionoperation_response.py +121 -0
- anyscale/sdk/anyscale_client/models/sessions_query.py +206 -0
- anyscale/sdk/anyscale_client/models/sort_by_clause_jobs_sort_field.py +148 -0
- anyscale/sdk/anyscale_client/models/sort_order.py +100 -0
- anyscale/sdk/anyscale_client/models/sso_config.py +237 -0
- anyscale/sdk/anyscale_client/models/sso_mode.py +101 -0
- anyscale/sdk/anyscale_client/models/ssoconfig_response.py +121 -0
- anyscale/sdk/anyscale_client/models/start_cluster_options.py +178 -0
- anyscale/sdk/anyscale_client/models/start_session_options.py +206 -0
- anyscale/sdk/anyscale_client/models/static_sso_config.py +210 -0
- anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +1570 -0
- anyscale/sdk/anyscale_client/models/terminate_cluster_options.py +122 -0
- anyscale/sdk/anyscale_client/models/terminate_session_options.py +206 -0
- anyscale/sdk/anyscale_client/models/text_query.py +178 -0
- anyscale/sdk/anyscale_client/models/tracing_config.py +178 -0
- anyscale/sdk/anyscale_client/models/update_app_config.py +122 -0
- anyscale/sdk/anyscale_client/models/update_cloud.py +150 -0
- anyscale/sdk/anyscale_client/models/update_cluster.py +206 -0
- anyscale/sdk/anyscale_client/models/update_compute_template.py +146 -0
- anyscale/sdk/anyscale_client/models/update_compute_template_config.py +464 -0
- anyscale/sdk/anyscale_client/models/update_organization.py +123 -0
- anyscale/sdk/anyscale_client/models/update_project.py +150 -0
- anyscale/sdk/anyscale_client/models/update_session.py +150 -0
- anyscale/sdk/anyscale_client/models/user_service_access_types.py +100 -0
- anyscale/sdk/anyscale_client/models/ux_instance.py +468 -0
- anyscale/sdk/anyscale_client/models/validation_error.py +175 -0
- anyscale/sdk/anyscale_client/models/worker_node_type.py +404 -0
- anyscale/sdk/anyscale_client/rest.py +296 -0
- anyscale/sdk/anyscale_client/sdk.py +634 -0
- anyscale/service/__init__.py +168 -0
- anyscale/service/_private/service_sdk.py +702 -0
- anyscale/service/commands.py +261 -0
- anyscale/service/models.py +671 -0
- anyscale/shared_anyscale_utils/__init__.py +1 -0
- anyscale/shared_anyscale_utils/aws.py +153 -0
- anyscale/shared_anyscale_utils/bytes_util.py +10 -0
- anyscale/shared_anyscale_utils/conf.py +47 -0
- anyscale/shared_anyscale_utils/default_anyscale_aws.yaml +74 -0
- anyscale/shared_anyscale_utils/default_anyscale_gcp.yaml +80 -0
- anyscale/shared_anyscale_utils/headers.py +38 -0
- anyscale/shared_anyscale_utils/latest_ray_version.py +2 -0
- anyscale/shared_anyscale_utils/project.py +15 -0
- anyscale/shared_anyscale_utils/test_util.py +22 -0
- anyscale/shared_anyscale_utils/tests/__init__.py +1 -0
- anyscale/shared_anyscale_utils/tests/test_asyncio.py +41 -0
- anyscale/shared_anyscale_utils/tests/test_ray_semver.py +63 -0
- anyscale/shared_anyscale_utils/util.py +50 -0
- anyscale/shared_anyscale_utils/utils/__init__.py +2 -0
- anyscale/shared_anyscale_utils/utils/asyncio.py +120 -0
- anyscale/shared_anyscale_utils/utils/byod.py +40 -0
- anyscale/shared_anyscale_utils/utils/collections.py +33 -0
- anyscale/shared_anyscale_utils/utils/id_gen.py +147 -0
- anyscale/shared_anyscale_utils/utils/protected_string.py +89 -0
- anyscale/shared_anyscale_utils/utils/ray_semver.py +81 -0
- anyscale/snapshot.py +46 -0
- anyscale/tables.py +82 -0
- anyscale/util.py +1155 -0
- anyscale/utils/__init__.py +0 -0
- anyscale/utils/cli_version_check_util.py +63 -0
- anyscale/utils/cloud_update_utils.py +862 -0
- anyscale/utils/cloud_utils.py +317 -0
- anyscale/utils/cluster_debug.py +191 -0
- anyscale/utils/connect_helpers.py +155 -0
- anyscale/utils/deprecation_util.py +32 -0
- anyscale/utils/entity_arg_utils.py +43 -0
- anyscale/utils/env_utils.py +17 -0
- anyscale/utils/gcp_managed_setup_utils.py +888 -0
- anyscale/utils/gcp_utils.py +312 -0
- anyscale/utils/imports/__init__.py +0 -0
- anyscale/utils/imports/all.py +13 -0
- anyscale/utils/imports/azure.py +14 -0
- anyscale/utils/imports/gcp.py +59 -0
- anyscale/utils/logs_utils.py +141 -0
- anyscale/utils/name_utils.py +33 -0
- anyscale/utils/network_verification.py +153 -0
- anyscale/utils/ray_utils.py +128 -0
- anyscale/utils/ray_version_checker.py +48 -0
- anyscale/utils/ray_version_utils.py +53 -0
- anyscale/utils/runtime_env.py +487 -0
- anyscale/utils/s3.py +92 -0
- anyscale/utils/user_utils.py +17 -0
- anyscale/utils/workload_types.py +7 -0
- anyscale/utils/workspace_notification.py +39 -0
- anyscale/utils/workspace_utils.py +65 -0
- anyscale/version.py +1 -0
- anyscale/webterminal/__init__.py +0 -0
- anyscale/webterminal/bash-preexec.sh +370 -0
- anyscale/webterminal/command_persister.py +164 -0
- anyscale/webterminal/utils.py +176 -0
- anyscale/webterminal/webterminal.py +311 -0
- anyscale/workspace/__init__.py +270 -0
- anyscale/workspace/_private/workspace_sdk.py +737 -0
- anyscale/workspace/commands.py +472 -0
- anyscale/workspace/models.py +296 -0
- anyscale/workspace_utils.py +35 -0
- anyscale-0.24.86.dist-info/LICENSE +68 -0
- anyscale-0.24.86.dist-info/METADATA +82 -0
- anyscale-0.24.86.dist-info/NOTICE +6 -0
- anyscale-0.24.86.dist-info/RECORD +1131 -0
- anyscale-0.24.86.dist-info/WHEEL +5 -0
- anyscale-0.24.86.dist-info/entry_points.txt +2 -0
- anyscale-0.24.86.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,1351 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pydantic
|
|
3
|
+
Version: 1.10.12
|
|
4
|
+
Summary: Data validation and settings management using python type hints
|
|
5
|
+
Home-page: https://github.com/pydantic/pydantic
|
|
6
|
+
Author: Samuel Colvin
|
|
7
|
+
Author-email: s@muelcolvin.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Programming Language :: Python
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.7
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Intended Audience :: Developers
|
|
19
|
+
Classifier: Intended Audience :: Information Technology
|
|
20
|
+
Classifier: Intended Audience :: System Administrators
|
|
21
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
22
|
+
Classifier: Operating System :: Unix
|
|
23
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
24
|
+
Classifier: Environment :: Console
|
|
25
|
+
Classifier: Environment :: MacOS X
|
|
26
|
+
Classifier: Framework :: Hypothesis
|
|
27
|
+
Classifier: Framework :: Pydantic
|
|
28
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
29
|
+
Classifier: Topic :: Internet
|
|
30
|
+
Requires-Python: >=3.7
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
Provides-Extra: email
|
|
33
|
+
Provides-Extra: dotenv
|
|
34
|
+
License-File: LICENSE
|
|
35
|
+
|
|
36
|
+
# pydantic
|
|
37
|
+
|
|
38
|
+
[](https://github.com/pydantic/pydantic/actions?query=event%3Apush+branch%3Amain+workflow%3ACI)
|
|
39
|
+
[](https://coverage-badge.samuelcolvin.workers.dev/redirect/pydantic/pydantic?branch=1.10.X-fixes)
|
|
40
|
+
[](https://pypi.python.org/pypi/pydantic)
|
|
41
|
+
[](https://anaconda.org/conda-forge/pydantic)
|
|
42
|
+
[](https://pepy.tech/project/pydantic)
|
|
43
|
+
[](https://github.com/pydantic/pydantic)
|
|
44
|
+
[](https://github.com/pydantic/pydantic/blob/main/LICENSE)
|
|
45
|
+
|
|
46
|
+
Data validation and settings management using Python type hints.
|
|
47
|
+
|
|
48
|
+
Fast and extensible, *pydantic* plays nicely with your linters/IDE/brain.
|
|
49
|
+
Define how data should be in pure, canonical Python 3.7+; validate it with *pydantic*.
|
|
50
|
+
|
|
51
|
+
## Pydantic Company :rocket:
|
|
52
|
+
|
|
53
|
+
We've started a company based on the principles that I believe have led to Pydantic's success.
|
|
54
|
+
Learning more from the [Company Announcement](https://pydantic.dev/announcement/).
|
|
55
|
+
|
|
56
|
+
## Help
|
|
57
|
+
|
|
58
|
+
See [documentation](https://docs.pydantic.dev/) for more details.
|
|
59
|
+
|
|
60
|
+
## Installation
|
|
61
|
+
|
|
62
|
+
Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`.
|
|
63
|
+
For more installation options to make *pydantic* even faster,
|
|
64
|
+
see the [Install](https://docs.pydantic.dev/install/) section in the documentation.
|
|
65
|
+
|
|
66
|
+
## A Simple Example
|
|
67
|
+
|
|
68
|
+
```py
|
|
69
|
+
from datetime import datetime
|
|
70
|
+
from typing import List, Optional
|
|
71
|
+
from pydantic import BaseModel
|
|
72
|
+
|
|
73
|
+
class User(BaseModel):
|
|
74
|
+
id: int
|
|
75
|
+
name = 'John Doe'
|
|
76
|
+
signup_ts: Optional[datetime] = None
|
|
77
|
+
friends: List[int] = []
|
|
78
|
+
|
|
79
|
+
external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']}
|
|
80
|
+
user = User(**external_data)
|
|
81
|
+
print(user)
|
|
82
|
+
#> User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3]
|
|
83
|
+
print(user.id)
|
|
84
|
+
#> 123
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Contributing
|
|
88
|
+
|
|
89
|
+
For guidance on setting up a development environment and how to make a
|
|
90
|
+
contribution to *pydantic*, see
|
|
91
|
+
[Contributing to Pydantic](https://docs.pydantic.dev/contributing/).
|
|
92
|
+
|
|
93
|
+
## Reporting a Security Vulnerability
|
|
94
|
+
|
|
95
|
+
See our [security policy](https://github.com/pydantic/pydantic/security/policy).
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## v1.10.12 (2023-07-24)
|
|
99
|
+
|
|
100
|
+
* Fixes the `maxlen` property being dropped on `deque` validation. Happened only if the deque item has been typed. Changes the `_validate_sequence_like` func, [#6581](https://github.com/pydantic/pydantic/issues/6581) by [@maciekglowka](https://github.com/maciekglowka)
|
|
101
|
+
|
|
102
|
+
## v1.10.11 (2023-07-04)
|
|
103
|
+
|
|
104
|
+
* Importing create_model in tools.py through relative path instead of absolute path - so that it doesn't import V2 code when copied over to V2 branch, [#6361](https://github.com/pydantic/pydantic/issues/6361) by [@SharathHuddar](https://github.com/SharathHuddar)
|
|
105
|
+
|
|
106
|
+
## v2.0b3 (2023-06-16)
|
|
107
|
+
|
|
108
|
+
Third beta pre-release of Pydantic V2
|
|
109
|
+
|
|
110
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b3)
|
|
111
|
+
|
|
112
|
+
## v2.0b2 (2023-06-03)
|
|
113
|
+
|
|
114
|
+
Add `from_attributes` runtime flag to `TypeAdapter.validate_python` and `BaseModel.model_validate`.
|
|
115
|
+
|
|
116
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b2)
|
|
117
|
+
|
|
118
|
+
## v2.0b1 (2023-06-01)
|
|
119
|
+
|
|
120
|
+
First beta pre-release of Pydantic V2
|
|
121
|
+
|
|
122
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b1)
|
|
123
|
+
|
|
124
|
+
## v2.0a4 (2023-05-05)
|
|
125
|
+
|
|
126
|
+
Fourth pre-release of Pydantic V2
|
|
127
|
+
|
|
128
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a4)
|
|
129
|
+
|
|
130
|
+
## v2.0a3 (2023-04-20)
|
|
131
|
+
|
|
132
|
+
Third pre-release of Pydantic V2
|
|
133
|
+
|
|
134
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a3)
|
|
135
|
+
|
|
136
|
+
## v2.0a2 (2023-04-12)
|
|
137
|
+
|
|
138
|
+
Second pre-release of Pydantic V2
|
|
139
|
+
|
|
140
|
+
See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a2)
|
|
141
|
+
|
|
142
|
+
## v2.0a1 (2023-04-03)
|
|
143
|
+
|
|
144
|
+
First pre-release of Pydantic V2!
|
|
145
|
+
|
|
146
|
+
See [this post](https://docs.pydantic.dev/blog/pydantic-v2-alpha/) for more details.
|
|
147
|
+
|
|
148
|
+
## v1.10.10 (2023-06-30)
|
|
149
|
+
|
|
150
|
+
* Add Pydantic `Json` field support to settings management, [#6250](https://github.com/pydantic/pydantic/issues/6250) by [@hramezani](https://github.com/hramezani)
|
|
151
|
+
* Fixed literal validator errors for unhashable values, [#6188](https://github.com/pydantic/pydantic/issues/6188) by [@markus1978](https://github.com/markus1978)
|
|
152
|
+
* Fixed bug with generics receiving forward refs, [#6130](https://github.com/pydantic/pydantic/issues/6130) by [@mark-todd](https://github.com/mark-todd)
|
|
153
|
+
* Update install method of FastAPI for internal tests in CI, [#6117](https://github.com/pydantic/pydantic/issues/6117) by [@Kludex](https://github.com/Kludex)
|
|
154
|
+
|
|
155
|
+
## v1.10.9 (2023-06-07)
|
|
156
|
+
|
|
157
|
+
* Fix trailing zeros not ignored in Decimal validation, [#5968](https://github.com/pydantic/pydantic/issues/5968) by [@hramezani](https://github.com/hramezani)
|
|
158
|
+
* Fix mypy plugin for v1.4.0, [#5928](https://github.com/pydantic/pydantic/issues/5928) by [@cdce8p](https://github.com/cdce8p)
|
|
159
|
+
* Add future and past date hypothesis strategies, [#5850](https://github.com/pydantic/pydantic/issues/5850) by [@bschoenmaeckers](https://github.com/bschoenmaeckers)
|
|
160
|
+
* Discourage usage of Cython 3 with Pydantic 1.x, [#5845](https://github.com/pydantic/pydantic/issues/5845) by [@lig](https://github.com/lig)
|
|
161
|
+
|
|
162
|
+
## v1.10.8 (2023-05-23)
|
|
163
|
+
|
|
164
|
+
* Fix a bug in `Literal` usage with `typing-extension==4.6.0`, [#5826](https://github.com/pydantic/pydantic/issues/5826) by [@hramezani](https://github.com/hramezani)
|
|
165
|
+
* This solves the (closed) issue [#3849](https://github.com/pydantic/pydantic/issues/3849) where aliased fields that use discriminated union fail to validate when the data contains the non-aliased field name, [#5736](https://github.com/pydantic/pydantic/issues/5736) by [@benwah](https://github.com/benwah)
|
|
166
|
+
* Update email-validator dependency to >=2.0.0post2, [#5627](https://github.com/pydantic/pydantic/issues/5627) by [@adriangb](https://github.com/adriangb)
|
|
167
|
+
* update `AnyClassMethod` for changes in [python/typeshed#9771](https://github.com/python/typeshed/issues/9771), [#5505](https://github.com/pydantic/pydantic/issues/5505) by [@ITProKyle](https://github.com/ITProKyle)
|
|
168
|
+
|
|
169
|
+
## v1.10.7 (2023-03-22)
|
|
170
|
+
|
|
171
|
+
* Fix creating schema from model using `ConstrainedStr` with `regex` as dict key, [#5223](https://github.com/pydantic/pydantic/issues/5223) by [@matejetz](https://github.com/matejetz)
|
|
172
|
+
* Address bug in mypy plugin caused by explicit_package_bases=True, [#5191](https://github.com/pydantic/pydantic/issues/5191) by [@dmontagu](https://github.com/dmontagu)
|
|
173
|
+
* Add implicit defaults in the mypy plugin for Field with no default argument, [#5190](https://github.com/pydantic/pydantic/issues/5190) by [@dmontagu](https://github.com/dmontagu)
|
|
174
|
+
* Fix schema generated for Enum values used as Literals in discriminated unions, [#5188](https://github.com/pydantic/pydantic/issues/5188) by [@javibookline](https://github.com/javibookline)
|
|
175
|
+
* Fix mypy failures caused by the pydantic mypy plugin when users define `from_orm` in their own classes, [#5187](https://github.com/pydantic/pydantic/issues/5187) by [@dmontagu](https://github.com/dmontagu)
|
|
176
|
+
* Fix `InitVar` usage with pydantic dataclasses, mypy version `1.1.1` and the custom mypy plugin, [#5162](https://github.com/pydantic/pydantic/issues/5162) by [@cdce8p](https://github.com/cdce8p)
|
|
177
|
+
|
|
178
|
+
## v1.10.6 (2023-03-08)
|
|
179
|
+
|
|
180
|
+
* Implement logic to support creating validators from non standard callables by using defaults to identify them and unwrapping `functools.partial` and `functools.partialmethod` when checking the signature, [#5126](https://github.com/pydantic/pydantic/issues/5126) by [@JensHeinrich](https://github.com/JensHeinrich)
|
|
181
|
+
* Fix mypy plugin for v1.1.1, and fix `dataclass_transform` decorator for pydantic dataclasses, [#5111](https://github.com/pydantic/pydantic/issues/5111) by [@cdce8p](https://github.com/cdce8p)
|
|
182
|
+
* Raise `ValidationError`, not `ConfigError`, when a discriminator value is unhashable, [#4773](https://github.com/pydantic/pydantic/issues/4773) by [@kurtmckee](https://github.com/kurtmckee)
|
|
183
|
+
|
|
184
|
+
## v1.10.5 (2023-02-15)
|
|
185
|
+
|
|
186
|
+
* Fix broken parametrized bases handling with `GenericModel`s with complex sets of models, [#5052](https://github.com/pydantic/pydantic/issues/5052) by [@MarkusSintonen](https://github.com/MarkusSintonen)
|
|
187
|
+
* Invalidate mypy cache if plugin config changes, [#5007](https://github.com/pydantic/pydantic/issues/5007) by [@cdce8p](https://github.com/cdce8p)
|
|
188
|
+
* Fix `RecursionError` when deep-copying dataclass types wrapped by pydantic, [#4949](https://github.com/pydantic/pydantic/issues/4949) by [@mbillingr](https://github.com/mbillingr)
|
|
189
|
+
* Fix `X | Y` union syntax breaking `GenericModel`, [#4146](https://github.com/pydantic/pydantic/issues/4146) by [@thenx](https://github.com/thenx)
|
|
190
|
+
* Switch coverage badge to show coverage for this branch/release, [#5060](https://github.com/pydantic/pydantic/issues/5060) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
191
|
+
|
|
192
|
+
## v1.10.4 (2022-12-30)
|
|
193
|
+
|
|
194
|
+
* Change dependency to `typing-extensions>=4.2.0`, [#4885](https://github.com/pydantic/pydantic/issues/4885) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
195
|
+
|
|
196
|
+
## v1.10.3 (2022-12-29)
|
|
197
|
+
|
|
198
|
+
**NOTE: v1.10.3 was ["yanked"](https://pypi.org/help/#yanked) from PyPI due to [#4885](https://github.com/pydantic/pydantic/issues/4885) which is fixed in v1.10.4**
|
|
199
|
+
|
|
200
|
+
* fix parsing of custom root models, [#4883](https://github.com/pydantic/pydantic/issues/4883) by [@gou177](https://github.com/gou177)
|
|
201
|
+
* fix: use dataclass proxy for frozen or empty dataclasses, [#4878](https://github.com/pydantic/pydantic/issues/4878) by [@PrettyWood](https://github.com/PrettyWood)
|
|
202
|
+
* Fix `schema` and `schema_json` on models where a model instance is a one of default values, [#4781](https://github.com/pydantic/pydantic/issues/4781) by [@Bobronium](https://github.com/Bobronium)
|
|
203
|
+
* Add Jina AI to sponsors on docs index page, [#4767](https://github.com/pydantic/pydantic/issues/4767) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
204
|
+
* fix: support assignment on `DataclassProxy`, [#4695](https://github.com/pydantic/pydantic/issues/4695) by [@PrettyWood](https://github.com/PrettyWood)
|
|
205
|
+
* Add `postgresql+psycopg` as allowed scheme for `PostgreDsn` to make it usable with SQLAlchemy 2, [#4689](https://github.com/pydantic/pydantic/issues/4689) by [@morian](https://github.com/morian)
|
|
206
|
+
* Allow dict schemas to have both `patternProperties` and `additionalProperties`, [#4641](https://github.com/pydantic/pydantic/issues/4641) by [@jparise](https://github.com/jparise)
|
|
207
|
+
* Fixes error passing None for optional lists with `unique_items`, [#4568](https://github.com/pydantic/pydantic/issues/4568) by [@mfulgo](https://github.com/mfulgo)
|
|
208
|
+
* Fix `GenericModel` with `Callable` param raising a `TypeError`, [#4551](https://github.com/pydantic/pydantic/issues/4551) by [@mfulgo](https://github.com/mfulgo)
|
|
209
|
+
* Fix field regex with `StrictStr` type annotation, [#4538](https://github.com/pydantic/pydantic/issues/4538) by [@sisp](https://github.com/sisp)
|
|
210
|
+
* Correct `dataclass_transform` keyword argument name from `field_descriptors` to `field_specifiers`, [#4500](https://github.com/pydantic/pydantic/issues/4500) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
211
|
+
* fix: avoid multiple calls of `__post_init__` when dataclasses are inherited, [#4487](https://github.com/pydantic/pydantic/issues/4487) by [@PrettyWood](https://github.com/PrettyWood)
|
|
212
|
+
* Reduce the size of binary wheels, [#2276](https://github.com/pydantic/pydantic/issues/2276) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
213
|
+
|
|
214
|
+
## v1.10.2 (2022-09-05)
|
|
215
|
+
|
|
216
|
+
* **Revert Change:** Revert percent encoding of URL parts which was originally added in [#4224](https://github.com/pydantic/pydantic/issues/4224), [#4470](https://github.com/pydantic/pydantic/issues/4470) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
217
|
+
* Prevent long (length > `4_300`) strings/bytes as input to int fields, see
|
|
218
|
+
[python/cpython#95778](https://github.com/python/cpython/issues/95778) and
|
|
219
|
+
[CVE-2020-10735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735), [#1477](https://github.com/pydantic/pydantic/issues/1477) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
220
|
+
* fix: dataclass wrapper was not always called, [#4477](https://github.com/pydantic/pydantic/issues/4477) by [@PrettyWood](https://github.com/PrettyWood)
|
|
221
|
+
* Use `tomllib` on Python 3.11 when parsing `mypy` configuration, [#4476](https://github.com/pydantic/pydantic/issues/4476) by [@hauntsaninja](https://github.com/hauntsaninja)
|
|
222
|
+
* Basic fix of `GenericModel` cache to detect order of arguments in `Union` models, [#4474](https://github.com/pydantic/pydantic/issues/4474) by [@sveinugu](https://github.com/sveinugu)
|
|
223
|
+
* Fix mypy plugin when using bare types like `list` and `dict` as `default_factory`, [#4457](https://github.com/pydantic/pydantic/issues/4457) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
224
|
+
|
|
225
|
+
## v1.10.1 (2022-08-31)
|
|
226
|
+
|
|
227
|
+
* Add `__hash__` method to `pydancic.color.Color` class, [#4454](https://github.com/pydantic/pydantic/issues/4454) by [@czaki](https://github.com/czaki)
|
|
228
|
+
|
|
229
|
+
## v1.10.0 (2022-08-30)
|
|
230
|
+
|
|
231
|
+
* Refactor the whole _pydantic_ `dataclass` decorator to really act like its standard lib equivalent.
|
|
232
|
+
It hence keeps `__eq__`, `__hash__`, ... and makes comparison with its non-validated version possible.
|
|
233
|
+
It also fixes usage of `frozen` dataclasses in fields and usage of `default_factory` in nested dataclasses.
|
|
234
|
+
The support of `Config.extra` has been added.
|
|
235
|
+
Finally, config customization directly via a `dict` is now possible, [#2557](https://github.com/pydantic/pydantic/issues/2557) by [@PrettyWood](https://github.com/PrettyWood)
|
|
236
|
+
<br/><br/>
|
|
237
|
+
**BREAKING CHANGES:**
|
|
238
|
+
- The `compiled` boolean (whether _pydantic_ is compiled with cython) has been moved from `main.py` to `version.py`
|
|
239
|
+
- Now that `Config.extra` is supported, `dataclass` ignores by default extra arguments (like `BaseModel`)
|
|
240
|
+
* Fix PEP487 `__set_name__` protocol in `BaseModel` for PrivateAttrs, [#4407](https://github.com/pydantic/pydantic/issues/4407) by [@tlambert03](https://github.com/tlambert03)
|
|
241
|
+
* Allow for custom parsing of environment variables via `parse_env_var` in `Config`, [#4406](https://github.com/pydantic/pydantic/issues/4406) by [@acmiyaguchi](https://github.com/acmiyaguchi)
|
|
242
|
+
* Rename `master` to `main`, [#4405](https://github.com/pydantic/pydantic/issues/4405) by [@hramezani](https://github.com/hramezani)
|
|
243
|
+
* Fix `StrictStr` does not raise `ValidationError` when `max_length` is present in `Field`, [#4388](https://github.com/pydantic/pydantic/issues/4388) by [@hramezani](https://github.com/hramezani)
|
|
244
|
+
* Make `SecretStr` and `SecretBytes` hashable, [#4387](https://github.com/pydantic/pydantic/issues/4387) by [@chbndrhnns](https://github.com/chbndrhnns)
|
|
245
|
+
* Fix `StrictBytes` does not raise `ValidationError` when `max_length` is present in `Field`, [#4380](https://github.com/pydantic/pydantic/issues/4380) by [@JeanArhancet](https://github.com/JeanArhancet)
|
|
246
|
+
* Add support for bare `type`, [#4375](https://github.com/pydantic/pydantic/issues/4375) by [@hramezani](https://github.com/hramezani)
|
|
247
|
+
* Support Python 3.11, including binaries for 3.11 in PyPI, [#4374](https://github.com/pydantic/pydantic/issues/4374) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
248
|
+
* Add support for `re.Pattern`, [#4366](https://github.com/pydantic/pydantic/issues/4366) by [@hramezani](https://github.com/hramezani)
|
|
249
|
+
* Fix `__post_init_post_parse__` is incorrectly passed keyword arguments when no `__post_init__` is defined, [#4361](https://github.com/pydantic/pydantic/issues/4361) by [@hramezani](https://github.com/hramezani)
|
|
250
|
+
* Fix implicitly importing `ForwardRef` and `Callable` from `pydantic.typing` instead of `typing` and also expose `MappingIntStrAny`, [#4358](https://github.com/pydantic/pydantic/issues/4358) by [@aminalaee](https://github.com/aminalaee)
|
|
251
|
+
* remove `Any` types from the `dataclass` decorator so it can be used with the `disallow_any_expr` mypy option, [#4356](https://github.com/pydantic/pydantic/issues/4356) by [@DetachHead](https://github.com/DetachHead)
|
|
252
|
+
* moved repo to `pydantic/pydantic`, [#4348](https://github.com/pydantic/pydantic/issues/4348) by [@yezz123](https://github.com/yezz123)
|
|
253
|
+
* fix "extra fields not permitted" error when dataclass with `Extra.forbid` is validated multiple times, [#4343](https://github.com/pydantic/pydantic/issues/4343) by [@detachhead](https://github.com/detachhead)
|
|
254
|
+
* Add Python 3.9 and 3.10 examples to docs, [#4339](https://github.com/pydantic/pydantic/issues/4339) by [@Bobronium](https://github.com/Bobronium)
|
|
255
|
+
* Discriminated union models now use `oneOf` instead of `anyOf` when generating OpenAPI schema definitions, [#4335](https://github.com/pydantic/pydantic/issues/4335) by [@MaxwellPayne](https://github.com/MaxwellPayne)
|
|
256
|
+
* Allow type checkers to infer inner type of `Json` type. `Json[list[str]]` will be now inferred as `list[str]`,
|
|
257
|
+
`Json[Any]` should be used instead of plain `Json`.
|
|
258
|
+
Runtime behaviour is not changed, [#4332](https://github.com/pydantic/pydantic/issues/4332) by [@Bobronium](https://github.com/Bobronium)
|
|
259
|
+
* Allow empty string aliases by using a `alias is not None` check, rather than `bool(alias)`, [#4253](https://github.com/pydantic/pydantic/issues/4253) by [@sergeytsaplin](https://github.com/sergeytsaplin)
|
|
260
|
+
* Update `ForwardRef`s in `Field.outer_type_`, [#4249](https://github.com/pydantic/pydantic/issues/4249) by [@JacobHayes](https://github.com/JacobHayes)
|
|
261
|
+
* The use of `__dataclass_transform__` has been replaced by `typing_extensions.dataclass_transform`, which is the preferred way to mark pydantic models as a dataclass under [PEP 681](https://peps.python.org/pep-0681/), [#4241](https://github.com/pydantic/pydantic/issues/4241) by [@multimeric](https://github.com/multimeric)
|
|
262
|
+
* Use parent model's `Config` when validating nested `NamedTuple` fields, [#4219](https://github.com/pydantic/pydantic/issues/4219) by [@synek](https://github.com/synek)
|
|
263
|
+
* Update `BaseModel.construct` to work with aliased Fields, [#4192](https://github.com/pydantic/pydantic/issues/4192) by [@kylebamos](https://github.com/kylebamos)
|
|
264
|
+
* Catch certain raised errors in `smart_deepcopy` and revert to `deepcopy` if so, [#4184](https://github.com/pydantic/pydantic/issues/4184) by [@coneybeare](https://github.com/coneybeare)
|
|
265
|
+
* Add `Config.anystr_upper` and `to_upper` kwarg to constr and conbytes, [#4165](https://github.com/pydantic/pydantic/issues/4165) by [@satheler](https://github.com/satheler)
|
|
266
|
+
* Fix JSON schema for `set` and `frozenset` when they include default values, [#4155](https://github.com/pydantic/pydantic/issues/4155) by [@aminalaee](https://github.com/aminalaee)
|
|
267
|
+
* Teach the mypy plugin that methods decorated by `@validator` are classmethods, [#4102](https://github.com/pydantic/pydantic/issues/4102) by [@DMRobertson](https://github.com/DMRobertson)
|
|
268
|
+
* Improve mypy plugin's ability to detect required fields, [#4086](https://github.com/pydantic/pydantic/issues/4086) by [@richardxia](https://github.com/richardxia)
|
|
269
|
+
* Support fields of type `Type[]` in schema, [#4051](https://github.com/pydantic/pydantic/issues/4051) by [@aminalaee](https://github.com/aminalaee)
|
|
270
|
+
* Add `default` value in JSON Schema when `const=True`, [#4031](https://github.com/pydantic/pydantic/issues/4031) by [@aminalaee](https://github.com/aminalaee)
|
|
271
|
+
* Adds reserved word check to signature generation logic, [#4011](https://github.com/pydantic/pydantic/issues/4011) by [@strue36](https://github.com/strue36)
|
|
272
|
+
* Fix Json strategy failure for the complex nested field, [#4005](https://github.com/pydantic/pydantic/issues/4005) by [@sergiosim](https://github.com/sergiosim)
|
|
273
|
+
* Add JSON-compatible float constraint `allow_inf_nan`, [#3994](https://github.com/pydantic/pydantic/issues/3994) by [@tiangolo](https://github.com/tiangolo)
|
|
274
|
+
* Remove undefined behaviour when `env_prefix` had characters in common with `env_nested_delimiter`, [#3975](https://github.com/pydantic/pydantic/issues/3975) by [@arsenron](https://github.com/arsenron)
|
|
275
|
+
* Support generics model with `create_model`, [#3945](https://github.com/pydantic/pydantic/issues/3945) by [@hot123s](https://github.com/hot123s)
|
|
276
|
+
* allow submodels to overwrite extra field info, [#3934](https://github.com/pydantic/pydantic/issues/3934) by [@PrettyWood](https://github.com/PrettyWood)
|
|
277
|
+
* Document and test structural pattern matching ([PEP 636](https://peps.python.org/pep-0636/)) on `BaseModel`, [#3920](https://github.com/pydantic/pydantic/issues/3920) by [@irgolic](https://github.com/irgolic)
|
|
278
|
+
* Fix incorrect deserialization of python timedelta object to ISO 8601 for negative time deltas.
|
|
279
|
+
Minus was serialized in incorrect place ("P-1DT23H59M59.888735S" instead of correct "-P1DT23H59M59.888735S"), [#3899](https://github.com/pydantic/pydantic/issues/3899) by [@07pepa](https://github.com/07pepa)
|
|
280
|
+
* Fix validation of discriminated union fields with an alias when passing a model instance, [#3846](https://github.com/pydantic/pydantic/issues/3846) by [@chornsby](https://github.com/chornsby)
|
|
281
|
+
* Add a CockroachDsn type to validate CockroachDB connection strings. The type
|
|
282
|
+
supports the following schemes: `cockroachdb`, `cockroachdb+psycopg2` and `cockroachdb+asyncpg`, [#3839](https://github.com/pydantic/pydantic/issues/3839) by [@blubber](https://github.com/blubber)
|
|
283
|
+
* Fix MyPy plugin to not override pre-existing `__init__` method in models, [#3824](https://github.com/pydantic/pydantic/issues/3824) by [@patrick91](https://github.com/patrick91)
|
|
284
|
+
* Fix mypy version checking, [#3783](https://github.com/pydantic/pydantic/issues/3783) by [@KotlinIsland](https://github.com/KotlinIsland)
|
|
285
|
+
* support overwriting dunder attributes of `BaseModel` instances, [#3777](https://github.com/pydantic/pydantic/issues/3777) by [@PrettyWood](https://github.com/PrettyWood)
|
|
286
|
+
* Added `ConstrainedDate` and `condate`, [#3740](https://github.com/pydantic/pydantic/issues/3740) by [@hottwaj](https://github.com/hottwaj)
|
|
287
|
+
* Support `kw_only` in dataclasses, [#3670](https://github.com/pydantic/pydantic/issues/3670) by [@detachhead](https://github.com/detachhead)
|
|
288
|
+
* Add comparison method for `Color` class, [#3646](https://github.com/pydantic/pydantic/issues/3646) by [@aminalaee](https://github.com/aminalaee)
|
|
289
|
+
* Drop support for python3.6, associated cleanup, [#3605](https://github.com/pydantic/pydantic/issues/3605) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
290
|
+
* created new function `to_lower_camel()` for "non pascal case" camel case, [#3463](https://github.com/pydantic/pydantic/issues/3463) by [@schlerp](https://github.com/schlerp)
|
|
291
|
+
* Add checks to `default` and `default_factory` arguments in Mypy plugin, [#3430](https://github.com/pydantic/pydantic/issues/3430) by [@klaa97](https://github.com/klaa97)
|
|
292
|
+
* fix mangling of `inspect.signature` for `BaseModel`, [#3413](https://github.com/pydantic/pydantic/issues/3413) by [@fix-inspect-signature](https://github.com/fix-inspect-signature)
|
|
293
|
+
* Adds the `SecretField` abstract class so that all the current and future secret fields like `SecretStr` and `SecretBytes` will derive from it, [#3409](https://github.com/pydantic/pydantic/issues/3409) by [@expobrain](https://github.com/expobrain)
|
|
294
|
+
* Support multi hosts validation in `PostgresDsn`, [#3337](https://github.com/pydantic/pydantic/issues/3337) by [@rglsk](https://github.com/rglsk)
|
|
295
|
+
* Fix parsing of very small numeric timedelta values, [#3315](https://github.com/pydantic/pydantic/issues/3315) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
296
|
+
* Update `SecretsSettingsSource` to respect `config.case_sensitive`, [#3273](https://github.com/pydantic/pydantic/issues/3273) by [@JeanArhancet](https://github.com/JeanArhancet)
|
|
297
|
+
* Add MongoDB network data source name (DSN) schema, [#3229](https://github.com/pydantic/pydantic/issues/3229) by [@snosratiershad](https://github.com/snosratiershad)
|
|
298
|
+
* Add support for multiple dotenv files, [#3222](https://github.com/pydantic/pydantic/issues/3222) by [@rekyungmin](https://github.com/rekyungmin)
|
|
299
|
+
* Raise an explicit `ConfigError` when multiple fields are incorrectly set for a single validator, [#3215](https://github.com/pydantic/pydantic/issues/3215) by [@SunsetOrange](https://github.com/SunsetOrange)
|
|
300
|
+
* Allow ellipsis on `Field`s inside `Annotated` for `TypedDicts` required, [#3133](https://github.com/pydantic/pydantic/issues/3133) by [@ezegomez](https://github.com/ezegomez)
|
|
301
|
+
* Catch overflow errors in `int_validator`, [#3112](https://github.com/pydantic/pydantic/issues/3112) by [@ojii](https://github.com/ojii)
|
|
302
|
+
* Adds a `__rich_repr__` method to `Representation` class which enables pretty printing with [Rich](https://github.com/willmcgugan/rich), [#3099](https://github.com/pydantic/pydantic/issues/3099) by [@willmcgugan](https://github.com/willmcgugan)
|
|
303
|
+
* Add percent encoding in `AnyUrl` and descendent types, [#3061](https://github.com/pydantic/pydantic/issues/3061) by [@FaresAhmedb](https://github.com/FaresAhmedb)
|
|
304
|
+
* `validate_arguments` decorator now supports `alias`, [#3019](https://github.com/pydantic/pydantic/issues/3019) by [@MAD-py](https://github.com/MAD-py)
|
|
305
|
+
* Avoid `__dict__` and `__weakref__` attributes in `AnyUrl` and IP address fields, [#2890](https://github.com/pydantic/pydantic/issues/2890) by [@nuno-andre](https://github.com/nuno-andre)
|
|
306
|
+
* Add ability to use `Final` in a field type annotation, [#2766](https://github.com/pydantic/pydantic/issues/2766) by [@uriyyo](https://github.com/uriyyo)
|
|
307
|
+
* Update requirement to `typing_extensions>=4.1.0` to guarantee `dataclass_transform` is available, [#4424](https://github.com/pydantic/pydantic/issues/4424) by [@commonism](https://github.com/commonism)
|
|
308
|
+
* Add Explosion and AWS to main sponsors, [#4413](https://github.com/pydantic/pydantic/issues/4413) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
309
|
+
* Update documentation for `copy_on_model_validation` to reflect recent changes, [#4369](https://github.com/pydantic/pydantic/issues/4369) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
310
|
+
* Runtime warning if `__slots__` is passed to `create_model`, `__slots__` is then ignored, [#4432](https://github.com/pydantic/pydantic/issues/4432) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
311
|
+
* Add type hints to `BaseSettings.Config` to avoid mypy errors, also correct mypy version compatibility notice in docs, [#4450](https://github.com/pydantic/pydantic/issues/4450) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
312
|
+
|
|
313
|
+
## v1.10.0b1 (2022-08-24)
|
|
314
|
+
|
|
315
|
+
Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0b1) for details.
|
|
316
|
+
|
|
317
|
+
## v1.10.0a2 (2022-08-24)
|
|
318
|
+
|
|
319
|
+
Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0a2) for details.
|
|
320
|
+
|
|
321
|
+
## v1.10.0a1 (2022-08-22)
|
|
322
|
+
|
|
323
|
+
Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0a1) for details.
|
|
324
|
+
|
|
325
|
+
## v1.9.2 (2022-08-11)
|
|
326
|
+
|
|
327
|
+
**Revert Breaking Change**: _v1.9.1_ introduced a breaking change where model fields were
|
|
328
|
+
deep copied by default, this release reverts the default behaviour to match _v1.9.0_ and before,
|
|
329
|
+
while also allow deep-copy behaviour via `copy_on_model_validation = 'deep'`. See [#4092](https://github.com/pydantic/pydantic/issues/4092) for more information.
|
|
330
|
+
|
|
331
|
+
* Allow for shallow copies of model fields, `Config.copy_on_model_validation` is now a str which must be
|
|
332
|
+
`'none'`, `'deep'`, or `'shallow'` corresponding to not copying, deep copy & shallow copy; default `'shallow'`,
|
|
333
|
+
[#4093](https://github.com/pydantic/pydantic/issues/4093) by [@timkpaine](https://github.com/timkpaine)
|
|
334
|
+
|
|
335
|
+
## v1.9.1 (2022-05-19)
|
|
336
|
+
|
|
337
|
+
Thank you to pydantic's sponsors:
|
|
338
|
+
@tiangolo, [@stellargraph](https://github.com/stellargraph), [@JonasKs](https://github.com/JonasKs), [@grillazz](https://github.com/grillazz), [@Mazyod](https://github.com/Mazyod), [@kevinalh](https://github.com/kevinalh), [@chdsbd](https://github.com/chdsbd), [@povilasb](https://github.com/povilasb), [@povilasb](https://github.com/povilasb), [@jina-ai](https://github.com/jina-ai),
|
|
339
|
+
@mainframeindustries, [@robusta-dev](https://github.com/robusta-dev), [@SendCloud](https://github.com/SendCloud), [@rszamszur](https://github.com/rszamszur), [@jodal](https://github.com/jodal), [@hardbyte](https://github.com/hardbyte), [@corleyma](https://github.com/corleyma), [@daddycocoaman](https://github.com/daddycocoaman),
|
|
340
|
+
@Rehket, [@jokull](https://github.com/jokull), [@reillysiemens](https://github.com/reillysiemens), [@westonsteimel](https://github.com/westonsteimel), [@primer-io](https://github.com/primer-io), [@koxudaxi](https://github.com/koxudaxi), [@browniebroke](https://github.com/browniebroke), [@stradivari96](https://github.com/stradivari96),
|
|
341
|
+
@adriangb, [@kamalgill](https://github.com/kamalgill), [@jqueguiner](https://github.com/jqueguiner), [@dev-zero](https://github.com/dev-zero), [@datarootsio](https://github.com/datarootsio), [@RedCarpetUp](https://github.com/RedCarpetUp)
|
|
342
|
+
for their kind support.
|
|
343
|
+
|
|
344
|
+
* Limit the size of `generics._generic_types_cache` and `generics._assigned_parameters`
|
|
345
|
+
to avoid unlimited increase in memory usage, [#4083](https://github.com/pydantic/pydantic/issues/4083) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
346
|
+
* Add Jupyverse and FPS as Jupyter projects using pydantic, [#4082](https://github.com/pydantic/pydantic/issues/4082) by [@davidbrochart](https://github.com/davidbrochart)
|
|
347
|
+
* Speedup `__isinstancecheck__` on pydantic models when the type is not a model, may also avoid memory "leaks", [#4081](https://github.com/pydantic/pydantic/issues/4081) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
348
|
+
* Fix in-place modification of `FieldInfo` that caused problems with PEP 593 type aliases, [#4067](https://github.com/pydantic/pydantic/issues/4067) by [@adriangb](https://github.com/adriangb)
|
|
349
|
+
* Add support for autocomplete in VS Code via `__dataclass_transform__` when using `pydantic.dataclasses.dataclass`, [#4006](https://github.com/pydantic/pydantic/issues/4006) by [@giuliano-oliveira](https://github.com/giuliano-oliveira)
|
|
350
|
+
* Remove benchmarks from codebase and docs, [#3973](https://github.com/pydantic/pydantic/issues/3973) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
351
|
+
* Typing checking with pyright in CI, improve docs on vscode/pylance/pyright, [#3972](https://github.com/pydantic/pydantic/issues/3972) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
352
|
+
* Fix nested Python dataclass schema regression, [#3819](https://github.com/pydantic/pydantic/issues/3819) by [@himbeles](https://github.com/himbeles)
|
|
353
|
+
* Update documentation about lazy evaluation of sources for Settings, [#3806](https://github.com/pydantic/pydantic/issues/3806) by [@garyd203](https://github.com/garyd203)
|
|
354
|
+
* Prevent subclasses of bytes being converted to bytes, [#3706](https://github.com/pydantic/pydantic/issues/3706) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
355
|
+
* Fixed "error checking inheritance of" when using PEP585 and PEP604 type hints, [#3681](https://github.com/pydantic/pydantic/issues/3681) by [@aleksul](https://github.com/aleksul)
|
|
356
|
+
* Allow self referencing `ClassVar`s in models, [#3679](https://github.com/pydantic/pydantic/issues/3679) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
357
|
+
* **Breaking Change, see [#4106](https://github.com/pydantic/pydantic/issues/4106)**: Fix issue with self-referencing dataclass, [#3675](https://github.com/pydantic/pydantic/issues/3675) by [@uriyyo](https://github.com/uriyyo)
|
|
358
|
+
* Include non-standard port numbers in rendered URLs, [#3652](https://github.com/pydantic/pydantic/issues/3652) by [@dolfinus](https://github.com/dolfinus)
|
|
359
|
+
* `Config.copy_on_model_validation` does a deep copy and not a shallow one, [#3641](https://github.com/pydantic/pydantic/issues/3641) by [@PrettyWood](https://github.com/PrettyWood)
|
|
360
|
+
* fix: clarify that discriminated unions do not support singletons, [#3636](https://github.com/pydantic/pydantic/issues/3636) by [@tommilligan](https://github.com/tommilligan)
|
|
361
|
+
* Add `read_text(encoding='utf-8')` for `setup.py`, [#3625](https://github.com/pydantic/pydantic/issues/3625) by [@hswong3i](https://github.com/hswong3i)
|
|
362
|
+
* Fix JSON Schema generation for Discriminated Unions within lists, [#3608](https://github.com/pydantic/pydantic/issues/3608) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
363
|
+
|
|
364
|
+
## v1.9.0 (2021-12-31)
|
|
365
|
+
|
|
366
|
+
Thank you to pydantic's sponsors:
|
|
367
|
+
@sthagen, [@timdrijvers](https://github.com/timdrijvers), [@toinbis](https://github.com/toinbis), [@koxudaxi](https://github.com/koxudaxi), [@ginomempin](https://github.com/ginomempin), [@primer-io](https://github.com/primer-io), [@and-semakin](https://github.com/and-semakin), [@westonsteimel](https://github.com/westonsteimel), [@reillysiemens](https://github.com/reillysiemens),
|
|
368
|
+
@es3n1n, [@jokull](https://github.com/jokull), [@JonasKs](https://github.com/JonasKs), [@Rehket](https://github.com/Rehket), [@corleyma](https://github.com/corleyma), [@daddycocoaman](https://github.com/daddycocoaman), [@hardbyte](https://github.com/hardbyte), [@datarootsio](https://github.com/datarootsio), [@jodal](https://github.com/jodal), [@aminalaee](https://github.com/aminalaee), [@rafsaf](https://github.com/rafsaf),
|
|
369
|
+
@jqueguiner, [@chdsbd](https://github.com/chdsbd), [@kevinalh](https://github.com/kevinalh), [@Mazyod](https://github.com/Mazyod), [@grillazz](https://github.com/grillazz), [@JonasKs](https://github.com/JonasKs), [@simw](https://github.com/simw), [@leynier](https://github.com/leynier), [@xfenix](https://github.com/xfenix)
|
|
370
|
+
for their kind support.
|
|
371
|
+
|
|
372
|
+
### Highlights
|
|
373
|
+
|
|
374
|
+
* add Python 3.10 support, [#2885](https://github.com/pydantic/pydantic/issues/2885) by [@PrettyWood](https://github.com/PrettyWood)
|
|
375
|
+
* [Discriminated unions](https://docs.pydantic.dev/usage/types/#discriminated-unions-aka-tagged-unions), [#619](https://github.com/pydantic/pydantic/issues/619) by [@PrettyWood](https://github.com/PrettyWood)
|
|
376
|
+
* [`Config.smart_union` for better union logic](https://docs.pydantic.dev/usage/model_config/#smart-union), [#2092](https://github.com/pydantic/pydantic/issues/2092) by [@PrettyWood](https://github.com/PrettyWood)
|
|
377
|
+
* Binaries for Macos M1 CPUs, [#3498](https://github.com/pydantic/pydantic/issues/3498) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
378
|
+
* Complex types can be set via [nested environment variables](https://docs.pydantic.dev/usage/settings/#parsing-environment-variable-values), e.g. `foo___bar`, [#3159](https://github.com/pydantic/pydantic/issues/3159) by [@Air-Mark](https://github.com/Air-Mark)
|
|
379
|
+
* add a dark mode to _pydantic_ documentation, [#2913](https://github.com/pydantic/pydantic/issues/2913) by [@gbdlin](https://github.com/gbdlin)
|
|
380
|
+
* Add support for autocomplete in VS Code via `__dataclass_transform__`, [#2721](https://github.com/pydantic/pydantic/issues/2721) by [@tiangolo](https://github.com/tiangolo)
|
|
381
|
+
* Add "exclude" as a field parameter so that it can be configured using model config, [#660](https://github.com/pydantic/pydantic/issues/660) by [@daviskirk](https://github.com/daviskirk)
|
|
382
|
+
|
|
383
|
+
### v1.9.0 (2021-12-31) Changes
|
|
384
|
+
|
|
385
|
+
* Apply `update_forward_refs` to `Config.json_encodes` prevent name clashes in types defined via strings, [#3583](https://github.com/pydantic/pydantic/issues/3583) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
386
|
+
* Extend pydantic's mypy plugin to support mypy versions `0.910`, `0.920`, `0.921` & `0.930`, [#3573](https://github.com/pydantic/pydantic/issues/3573) & [#3594](https://github.com/pydantic/pydantic/issues/3594) by [@PrettyWood](https://github.com/PrettyWood), [@christianbundy](https://github.com/christianbundy), [@samuelcolvin](https://github.com/samuelcolvin)
|
|
387
|
+
|
|
388
|
+
### v1.9.0a2 (2021-12-24) Changes
|
|
389
|
+
|
|
390
|
+
* support generic models with discriminated union, [#3551](https://github.com/pydantic/pydantic/issues/3551) by [@PrettyWood](https://github.com/PrettyWood)
|
|
391
|
+
* keep old behaviour of `json()` by default, [#3542](https://github.com/pydantic/pydantic/issues/3542) by [@PrettyWood](https://github.com/PrettyWood)
|
|
392
|
+
* Removed typing-only `__root__` attribute from `BaseModel`, [#3540](https://github.com/pydantic/pydantic/issues/3540) by [@layday](https://github.com/layday)
|
|
393
|
+
* Build Python 3.10 wheels, [#3539](https://github.com/pydantic/pydantic/issues/3539) by [@mbachry](https://github.com/mbachry)
|
|
394
|
+
* Fix display of `extra` fields with model `__repr__`, [#3234](https://github.com/pydantic/pydantic/issues/3234) by [@cocolman](https://github.com/cocolman)
|
|
395
|
+
* models copied via `Config.copy_on_model_validation` always have all fields, [#3201](https://github.com/pydantic/pydantic/issues/3201) by [@PrettyWood](https://github.com/PrettyWood)
|
|
396
|
+
* nested ORM from nested dictionaries, [#3182](https://github.com/pydantic/pydantic/issues/3182) by [@PrettyWood](https://github.com/PrettyWood)
|
|
397
|
+
* fix link to discriminated union section by [@PrettyWood](https://github.com/PrettyWood)
|
|
398
|
+
|
|
399
|
+
### v1.9.0a1 (2021-12-18) Changes
|
|
400
|
+
|
|
401
|
+
* Add support for `Decimal`-specific validation configurations in `Field()`, additionally to using `condecimal()`,
|
|
402
|
+
to allow better support from editors and tooling, [#3507](https://github.com/pydantic/pydantic/issues/3507) by [@tiangolo](https://github.com/tiangolo)
|
|
403
|
+
* Add `arm64` binaries suitable for MacOS with an M1 CPU to PyPI, [#3498](https://github.com/pydantic/pydantic/issues/3498) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
404
|
+
* Fix issue where `None` was considered invalid when using a `Union` type containing `Any` or `object`, [#3444](https://github.com/pydantic/pydantic/issues/3444) by [@tharradine](https://github.com/tharradine)
|
|
405
|
+
* When generating field schema, pass optional `field` argument (of type
|
|
406
|
+
`pydantic.fields.ModelField`) to `__modify_schema__()` if present, [#3434](https://github.com/pydantic/pydantic/issues/3434) by [@jasujm](https://github.com/jasujm)
|
|
407
|
+
* Fix issue when pydantic fail to parse `typing.ClassVar` string type annotation, [#3401](https://github.com/pydantic/pydantic/issues/3401) by [@uriyyo](https://github.com/uriyyo)
|
|
408
|
+
* Mention Python >= 3.9.2 as an alternative to `typing_extensions.TypedDict`, [#3374](https://github.com/pydantic/pydantic/issues/3374) by [@BvB93](https://github.com/BvB93)
|
|
409
|
+
* Changed the validator method name in the [Custom Errors example](https://docs.pydantic.dev/usage/models/#custom-errors)
|
|
410
|
+
to more accurately describe what the validator is doing; changed from `name_must_contain_space` to ` value_must_equal_bar`, [#3327](https://github.com/pydantic/pydantic/issues/3327) by [@michaelrios28](https://github.com/michaelrios28)
|
|
411
|
+
* Add `AmqpDsn` class, [#3254](https://github.com/pydantic/pydantic/issues/3254) by [@kludex](https://github.com/kludex)
|
|
412
|
+
* Always use `Enum` value as default in generated JSON schema, [#3190](https://github.com/pydantic/pydantic/issues/3190) by [@joaommartins](https://github.com/joaommartins)
|
|
413
|
+
* Add support for Mypy 0.920, [#3175](https://github.com/pydantic/pydantic/issues/3175) by [@christianbundy](https://github.com/christianbundy)
|
|
414
|
+
* `validate_arguments` now supports `extra` customization (used to always be `Extra.forbid`), [#3161](https://github.com/pydantic/pydantic/issues/3161) by [@PrettyWood](https://github.com/PrettyWood)
|
|
415
|
+
* Complex types can be set by nested environment variables, [#3159](https://github.com/pydantic/pydantic/issues/3159) by [@Air-Mark](https://github.com/Air-Mark)
|
|
416
|
+
* Fix mypy plugin to collect fields based on `pydantic.utils.is_valid_field` so that it ignores untyped private variables, [#3146](https://github.com/pydantic/pydantic/issues/3146) by [@hi-ogawa](https://github.com/hi-ogawa)
|
|
417
|
+
* fix `validate_arguments` issue with `Config.validate_all`, [#3135](https://github.com/pydantic/pydantic/issues/3135) by [@PrettyWood](https://github.com/PrettyWood)
|
|
418
|
+
* avoid dict coercion when using dict subclasses as field type, [#3122](https://github.com/pydantic/pydantic/issues/3122) by [@PrettyWood](https://github.com/PrettyWood)
|
|
419
|
+
* add support for `object` type, [#3062](https://github.com/pydantic/pydantic/issues/3062) by [@PrettyWood](https://github.com/PrettyWood)
|
|
420
|
+
* Updates pydantic dataclasses to keep `_special` properties on parent classes, [#3043](https://github.com/pydantic/pydantic/issues/3043) by [@zulrang](https://github.com/zulrang)
|
|
421
|
+
* Add a `TypedDict` class for error objects, [#3038](https://github.com/pydantic/pydantic/issues/3038) by [@matthewhughes934](https://github.com/matthewhughes934)
|
|
422
|
+
* Fix support for using a subclass of an annotation as a default, [#3018](https://github.com/pydantic/pydantic/issues/3018) by [@JacobHayes](https://github.com/JacobHayes)
|
|
423
|
+
* make `create_model_from_typeddict` mypy compliant, [#3008](https://github.com/pydantic/pydantic/issues/3008) by [@PrettyWood](https://github.com/PrettyWood)
|
|
424
|
+
* Make multiple inheritance work when using `PrivateAttr`, [#2989](https://github.com/pydantic/pydantic/issues/2989) by [@hmvp](https://github.com/hmvp)
|
|
425
|
+
* Parse environment variables as JSON, if they have a `Union` type with a complex subfield, [#2936](https://github.com/pydantic/pydantic/issues/2936) by [@cbartz](https://github.com/cbartz)
|
|
426
|
+
* Prevent `StrictStr` permitting `Enum` values where the enum inherits from `str`, [#2929](https://github.com/pydantic/pydantic/issues/2929) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
427
|
+
* Make `SecretsSettingsSource` parse values being assigned to fields of complex types when sourced from a secrets file,
|
|
428
|
+
just as when sourced from environment variables, [#2917](https://github.com/pydantic/pydantic/issues/2917) by [@davidmreed](https://github.com/davidmreed)
|
|
429
|
+
* add a dark mode to _pydantic_ documentation, [#2913](https://github.com/pydantic/pydantic/issues/2913) by [@gbdlin](https://github.com/gbdlin)
|
|
430
|
+
* Make `pydantic-mypy` plugin compatible with `pyproject.toml` configuration, consistent with `mypy` changes.
|
|
431
|
+
See the [doc](https://docs.pydantic.dev/mypy_plugin/#configuring-the-plugin) for more information, [#2908](https://github.com/pydantic/pydantic/issues/2908) by [@jrwalk](https://github.com/jrwalk)
|
|
432
|
+
* add Python 3.10 support, [#2885](https://github.com/pydantic/pydantic/issues/2885) by [@PrettyWood](https://github.com/PrettyWood)
|
|
433
|
+
* Correctly parse generic models with `Json[T]`, [#2860](https://github.com/pydantic/pydantic/issues/2860) by [@geekingfrog](https://github.com/geekingfrog)
|
|
434
|
+
* Update contrib docs re: Python version to use for building docs, [#2856](https://github.com/pydantic/pydantic/issues/2856) by [@paxcodes](https://github.com/paxcodes)
|
|
435
|
+
* Clarify documentation about _pydantic_'s support for custom validation and strict type checking,
|
|
436
|
+
despite _pydantic_ being primarily a parsing library, [#2855](https://github.com/pydantic/pydantic/issues/2855) by [@paxcodes](https://github.com/paxcodes)
|
|
437
|
+
* Fix schema generation for `Deque` fields, [#2810](https://github.com/pydantic/pydantic/issues/2810) by [@sergejkozin](https://github.com/sergejkozin)
|
|
438
|
+
* fix an edge case when mixing constraints and `Literal`, [#2794](https://github.com/pydantic/pydantic/issues/2794) by [@PrettyWood](https://github.com/PrettyWood)
|
|
439
|
+
* Fix postponed annotation resolution for `NamedTuple` and `TypedDict` when they're used directly as the type of fields
|
|
440
|
+
within Pydantic models, [#2760](https://github.com/pydantic/pydantic/issues/2760) by [@jameysharp](https://github.com/jameysharp)
|
|
441
|
+
* Fix bug when `mypy` plugin fails on `construct` method call for `BaseSettings` derived classes, [#2753](https://github.com/pydantic/pydantic/issues/2753) by [@uriyyo](https://github.com/uriyyo)
|
|
442
|
+
* Add function overloading for a `pydantic.create_model` function, [#2748](https://github.com/pydantic/pydantic/issues/2748) by [@uriyyo](https://github.com/uriyyo)
|
|
443
|
+
* Fix mypy plugin issue with self field declaration, [#2743](https://github.com/pydantic/pydantic/issues/2743) by [@uriyyo](https://github.com/uriyyo)
|
|
444
|
+
* The colon at the end of the line "The fields which were supplied when user was initialised:" suggests that the code following it is related.
|
|
445
|
+
Changed it to a period, [#2733](https://github.com/pydantic/pydantic/issues/2733) by [@krisaoe](https://github.com/krisaoe)
|
|
446
|
+
* Renamed variable `schema` to `schema_` to avoid shadowing of global variable name, [#2724](https://github.com/pydantic/pydantic/issues/2724) by [@shahriyarr](https://github.com/shahriyarr)
|
|
447
|
+
* Add support for autocomplete in VS Code via `__dataclass_transform__`, [#2721](https://github.com/pydantic/pydantic/issues/2721) by [@tiangolo](https://github.com/tiangolo)
|
|
448
|
+
* add missing type annotations in `BaseConfig` and handle `max_length = 0`, [#2719](https://github.com/pydantic/pydantic/issues/2719) by [@PrettyWood](https://github.com/PrettyWood)
|
|
449
|
+
* Change `orm_mode` checking to allow recursive ORM mode parsing with dicts, [#2718](https://github.com/pydantic/pydantic/issues/2718) by [@nuno-andre](https://github.com/nuno-andre)
|
|
450
|
+
* Add episode 313 of the *Talk Python To Me* podcast, where Michael Kennedy and Samuel Colvin discuss *pydantic*, to the docs, [#2712](https://github.com/pydantic/pydantic/issues/2712) by [@RatulMaharaj](https://github.com/RatulMaharaj)
|
|
451
|
+
* fix JSON schema generation when a field is of type `NamedTuple` and has a default value, [#2707](https://github.com/pydantic/pydantic/issues/2707) by [@PrettyWood](https://github.com/PrettyWood)
|
|
452
|
+
* `Enum` fields now properly support extra kwargs in schema generation, [#2697](https://github.com/pydantic/pydantic/issues/2697) by [@sammchardy](https://github.com/sammchardy)
|
|
453
|
+
* **Breaking Change, see [#3780](https://github.com/pydantic/pydantic/issues/3780)**: Make serialization of referenced pydantic models possible, [#2650](https://github.com/pydantic/pydantic/issues/2650) by [@PrettyWood](https://github.com/PrettyWood)
|
|
454
|
+
* Add `uniqueItems` option to `ConstrainedList`, [#2618](https://github.com/pydantic/pydantic/issues/2618) by [@nuno-andre](https://github.com/nuno-andre)
|
|
455
|
+
* Try to evaluate forward refs automatically at model creation, [#2588](https://github.com/pydantic/pydantic/issues/2588) by [@uriyyo](https://github.com/uriyyo)
|
|
456
|
+
* Switch docs preview and coverage display to use [smokeshow](https://smokeshow.helpmanual.io/), [#2580](https://github.com/pydantic/pydantic/issues/2580) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
457
|
+
* Add `__version__` attribute to pydantic module, [#2572](https://github.com/pydantic/pydantic/issues/2572) by [@paxcodes](https://github.com/paxcodes)
|
|
458
|
+
* Add `postgresql+asyncpg`, `postgresql+pg8000`, `postgresql+psycopg2`, `postgresql+psycopg2cffi`, `postgresql+py-postgresql`
|
|
459
|
+
and `postgresql+pygresql` schemes for `PostgresDsn`, [#2567](https://github.com/pydantic/pydantic/issues/2567) by [@postgres-asyncpg](https://github.com/postgres-asyncpg)
|
|
460
|
+
* Enable the Hypothesis plugin to generate a constrained decimal when the `decimal_places` argument is specified, [#2524](https://github.com/pydantic/pydantic/issues/2524) by [@cwe5590](https://github.com/cwe5590)
|
|
461
|
+
* Allow `collections.abc.Callable` to be used as type in Python 3.9, [#2519](https://github.com/pydantic/pydantic/issues/2519) by [@daviskirk](https://github.com/daviskirk)
|
|
462
|
+
* Documentation update how to custom compile pydantic when using pip install, small change in `setup.py`
|
|
463
|
+
to allow for custom CFLAGS when compiling, [#2517](https://github.com/pydantic/pydantic/issues/2517) by [@peterroelants](https://github.com/peterroelants)
|
|
464
|
+
* remove side effect of `default_factory` to run it only once even if `Config.validate_all` is set, [#2515](https://github.com/pydantic/pydantic/issues/2515) by [@PrettyWood](https://github.com/PrettyWood)
|
|
465
|
+
* Add lookahead to ip regexes for `AnyUrl` hosts. This allows urls with DNS labels
|
|
466
|
+
looking like IPs to validate as they are perfectly valid host names, [#2512](https://github.com/pydantic/pydantic/issues/2512) by [@sbv-csis](https://github.com/sbv-csis)
|
|
467
|
+
* Set `minItems` and `maxItems` in generated JSON schema for fixed-length tuples, [#2497](https://github.com/pydantic/pydantic/issues/2497) by [@PrettyWood](https://github.com/PrettyWood)
|
|
468
|
+
* Add `strict` argument to `conbytes`, [#2489](https://github.com/pydantic/pydantic/issues/2489) by [@koxudaxi](https://github.com/koxudaxi)
|
|
469
|
+
* Support user defined generic field types in generic models, [#2465](https://github.com/pydantic/pydantic/issues/2465) by [@daviskirk](https://github.com/daviskirk)
|
|
470
|
+
* Add an example and a short explanation of subclassing `GetterDict` to docs, [#2463](https://github.com/pydantic/pydantic/issues/2463) by [@nuno-andre](https://github.com/nuno-andre)
|
|
471
|
+
* add `KafkaDsn` type, `HttpUrl` now has default port 80 for http and 443 for https, [#2447](https://github.com/pydantic/pydantic/issues/2447) by [@MihanixA](https://github.com/MihanixA)
|
|
472
|
+
* Add `PastDate` and `FutureDate` types, [#2425](https://github.com/pydantic/pydantic/issues/2425) by [@Kludex](https://github.com/Kludex)
|
|
473
|
+
* Support generating schema for `Generic` fields with subtypes, [#2375](https://github.com/pydantic/pydantic/issues/2375) by [@maximberg](https://github.com/maximberg)
|
|
474
|
+
* fix(encoder): serialize `NameEmail` to str, [#2341](https://github.com/pydantic/pydantic/issues/2341) by [@alecgerona](https://github.com/alecgerona)
|
|
475
|
+
* add `Config.smart_union` to prevent coercion in `Union` if possible, see
|
|
476
|
+
[the doc](https://docs.pydantic.dev/usage/model_config/#smart-union) for more information, [#2092](https://github.com/pydantic/pydantic/issues/2092) by [@PrettyWood](https://github.com/PrettyWood)
|
|
477
|
+
* Add ability to use `typing.Counter` as a model field type, [#2060](https://github.com/pydantic/pydantic/issues/2060) by [@uriyyo](https://github.com/uriyyo)
|
|
478
|
+
* Add parameterised subclasses to `__bases__` when constructing new parameterised classes, so that `A <: B => A[int] <: B[int]`, [#2007](https://github.com/pydantic/pydantic/issues/2007) by [@diabolo-dan](https://github.com/diabolo-dan)
|
|
479
|
+
* Create `FileUrl` type that allows URLs that conform to [RFC 8089](https://tools.ietf.org/html/rfc8089#section-2).
|
|
480
|
+
Add `host_required` parameter, which is `True` by default (`AnyUrl` and subclasses), `False` in `RedisDsn`, `FileUrl`, [#1983](https://github.com/pydantic/pydantic/issues/1983) by [@vgerak](https://github.com/vgerak)
|
|
481
|
+
* add `confrozenset()`, analogous to `conset()` and `conlist()`, [#1897](https://github.com/pydantic/pydantic/issues/1897) by [@PrettyWood](https://github.com/PrettyWood)
|
|
482
|
+
* stop calling parent class `root_validator` if overridden, [#1895](https://github.com/pydantic/pydantic/issues/1895) by [@PrettyWood](https://github.com/PrettyWood)
|
|
483
|
+
* Add `repr` (defaults to `True`) parameter to `Field`, to hide it from the default representation of the `BaseModel`, [#1831](https://github.com/pydantic/pydantic/issues/1831) by [@fnep](https://github.com/fnep)
|
|
484
|
+
* Accept empty query/fragment URL parts, [#1807](https://github.com/pydantic/pydantic/issues/1807) by [@xavier](https://github.com/xavier)
|
|
485
|
+
|
|
486
|
+
## v1.8.2 (2021-05-11)
|
|
487
|
+
|
|
488
|
+
!!! warning
|
|
489
|
+
A security vulnerability, level "moderate" is fixed in v1.8.2. Please upgrade **ASAP**.
|
|
490
|
+
See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh)
|
|
491
|
+
|
|
492
|
+
* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')`
|
|
493
|
+
(or their negative values) does not cause an infinite loop,
|
|
494
|
+
see security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh)
|
|
495
|
+
* fix schema generation with Enum by generating a valid name, [#2575](https://github.com/pydantic/pydantic/issues/2575) by [@PrettyWood](https://github.com/PrettyWood)
|
|
496
|
+
* fix JSON schema generation with a `Literal` of an enum member, [#2536](https://github.com/pydantic/pydantic/issues/2536) by [@PrettyWood](https://github.com/PrettyWood)
|
|
497
|
+
* Fix bug with configurations declarations that are passed as
|
|
498
|
+
keyword arguments during class creation, [#2532](https://github.com/pydantic/pydantic/issues/2532) by [@uriyyo](https://github.com/uriyyo)
|
|
499
|
+
* Allow passing `json_encoders` in class kwargs, [#2521](https://github.com/pydantic/pydantic/issues/2521) by [@layday](https://github.com/layday)
|
|
500
|
+
* support arbitrary types with custom `__eq__`, [#2483](https://github.com/pydantic/pydantic/issues/2483) by [@PrettyWood](https://github.com/PrettyWood)
|
|
501
|
+
* support `Annotated` in `validate_arguments` and in generic models with Python 3.9, [#2483](https://github.com/pydantic/pydantic/issues/2483) by [@PrettyWood](https://github.com/PrettyWood)
|
|
502
|
+
|
|
503
|
+
## v1.8.1 (2021-03-03)
|
|
504
|
+
|
|
505
|
+
Bug fixes for regressions and new features from `v1.8`
|
|
506
|
+
|
|
507
|
+
* allow elements of `Config.field` to update elements of a `Field`, [#2461](https://github.com/pydantic/pydantic/issues/2461) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
508
|
+
* fix validation with a `BaseModel` field and a custom root type, [#2449](https://github.com/pydantic/pydantic/issues/2449) by [@PrettyWood](https://github.com/PrettyWood)
|
|
509
|
+
* expose `Pattern` encoder to `fastapi`, [#2444](https://github.com/pydantic/pydantic/issues/2444) by [@PrettyWood](https://github.com/PrettyWood)
|
|
510
|
+
* enable the Hypothesis plugin to generate a constrained float when the `multiple_of` argument is specified, [#2442](https://github.com/pydantic/pydantic/issues/2442) by [@tobi-lipede-oodle](https://github.com/tobi-lipede-oodle)
|
|
511
|
+
* Avoid `RecursionError` when using some types like `Enum` or `Literal` with generic models, [#2436](https://github.com/pydantic/pydantic/issues/2436) by [@PrettyWood](https://github.com/PrettyWood)
|
|
512
|
+
* do not overwrite declared `__hash__` in subclasses of a model, [#2422](https://github.com/pydantic/pydantic/issues/2422) by [@PrettyWood](https://github.com/PrettyWood)
|
|
513
|
+
* fix `mypy` complaints on `Path` and `UUID` related custom types, [#2418](https://github.com/pydantic/pydantic/issues/2418) by [@PrettyWood](https://github.com/PrettyWood)
|
|
514
|
+
* Support properly variable length tuples of compound types, [#2416](https://github.com/pydantic/pydantic/issues/2416) by [@PrettyWood](https://github.com/PrettyWood)
|
|
515
|
+
|
|
516
|
+
## v1.8 (2021-02-26)
|
|
517
|
+
|
|
518
|
+
Thank you to pydantic's sponsors:
|
|
519
|
+
@jorgecarleitao, [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@koxudaxi](https://github.com/koxudaxi), [@timdrijvers](https://github.com/timdrijvers), [@mkeen](https://github.com/mkeen), [@meadsteve](https://github.com/meadsteve),
|
|
520
|
+
@ginomempin, [@primer-io](https://github.com/primer-io), [@and-semakin](https://github.com/and-semakin), [@tomthorogood](https://github.com/tomthorogood), [@AjitZK](https://github.com/AjitZK), [@westonsteimel](https://github.com/westonsteimel), [@Mazyod](https://github.com/Mazyod), [@christippett](https://github.com/christippett), [@CarlosDomingues](https://github.com/CarlosDomingues),
|
|
521
|
+
@Kludex, [@r-m-n](https://github.com/r-m-n)
|
|
522
|
+
for their kind support.
|
|
523
|
+
|
|
524
|
+
### Highlights
|
|
525
|
+
|
|
526
|
+
* [Hypothesis plugin](https://docs.pydantic.dev/hypothesis_plugin/) for testing, [#2097](https://github.com/pydantic/pydantic/issues/2097) by [@Zac-HD](https://github.com/Zac-HD)
|
|
527
|
+
* support for [`NamedTuple` and `TypedDict`](https://docs.pydantic.dev/usage/types/#annotated-types), [#2216](https://github.com/pydantic/pydantic/issues/2216) by [@PrettyWood](https://github.com/PrettyWood)
|
|
528
|
+
* Support [`Annotated` hints on model fields](https://docs.pydantic.dev/usage/schema/#typingannotated-fields), [#2147](https://github.com/pydantic/pydantic/issues/2147) by [@JacobHayes](https://github.com/JacobHayes)
|
|
529
|
+
* [`frozen` parameter on `Config`](https://docs.pydantic.dev/usage/model_config/) to allow models to be hashed, [#1880](https://github.com/pydantic/pydantic/issues/1880) by [@rhuille](https://github.com/rhuille)
|
|
530
|
+
|
|
531
|
+
### Changes
|
|
532
|
+
|
|
533
|
+
* **Breaking Change**, remove old deprecation aliases from v1, [#2415](https://github.com/pydantic/pydantic/issues/2415) by [@samuelcolvin](https://github.com/samuelcolvin):
|
|
534
|
+
* remove notes on migrating to v1 in docs
|
|
535
|
+
* remove `Schema` which was replaced by `Field`
|
|
536
|
+
* remove `Config.case_insensitive` which was replaced by `Config.case_sensitive` (default `False`)
|
|
537
|
+
* remove `Config.allow_population_by_alias` which was replaced by `Config.allow_population_by_field_name`
|
|
538
|
+
* remove `model.fields` which was replaced by `model.__fields__`
|
|
539
|
+
* remove `model.to_string()` which was replaced by `str(model)`
|
|
540
|
+
* remove `model.__values__` which was replaced by `model.__dict__`
|
|
541
|
+
* **Breaking Change:** always validate only first sublevel items with `each_item`.
|
|
542
|
+
There were indeed some edge cases with some compound types where the validated items were the last sublevel ones, [#1933](https://github.com/pydantic/pydantic/issues/1933) by [@PrettyWood](https://github.com/PrettyWood)
|
|
543
|
+
* Update docs extensions to fix local syntax highlighting, [#2400](https://github.com/pydantic/pydantic/issues/2400) by [@daviskirk](https://github.com/daviskirk)
|
|
544
|
+
* fix: allow `utils.lenient_issubclass` to handle `typing.GenericAlias` objects like `list[str]` in Python >= 3.9, [#2399](https://github.com/pydantic/pydantic/issues/2399) by [@daviskirk](https://github.com/daviskirk)
|
|
545
|
+
* Improve field declaration for _pydantic_ `dataclass` by allowing the usage of _pydantic_ `Field` or `'metadata'` kwarg of `dataclasses.field`, [#2384](https://github.com/pydantic/pydantic/issues/2384) by [@PrettyWood](https://github.com/PrettyWood)
|
|
546
|
+
* Making `typing-extensions` a required dependency, [#2368](https://github.com/pydantic/pydantic/issues/2368) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
547
|
+
* Make `resolve_annotations` more lenient, allowing for missing modules, [#2363](https://github.com/pydantic/pydantic/issues/2363) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
548
|
+
* Allow configuring models through class kwargs, [#2356](https://github.com/pydantic/pydantic/issues/2356) by [@Bobronium](https://github.com/Bobronium)
|
|
549
|
+
* Prevent `Mapping` subclasses from always being coerced to `dict`, [#2325](https://github.com/pydantic/pydantic/issues/2325) by [@ofek](https://github.com/ofek)
|
|
550
|
+
* fix: allow `None` for type `Optional[conset / conlist]`, [#2320](https://github.com/pydantic/pydantic/issues/2320) by [@PrettyWood](https://github.com/PrettyWood)
|
|
551
|
+
* Support empty tuple type, [#2318](https://github.com/pydantic/pydantic/issues/2318) by [@PrettyWood](https://github.com/PrettyWood)
|
|
552
|
+
* fix: `python_requires` metadata to require >=3.6.1, [#2306](https://github.com/pydantic/pydantic/issues/2306) by [@hukkinj1](https://github.com/hukkinj1)
|
|
553
|
+
* Properly encode `Decimal` with, or without any decimal places, [#2293](https://github.com/pydantic/pydantic/issues/2293) by [@hultner](https://github.com/hultner)
|
|
554
|
+
* fix: update `__fields_set__` in `BaseModel.copy(update=…)`, [#2290](https://github.com/pydantic/pydantic/issues/2290) by [@PrettyWood](https://github.com/PrettyWood)
|
|
555
|
+
* fix: keep order of fields with `BaseModel.construct()`, [#2281](https://github.com/pydantic/pydantic/issues/2281) by [@PrettyWood](https://github.com/PrettyWood)
|
|
556
|
+
* Support generating schema for Generic fields, [#2262](https://github.com/pydantic/pydantic/issues/2262) by [@maximberg](https://github.com/maximberg)
|
|
557
|
+
* Fix `validate_decorator` so `**kwargs` doesn't exclude values when the keyword
|
|
558
|
+
has the same name as the `*args` or `**kwargs` names, [#2251](https://github.com/pydantic/pydantic/issues/2251) by [@cybojenix](https://github.com/cybojenix)
|
|
559
|
+
* Prevent overriding positional arguments with keyword arguments in
|
|
560
|
+
`validate_arguments`, as per behaviour with native functions, [#2249](https://github.com/pydantic/pydantic/issues/2249) by [@cybojenix](https://github.com/cybojenix)
|
|
561
|
+
* add documentation for `con*` type functions, [#2242](https://github.com/pydantic/pydantic/issues/2242) by [@tayoogunbiyi](https://github.com/tayoogunbiyi)
|
|
562
|
+
* Support custom root type (aka `__root__`) when using `parse_obj()` with nested models, [#2238](https://github.com/pydantic/pydantic/issues/2238) by [@PrettyWood](https://github.com/PrettyWood)
|
|
563
|
+
* Support custom root type (aka `__root__`) with `from_orm()`, [#2237](https://github.com/pydantic/pydantic/issues/2237) by [@PrettyWood](https://github.com/PrettyWood)
|
|
564
|
+
* ensure cythonized functions are left untouched when creating models, based on [#1944](https://github.com/pydantic/pydantic/issues/1944) by [@kollmats](https://github.com/kollmats), [#2228](https://github.com/pydantic/pydantic/issues/2228) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
565
|
+
* Resolve forward refs for stdlib dataclasses converted into _pydantic_ ones, [#2220](https://github.com/pydantic/pydantic/issues/2220) by [@PrettyWood](https://github.com/PrettyWood)
|
|
566
|
+
* Add support for `NamedTuple` and `TypedDict` types.
|
|
567
|
+
Those two types are now handled and validated when used inside `BaseModel` or _pydantic_ `dataclass`.
|
|
568
|
+
Two utils are also added `create_model_from_namedtuple` and `create_model_from_typeddict`, [#2216](https://github.com/pydantic/pydantic/issues/2216) by [@PrettyWood](https://github.com/PrettyWood)
|
|
569
|
+
* Do not ignore annotated fields when type is `Union[Type[...], ...]`, [#2213](https://github.com/pydantic/pydantic/issues/2213) by [@PrettyWood](https://github.com/PrettyWood)
|
|
570
|
+
* Raise a user-friendly `TypeError` when a `root_validator` does not return a `dict` (e.g. `None`), [#2209](https://github.com/pydantic/pydantic/issues/2209) by [@masalim2](https://github.com/masalim2)
|
|
571
|
+
* Add a `FrozenSet[str]` type annotation to the `allowed_schemes` argument on the `strict_url` field type, [#2198](https://github.com/pydantic/pydantic/issues/2198) by [@Midnighter](https://github.com/Midnighter)
|
|
572
|
+
* add `allow_mutation` constraint to `Field`, [#2195](https://github.com/pydantic/pydantic/issues/2195) by [@sblack-usu](https://github.com/sblack-usu)
|
|
573
|
+
* Allow `Field` with a `default_factory` to be used as an argument to a function
|
|
574
|
+
decorated with `validate_arguments`, [#2176](https://github.com/pydantic/pydantic/issues/2176) by [@thomascobb](https://github.com/thomascobb)
|
|
575
|
+
* Allow non-existent secrets directory by only issuing a warning, [#2175](https://github.com/pydantic/pydantic/issues/2175) by [@davidolrik](https://github.com/davidolrik)
|
|
576
|
+
* fix URL regex to parse fragment without query string, [#2168](https://github.com/pydantic/pydantic/issues/2168) by [@andrewmwhite](https://github.com/andrewmwhite)
|
|
577
|
+
* fix: ensure to always return one of the values in `Literal` field type, [#2166](https://github.com/pydantic/pydantic/issues/2166) by [@PrettyWood](https://github.com/PrettyWood)
|
|
578
|
+
* Support `typing.Annotated` hints on model fields. A `Field` may now be set in the type hint with `Annotated[..., Field(...)`; all other annotations are ignored but still visible with `get_type_hints(..., include_extras=True)`, [#2147](https://github.com/pydantic/pydantic/issues/2147) by [@JacobHayes](https://github.com/JacobHayes)
|
|
579
|
+
* Added `StrictBytes` type as well as `strict=False` option to `ConstrainedBytes`, [#2136](https://github.com/pydantic/pydantic/issues/2136) by [@rlizzo](https://github.com/rlizzo)
|
|
580
|
+
* added `Config.anystr_lower` and `to_lower` kwarg to `constr` and `conbytes`, [#2134](https://github.com/pydantic/pydantic/issues/2134) by [@tayoogunbiyi](https://github.com/tayoogunbiyi)
|
|
581
|
+
* Support plain `typing.Tuple` type, [#2132](https://github.com/pydantic/pydantic/issues/2132) by [@PrettyWood](https://github.com/PrettyWood)
|
|
582
|
+
* Add a bound method `validate` to functions decorated with `validate_arguments`
|
|
583
|
+
to validate parameters without actually calling the function, [#2127](https://github.com/pydantic/pydantic/issues/2127) by [@PrettyWood](https://github.com/PrettyWood)
|
|
584
|
+
* Add the ability to customize settings sources (add / disable / change priority order), [#2107](https://github.com/pydantic/pydantic/issues/2107) by [@kozlek](https://github.com/kozlek)
|
|
585
|
+
* Fix mypy complaints about most custom _pydantic_ types, [#2098](https://github.com/pydantic/pydantic/issues/2098) by [@PrettyWood](https://github.com/PrettyWood)
|
|
586
|
+
* Add a [Hypothesis](https://hypothesis.readthedocs.io/) plugin for easier [property-based testing](https://increment.com/testing/in-praise-of-property-based-testing/) with Pydantic's custom types - [usage details here](https://docs.pydantic.dev/hypothesis_plugin/), [#2097](https://github.com/pydantic/pydantic/issues/2097) by [@Zac-HD](https://github.com/Zac-HD)
|
|
587
|
+
* add validator for `None`, `NoneType` or `Literal[None]`, [#2095](https://github.com/pydantic/pydantic/issues/2095) by [@PrettyWood](https://github.com/PrettyWood)
|
|
588
|
+
* Handle properly fields of type `Callable` with a default value, [#2094](https://github.com/pydantic/pydantic/issues/2094) by [@PrettyWood](https://github.com/PrettyWood)
|
|
589
|
+
* Updated `create_model` return type annotation to return type which inherits from `__base__` argument, [#2071](https://github.com/pydantic/pydantic/issues/2071) by [@uriyyo](https://github.com/uriyyo)
|
|
590
|
+
* Add merged `json_encoders` inheritance, [#2064](https://github.com/pydantic/pydantic/issues/2064) by [@art049](https://github.com/art049)
|
|
591
|
+
* allow overwriting `ClassVar`s in sub-models without having to re-annotate them, [#2061](https://github.com/pydantic/pydantic/issues/2061) by [@layday](https://github.com/layday)
|
|
592
|
+
* add default encoder for `Pattern` type, [#2045](https://github.com/pydantic/pydantic/issues/2045) by [@PrettyWood](https://github.com/PrettyWood)
|
|
593
|
+
* Add `NonNegativeInt`, `NonPositiveInt`, `NonNegativeFloat`, `NonPositiveFloat`, [#1975](https://github.com/pydantic/pydantic/issues/1975) by [@mdavis-xyz](https://github.com/mdavis-xyz)
|
|
594
|
+
* Use % for percentage in string format of colors, [#1960](https://github.com/pydantic/pydantic/issues/1960) by [@EdwardBetts](https://github.com/EdwardBetts)
|
|
595
|
+
* Fixed issue causing `KeyError` to be raised when building schema from multiple `BaseModel` with the same names declared in separate classes, [#1912](https://github.com/pydantic/pydantic/issues/1912) by [@JSextonn](https://github.com/JSextonn)
|
|
596
|
+
* Add `rediss` (Redis over SSL) protocol to `RedisDsn`
|
|
597
|
+
Allow URLs without `user` part (e.g., `rediss://:pass@localhost`), [#1911](https://github.com/pydantic/pydantic/issues/1911) by [@TrDex](https://github.com/TrDex)
|
|
598
|
+
* Add a new `frozen` boolean parameter to `Config` (default: `False`).
|
|
599
|
+
Setting `frozen=True` does everything that `allow_mutation=False` does, and also generates a `__hash__()` method for the model. This makes instances of the model potentially hashable if all the attributes are hashable, [#1880](https://github.com/pydantic/pydantic/issues/1880) by [@rhuille](https://github.com/rhuille)
|
|
600
|
+
* fix schema generation with multiple Enums having the same name, [#1857](https://github.com/pydantic/pydantic/issues/1857) by [@PrettyWood](https://github.com/PrettyWood)
|
|
601
|
+
* Added support for 13/19 digits VISA credit cards in `PaymentCardNumber` type, [#1416](https://github.com/pydantic/pydantic/issues/1416) by [@AlexanderSov](https://github.com/AlexanderSov)
|
|
602
|
+
* fix: prevent `RecursionError` while using recursive `GenericModel`s, [#1370](https://github.com/pydantic/pydantic/issues/1370) by [@xppt](https://github.com/xppt)
|
|
603
|
+
* use `enum` for `typing.Literal` in JSON schema, [#1350](https://github.com/pydantic/pydantic/issues/1350) by [@PrettyWood](https://github.com/PrettyWood)
|
|
604
|
+
* Fix: some recursive models did not require `update_forward_refs` and silently behaved incorrectly, [#1201](https://github.com/pydantic/pydantic/issues/1201) by [@PrettyWood](https://github.com/PrettyWood)
|
|
605
|
+
* Fix bug where generic models with fields where the typevar is nested in another type `a: List[T]` are considered to be concrete. This allows these models to be subclassed and composed as expected, [#947](https://github.com/pydantic/pydantic/issues/947) by [@daviskirk](https://github.com/daviskirk)
|
|
606
|
+
* Add `Config.copy_on_model_validation` flag. When set to `False`, _pydantic_ will keep models used as fields
|
|
607
|
+
untouched on validation instead of reconstructing (copying) them, [#265](https://github.com/pydantic/pydantic/issues/265) by [@PrettyWood](https://github.com/PrettyWood)
|
|
608
|
+
|
|
609
|
+
## v1.7.4 (2021-05-11)
|
|
610
|
+
|
|
611
|
+
* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')`
|
|
612
|
+
(or their negative values) does not cause an infinite loop,
|
|
613
|
+
See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh)
|
|
614
|
+
|
|
615
|
+
## v1.7.3 (2020-11-30)
|
|
616
|
+
|
|
617
|
+
Thank you to pydantic's sponsors:
|
|
618
|
+
@timdrijvers, [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api),
|
|
619
|
+
@mkeen, [@meadsteve](https://github.com/meadsteve) for their kind support.
|
|
620
|
+
|
|
621
|
+
* fix: set right default value for required (optional) fields, [#2142](https://github.com/pydantic/pydantic/issues/2142) by [@PrettyWood](https://github.com/PrettyWood)
|
|
622
|
+
* fix: support `underscore_attrs_are_private` with generic models, [#2138](https://github.com/pydantic/pydantic/issues/2138) by [@PrettyWood](https://github.com/PrettyWood)
|
|
623
|
+
* fix: update all modified field values in `root_validator` when `validate_assignment` is on, [#2116](https://github.com/pydantic/pydantic/issues/2116) by [@PrettyWood](https://github.com/PrettyWood)
|
|
624
|
+
* Allow pickling of `pydantic.dataclasses.dataclass` dynamically created from a built-in `dataclasses.dataclass`, [#2111](https://github.com/pydantic/pydantic/issues/2111) by [@aimestereo](https://github.com/aimestereo)
|
|
625
|
+
* Fix a regression where Enum fields would not propagate keyword arguments to the schema, [#2109](https://github.com/pydantic/pydantic/issues/2109) by [@bm424](https://github.com/bm424)
|
|
626
|
+
* Ignore `__doc__` as private attribute when `Config.underscore_attrs_are_private` is set, [#2090](https://github.com/pydantic/pydantic/issues/2090) by [@PrettyWood](https://github.com/PrettyWood)
|
|
627
|
+
|
|
628
|
+
## v1.7.2 (2020-11-01)
|
|
629
|
+
|
|
630
|
+
* fix slow `GenericModel` concrete model creation, allow `GenericModel` concrete name reusing in module, [#2078](https://github.com/pydantic/pydantic/issues/2078) by [@Bobronium](https://github.com/Bobronium)
|
|
631
|
+
* keep the order of the fields when `validate_assignment` is set, [#2073](https://github.com/pydantic/pydantic/issues/2073) by [@PrettyWood](https://github.com/PrettyWood)
|
|
632
|
+
* forward all the params of the stdlib `dataclass` when converted into _pydantic_ `dataclass`, [#2065](https://github.com/pydantic/pydantic/issues/2065) by [@PrettyWood](https://github.com/PrettyWood)
|
|
633
|
+
|
|
634
|
+
## v1.7.1 (2020-10-28)
|
|
635
|
+
|
|
636
|
+
Thank you to pydantic's sponsors:
|
|
637
|
+
@timdrijvers, [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api), [@mkeen](https://github.com/mkeen)
|
|
638
|
+
for their kind support.
|
|
639
|
+
|
|
640
|
+
* fix annotation of `validate_arguments` when passing configuration as argument, [#2055](https://github.com/pydantic/pydantic/issues/2055) by [@layday](https://github.com/layday)
|
|
641
|
+
* Fix mypy assignment error when using `PrivateAttr`, [#2048](https://github.com/pydantic/pydantic/issues/2048) by [@aphedges](https://github.com/aphedges)
|
|
642
|
+
* fix `underscore_attrs_are_private` causing `TypeError` when overriding `__init__`, [#2047](https://github.com/pydantic/pydantic/issues/2047) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
643
|
+
* Fixed regression introduced in v1.7 involving exception handling in field validators when `validate_assignment=True`, [#2044](https://github.com/pydantic/pydantic/issues/2044) by [@johnsabath](https://github.com/johnsabath)
|
|
644
|
+
* fix: _pydantic_ `dataclass` can inherit from stdlib `dataclass`
|
|
645
|
+
and `Config.arbitrary_types_allowed` is supported, [#2042](https://github.com/pydantic/pydantic/issues/2042) by [@PrettyWood](https://github.com/PrettyWood)
|
|
646
|
+
|
|
647
|
+
## v1.7 (2020-10-26)
|
|
648
|
+
|
|
649
|
+
Thank you to pydantic's sponsors:
|
|
650
|
+
@timdrijvers, [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api)
|
|
651
|
+
for their kind support.
|
|
652
|
+
|
|
653
|
+
### Highlights
|
|
654
|
+
|
|
655
|
+
* Python 3.9 support, thanks [@PrettyWood](https://github.com/PrettyWood)
|
|
656
|
+
* [Private model attributes](https://docs.pydantic.dev/usage/models/#private-model-attributes), thanks [@Bobronium](https://github.com/Bobronium)
|
|
657
|
+
* ["secrets files" support in `BaseSettings`](https://docs.pydantic.dev/usage/settings/#secret-support), thanks [@mdgilene](https://github.com/mdgilene)
|
|
658
|
+
* [convert stdlib dataclasses to pydantic dataclasses and use stdlib dataclasses in models](https://docs.pydantic.dev/usage/dataclasses/#stdlib-dataclasses-and-pydantic-dataclasses), thanks [@PrettyWood](https://github.com/PrettyWood)
|
|
659
|
+
|
|
660
|
+
### Changes
|
|
661
|
+
|
|
662
|
+
* **Breaking Change:** remove `__field_defaults__`, add `default_factory` support with `BaseModel.construct`.
|
|
663
|
+
Use `.get_default()` method on fields in `__fields__` attribute instead, [#1732](https://github.com/pydantic/pydantic/issues/1732) by [@PrettyWood](https://github.com/PrettyWood)
|
|
664
|
+
* Rearrange CI to run linting as a separate job, split install recipes for different tasks, [#2020](https://github.com/pydantic/pydantic/issues/2020) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
665
|
+
* Allows subclasses of generic models to make some, or all, of the superclass's type parameters concrete, while
|
|
666
|
+
also defining new type parameters in the subclass, [#2005](https://github.com/pydantic/pydantic/issues/2005) by [@choogeboom](https://github.com/choogeboom)
|
|
667
|
+
* Call validator with the correct `values` parameter type in `BaseModel.__setattr__`,
|
|
668
|
+
when `validate_assignment = True` in model config, [#1999](https://github.com/pydantic/pydantic/issues/1999) by [@me-ransh](https://github.com/me-ransh)
|
|
669
|
+
* Force `fields.Undefined` to be a singleton object, fixing inherited generic model schemas, [#1981](https://github.com/pydantic/pydantic/issues/1981) by [@daviskirk](https://github.com/daviskirk)
|
|
670
|
+
* Include tests in source distributions, [#1976](https://github.com/pydantic/pydantic/issues/1976) by [@sbraz](https://github.com/sbraz)
|
|
671
|
+
* Add ability to use `min_length/max_length` constraints with secret types, [#1974](https://github.com/pydantic/pydantic/issues/1974) by [@uriyyo](https://github.com/uriyyo)
|
|
672
|
+
* Also check `root_validators` when `validate_assignment` is on, [#1971](https://github.com/pydantic/pydantic/issues/1971) by [@PrettyWood](https://github.com/PrettyWood)
|
|
673
|
+
* Fix const validators not running when custom validators are present, [#1957](https://github.com/pydantic/pydantic/issues/1957) by [@hmvp](https://github.com/hmvp)
|
|
674
|
+
* add `deque` to field types, [#1935](https://github.com/pydantic/pydantic/issues/1935) by [@wozniakty](https://github.com/wozniakty)
|
|
675
|
+
* add basic support for Python 3.9, [#1832](https://github.com/pydantic/pydantic/issues/1832) by [@PrettyWood](https://github.com/PrettyWood)
|
|
676
|
+
* Fix typo in the anchor of exporting_models.md#modelcopy and incorrect description, [#1821](https://github.com/pydantic/pydantic/issues/1821) by [@KimMachineGun](https://github.com/KimMachineGun)
|
|
677
|
+
* Added ability for `BaseSettings` to read "secret files", [#1820](https://github.com/pydantic/pydantic/issues/1820) by [@mdgilene](https://github.com/mdgilene)
|
|
678
|
+
* add `parse_raw_as` utility function, [#1812](https://github.com/pydantic/pydantic/issues/1812) by [@PrettyWood](https://github.com/PrettyWood)
|
|
679
|
+
* Support home directory relative paths for `dotenv` files (e.g. `~/.env`), [#1803](https://github.com/pydantic/pydantic/issues/1803) by [@PrettyWood](https://github.com/PrettyWood)
|
|
680
|
+
* Clarify documentation for `parse_file` to show that the argument
|
|
681
|
+
should be a file *path* not a file-like object, [#1794](https://github.com/pydantic/pydantic/issues/1794) by [@mdavis-xyz](https://github.com/mdavis-xyz)
|
|
682
|
+
* Fix false positive from mypy plugin when a class nested within a `BaseModel` is named `Model`, [#1770](https://github.com/pydantic/pydantic/issues/1770) by [@selimb](https://github.com/selimb)
|
|
683
|
+
* add basic support of Pattern type in schema generation, [#1767](https://github.com/pydantic/pydantic/issues/1767) by [@PrettyWood](https://github.com/PrettyWood)
|
|
684
|
+
* Support custom title, description and default in schema of enums, [#1748](https://github.com/pydantic/pydantic/issues/1748) by [@PrettyWood](https://github.com/PrettyWood)
|
|
685
|
+
* Properly represent `Literal` Enums when `use_enum_values` is True, [#1747](https://github.com/pydantic/pydantic/issues/1747) by [@noelevans](https://github.com/noelevans)
|
|
686
|
+
* Allows timezone information to be added to strings to be formatted as time objects. Permitted formats are `Z` for UTC
|
|
687
|
+
or an offset for absolute positive or negative time shifts. Or the timezone data can be omitted, [#1744](https://github.com/pydantic/pydantic/issues/1744) by [@noelevans](https://github.com/noelevans)
|
|
688
|
+
* Add stub `__init__` with Python 3.6 signature for `ForwardRef`, [#1738](https://github.com/pydantic/pydantic/issues/1738) by [@sirtelemak](https://github.com/sirtelemak)
|
|
689
|
+
* Fix behaviour with forward refs and optional fields in nested models, [#1736](https://github.com/pydantic/pydantic/issues/1736) by [@PrettyWood](https://github.com/PrettyWood)
|
|
690
|
+
* add `Enum` and `IntEnum` as valid types for fields, [#1735](https://github.com/pydantic/pydantic/issues/1735) by [@PrettyWood](https://github.com/PrettyWood)
|
|
691
|
+
* Change default value of `__module__` argument of `create_model` from `None` to `'pydantic.main'`.
|
|
692
|
+
Set reference of created concrete model to it's module to allow pickling (not applied to models created in
|
|
693
|
+
functions), [#1686](https://github.com/pydantic/pydantic/issues/1686) by [@Bobronium](https://github.com/Bobronium)
|
|
694
|
+
* Add private attributes support, [#1679](https://github.com/pydantic/pydantic/issues/1679) by [@Bobronium](https://github.com/Bobronium)
|
|
695
|
+
* add `config` to `@validate_arguments`, [#1663](https://github.com/pydantic/pydantic/issues/1663) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
696
|
+
* Allow descendant Settings models to override env variable names for the fields defined in parent Settings models with
|
|
697
|
+
`env` in their `Config`. Previously only `env_prefix` configuration option was applicable, [#1561](https://github.com/pydantic/pydantic/issues/1561) by [@ojomio](https://github.com/ojomio)
|
|
698
|
+
* Support `ref_template` when creating schema `$ref`s, [#1479](https://github.com/pydantic/pydantic/issues/1479) by [@kilo59](https://github.com/kilo59)
|
|
699
|
+
* Add a `__call__` stub to `PyObject` so that mypy will know that it is callable, [#1352](https://github.com/pydantic/pydantic/issues/1352) by [@brianmaissy](https://github.com/brianmaissy)
|
|
700
|
+
* `pydantic.dataclasses.dataclass` decorator now supports built-in `dataclasses.dataclass`.
|
|
701
|
+
It is hence possible to convert an existing `dataclass` easily to add *pydantic* validation.
|
|
702
|
+
Moreover nested dataclasses are also supported, [#744](https://github.com/pydantic/pydantic/issues/744) by [@PrettyWood](https://github.com/PrettyWood)
|
|
703
|
+
|
|
704
|
+
## v1.6.2 (2021-05-11)
|
|
705
|
+
|
|
706
|
+
* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')`
|
|
707
|
+
(or their negative values) does not cause an infinite loop,
|
|
708
|
+
See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh)
|
|
709
|
+
|
|
710
|
+
## v1.6.1 (2020-07-15)
|
|
711
|
+
|
|
712
|
+
* fix validation and parsing of nested models with `default_factory`, [#1710](https://github.com/pydantic/pydantic/issues/1710) by [@PrettyWood](https://github.com/PrettyWood)
|
|
713
|
+
|
|
714
|
+
## v1.6 (2020-07-11)
|
|
715
|
+
|
|
716
|
+
Thank you to pydantic's sponsors: [@matin](https://github.com/matin), [@tiangolo](https://github.com/tiangolo), [@chdsbd](https://github.com/chdsbd), [@jorgecarleitao](https://github.com/jorgecarleitao), and 1 anonymous sponsor for their kind support.
|
|
717
|
+
|
|
718
|
+
* Modify validators for `conlist` and `conset` to not have `always=True`, [#1682](https://github.com/pydantic/pydantic/issues/1682) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
719
|
+
* add port check to `AnyUrl` (can't exceed 65536) ports are 16 insigned bits: `0 <= port <= 2**16-1` src: [rfc793 header format](https://tools.ietf.org/html/rfc793#section-3.1), [#1654](https://github.com/pydantic/pydantic/issues/1654) by [@flapili](https://github.com/flapili)
|
|
720
|
+
* Document default `regex` anchoring semantics, [#1648](https://github.com/pydantic/pydantic/issues/1648) by [@yurikhan](https://github.com/yurikhan)
|
|
721
|
+
* Use `chain.from_iterable` in class_validators.py. This is a faster and more idiomatic way of using `itertools.chain`.
|
|
722
|
+
Instead of computing all the items in the iterable and storing them in memory, they are computed one-by-one and never
|
|
723
|
+
stored as a huge list. This can save on both runtime and memory space, [#1642](https://github.com/pydantic/pydantic/issues/1642) by [@cool-RR](https://github.com/cool-RR)
|
|
724
|
+
* Add `conset()`, analogous to `conlist()`, [#1623](https://github.com/pydantic/pydantic/issues/1623) by [@patrickkwang](https://github.com/patrickkwang)
|
|
725
|
+
* make *pydantic* errors (un)pickable, [#1616](https://github.com/pydantic/pydantic/issues/1616) by [@PrettyWood](https://github.com/PrettyWood)
|
|
726
|
+
* Allow custom encoding for `dotenv` files, [#1615](https://github.com/pydantic/pydantic/issues/1615) by [@PrettyWood](https://github.com/PrettyWood)
|
|
727
|
+
* Ensure `SchemaExtraCallable` is always defined to get type hints on BaseConfig, [#1614](https://github.com/pydantic/pydantic/issues/1614) by [@PrettyWood](https://github.com/PrettyWood)
|
|
728
|
+
* Update datetime parser to support negative timestamps, [#1600](https://github.com/pydantic/pydantic/issues/1600) by [@mlbiche](https://github.com/mlbiche)
|
|
729
|
+
* Update mypy, remove `AnyType` alias for `Type[Any]`, [#1598](https://github.com/pydantic/pydantic/issues/1598) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
730
|
+
* Adjust handling of root validators so that errors are aggregated from _all_ failing root validators, instead of reporting on only the first root validator to fail, [#1586](https://github.com/pydantic/pydantic/issues/1586) by [@beezee](https://github.com/beezee)
|
|
731
|
+
* Make `__modify_schema__` on Enums apply to the enum schema rather than fields that use the enum, [#1581](https://github.com/pydantic/pydantic/issues/1581) by [@therefromhere](https://github.com/therefromhere)
|
|
732
|
+
* Fix behavior of `__all__` key when used in conjunction with index keys in advanced include/exclude of fields that are sequences, [#1579](https://github.com/pydantic/pydantic/issues/1579) by [@xspirus](https://github.com/xspirus)
|
|
733
|
+
* Subclass validators do not run when referencing a `List` field defined in a parent class when `each_item=True`. Added an example to the docs illustrating this, [#1566](https://github.com/pydantic/pydantic/issues/1566) by [@samueldeklund](https://github.com/samueldeklund)
|
|
734
|
+
* change `schema.field_class_to_schema` to support `frozenset` in schema, [#1557](https://github.com/pydantic/pydantic/issues/1557) by [@wangpeibao](https://github.com/wangpeibao)
|
|
735
|
+
* Call `__modify_schema__` only for the field schema, [#1552](https://github.com/pydantic/pydantic/issues/1552) by [@PrettyWood](https://github.com/PrettyWood)
|
|
736
|
+
* Move the assignment of `field.validate_always` in `fields.py` so the `always` parameter of validators work on inheritance, [#1545](https://github.com/pydantic/pydantic/issues/1545) by [@dcHHH](https://github.com/dcHHH)
|
|
737
|
+
* Added support for UUID instantiation through 16 byte strings such as `b'\x12\x34\x56\x78' * 4`. This was done to support `BINARY(16)` columns in sqlalchemy, [#1541](https://github.com/pydantic/pydantic/issues/1541) by [@shawnwall](https://github.com/shawnwall)
|
|
738
|
+
* Add a test assertion that `default_factory` can return a singleton, [#1523](https://github.com/pydantic/pydantic/issues/1523) by [@therefromhere](https://github.com/therefromhere)
|
|
739
|
+
* Add `NameEmail.__eq__` so duplicate `NameEmail` instances are evaluated as equal, [#1514](https://github.com/pydantic/pydantic/issues/1514) by [@stephen-bunn](https://github.com/stephen-bunn)
|
|
740
|
+
* Add datamodel-code-generator link in pydantic document site, [#1500](https://github.com/pydantic/pydantic/issues/1500) by [@koxudaxi](https://github.com/koxudaxi)
|
|
741
|
+
* Added a "Discussion of Pydantic" section to the documentation, with a link to "Pydantic Introduction" video by Alexander Hultnér, [#1499](https://github.com/pydantic/pydantic/issues/1499) by [@hultner](https://github.com/hultner)
|
|
742
|
+
* Avoid some side effects of `default_factory` by calling it only once
|
|
743
|
+
if possible and by not setting a default value in the schema, [#1491](https://github.com/pydantic/pydantic/issues/1491) by [@PrettyWood](https://github.com/PrettyWood)
|
|
744
|
+
* Added docs about dumping dataclasses to JSON, [#1487](https://github.com/pydantic/pydantic/issues/1487) by [@mikegrima](https://github.com/mikegrima)
|
|
745
|
+
* Make `BaseModel.__signature__` class-only, so getting `__signature__` from model instance will raise `AttributeError`, [#1466](https://github.com/pydantic/pydantic/issues/1466) by [@Bobronium](https://github.com/Bobronium)
|
|
746
|
+
* include `'format': 'password'` in the schema for secret types, [#1424](https://github.com/pydantic/pydantic/issues/1424) by [@atheuz](https://github.com/atheuz)
|
|
747
|
+
* Modify schema constraints on `ConstrainedFloat` so that `exclusiveMinimum` and
|
|
748
|
+
minimum are not included in the schema if they are equal to `-math.inf` and
|
|
749
|
+
`exclusiveMaximum` and `maximum` are not included if they are equal to `math.inf`, [#1417](https://github.com/pydantic/pydantic/issues/1417) by [@vdwees](https://github.com/vdwees)
|
|
750
|
+
* Squash internal `__root__` dicts in `.dict()` (and, by extension, in `.json()`), [#1414](https://github.com/pydantic/pydantic/issues/1414) by [@patrickkwang](https://github.com/patrickkwang)
|
|
751
|
+
* Move `const` validator to post-validators so it validates the parsed value, [#1410](https://github.com/pydantic/pydantic/issues/1410) by [@selimb](https://github.com/selimb)
|
|
752
|
+
* Fix model validation to handle nested literals, e.g. `Literal['foo', Literal['bar']]`, [#1364](https://github.com/pydantic/pydantic/issues/1364) by [@DBCerigo](https://github.com/DBCerigo)
|
|
753
|
+
* Remove `user_required = True` from `RedisDsn`, neither user nor password are required, [#1275](https://github.com/pydantic/pydantic/issues/1275) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
754
|
+
* Remove extra `allOf` from schema for fields with `Union` and custom `Field`, [#1209](https://github.com/pydantic/pydantic/issues/1209) by [@mostaphaRoudsari](https://github.com/mostaphaRoudsari)
|
|
755
|
+
* Updates OpenAPI schema generation to output all enums as separate models.
|
|
756
|
+
Instead of inlining the enum values in the model schema, models now use a `$ref`
|
|
757
|
+
property to point to the enum definition, [#1173](https://github.com/pydantic/pydantic/issues/1173) by [@calvinwyoung](https://github.com/calvinwyoung)
|
|
758
|
+
|
|
759
|
+
## v1.5.1 (2020-04-23)
|
|
760
|
+
|
|
761
|
+
* Signature generation with `extra: allow` never uses a field name, [#1418](https://github.com/pydantic/pydantic/issues/1418) by [@prettywood](https://github.com/prettywood)
|
|
762
|
+
* Avoid mutating `Field` default value, [#1412](https://github.com/pydantic/pydantic/issues/1412) by [@prettywood](https://github.com/prettywood)
|
|
763
|
+
|
|
764
|
+
## v1.5 (2020-04-18)
|
|
765
|
+
|
|
766
|
+
* Make includes/excludes arguments for `.dict()`, `._iter()`, ..., immutable, [#1404](https://github.com/pydantic/pydantic/issues/1404) by [@AlexECX](https://github.com/AlexECX)
|
|
767
|
+
* Always use a field's real name with includes/excludes in `model._iter()`, regardless of `by_alias`, [#1397](https://github.com/pydantic/pydantic/issues/1397) by [@AlexECX](https://github.com/AlexECX)
|
|
768
|
+
* Update constr regex example to include start and end lines, [#1396](https://github.com/pydantic/pydantic/issues/1396) by [@lmcnearney](https://github.com/lmcnearney)
|
|
769
|
+
* Confirm that shallow `model.copy()` does make a shallow copy of attributes, [#1383](https://github.com/pydantic/pydantic/issues/1383) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
770
|
+
* Renaming `model_name` argument of `main.create_model()` to `__model_name` to allow using `model_name` as a field name, [#1367](https://github.com/pydantic/pydantic/issues/1367) by [@kittipatv](https://github.com/kittipatv)
|
|
771
|
+
* Replace raising of exception to silent passing for non-Var attributes in mypy plugin, [#1345](https://github.com/pydantic/pydantic/issues/1345) by [@b0g3r](https://github.com/b0g3r)
|
|
772
|
+
* Remove `typing_extensions` dependency for Python 3.8, [#1342](https://github.com/pydantic/pydantic/issues/1342) by [@prettywood](https://github.com/prettywood)
|
|
773
|
+
* Make `SecretStr` and `SecretBytes` initialization idempotent, [#1330](https://github.com/pydantic/pydantic/issues/1330) by [@atheuz](https://github.com/atheuz)
|
|
774
|
+
* document making secret types dumpable using the json method, [#1328](https://github.com/pydantic/pydantic/issues/1328) by [@atheuz](https://github.com/atheuz)
|
|
775
|
+
* Move all testing and build to github actions, add windows and macos binaries,
|
|
776
|
+
thank you [@StephenBrown2](https://github.com/StephenBrown2) for much help, [#1326](https://github.com/pydantic/pydantic/issues/1326) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
777
|
+
* fix card number length check in `PaymentCardNumber`, `PaymentCardBrand` now inherits from `str`, [#1317](https://github.com/pydantic/pydantic/issues/1317) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
778
|
+
* Have `BaseModel` inherit from `Representation` to make mypy happy when overriding `__str__`, [#1310](https://github.com/pydantic/pydantic/issues/1310) by [@FuegoFro](https://github.com/FuegoFro)
|
|
779
|
+
* Allow `None` as input to all optional list fields, [#1307](https://github.com/pydantic/pydantic/issues/1307) by [@prettywood](https://github.com/prettywood)
|
|
780
|
+
* Add `datetime` field to `default_factory` example, [#1301](https://github.com/pydantic/pydantic/issues/1301) by [@StephenBrown2](https://github.com/StephenBrown2)
|
|
781
|
+
* Allow subclasses of known types to be encoded with superclass encoder, [#1291](https://github.com/pydantic/pydantic/issues/1291) by [@StephenBrown2](https://github.com/StephenBrown2)
|
|
782
|
+
* Exclude exported fields from all elements of a list/tuple of submodels/dicts with `'__all__'`, [#1286](https://github.com/pydantic/pydantic/issues/1286) by [@masalim2](https://github.com/masalim2)
|
|
783
|
+
* Add pydantic.color.Color objects as available input for Color fields, [#1258](https://github.com/pydantic/pydantic/issues/1258) by [@leosussan](https://github.com/leosussan)
|
|
784
|
+
* In examples, type nullable fields as `Optional`, so that these are valid mypy annotations, [#1248](https://github.com/pydantic/pydantic/issues/1248) by [@kokes](https://github.com/kokes)
|
|
785
|
+
* Make `pattern_validator()` accept pre-compiled `Pattern` objects. Fix `str_validator()` return type to `str`, [#1237](https://github.com/pydantic/pydantic/issues/1237) by [@adamgreg](https://github.com/adamgreg)
|
|
786
|
+
* Document how to manage Generics and inheritance, [#1229](https://github.com/pydantic/pydantic/issues/1229) by [@esadruhn](https://github.com/esadruhn)
|
|
787
|
+
* `update_forward_refs()` method of BaseModel now copies `__dict__` of class module instead of modyfying it, [#1228](https://github.com/pydantic/pydantic/issues/1228) by [@paul-ilyin](https://github.com/paul-ilyin)
|
|
788
|
+
* Support instance methods and class methods with `@validate_arguments`, [#1222](https://github.com/pydantic/pydantic/issues/1222) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
789
|
+
* Add `default_factory` argument to `Field` to create a dynamic default value by passing a zero-argument callable, [#1210](https://github.com/pydantic/pydantic/issues/1210) by [@prettywood](https://github.com/prettywood)
|
|
790
|
+
* add support for `NewType` of `List`, `Optional`, etc, [#1207](https://github.com/pydantic/pydantic/issues/1207) by [@Kazy](https://github.com/Kazy)
|
|
791
|
+
* fix mypy signature for `root_validator`, [#1192](https://github.com/pydantic/pydantic/issues/1192) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
792
|
+
* Fixed parsing of nested 'custom root type' models, [#1190](https://github.com/pydantic/pydantic/issues/1190) by [@Shados](https://github.com/Shados)
|
|
793
|
+
* Add `validate_arguments` function decorator which checks the arguments to a function matches type annotations, [#1179](https://github.com/pydantic/pydantic/issues/1179) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
794
|
+
* Add `__signature__` to models, [#1034](https://github.com/pydantic/pydantic/issues/1034) by [@Bobronium](https://github.com/Bobronium)
|
|
795
|
+
* Refactor `._iter()` method, 10x speed boost for `dict(model)`, [#1017](https://github.com/pydantic/pydantic/issues/1017) by [@Bobronium](https://github.com/Bobronium)
|
|
796
|
+
|
|
797
|
+
## v1.4 (2020-01-24)
|
|
798
|
+
|
|
799
|
+
* **Breaking Change:** alias precedence logic changed so aliases on a field always take priority over
|
|
800
|
+
an alias from `alias_generator` to avoid buggy/unexpected behaviour,
|
|
801
|
+
see [here](https://docs.pydantic.dev/usage/model_config/#alias-precedence) for details, [#1178](https://github.com/pydantic/pydantic/issues/1178) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
802
|
+
* Add support for unicode and punycode in TLDs, [#1182](https://github.com/pydantic/pydantic/issues/1182) by [@jamescurtin](https://github.com/jamescurtin)
|
|
803
|
+
* Fix `cls` argument in validators during assignment, [#1172](https://github.com/pydantic/pydantic/issues/1172) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
804
|
+
* completing Luhn algorithm for `PaymentCardNumber`, [#1166](https://github.com/pydantic/pydantic/issues/1166) by [@cuencandres](https://github.com/cuencandres)
|
|
805
|
+
* add support for generics that implement `__get_validators__` like a custom data type, [#1159](https://github.com/pydantic/pydantic/issues/1159) by [@tiangolo](https://github.com/tiangolo)
|
|
806
|
+
* add support for infinite generators with `Iterable`, [#1152](https://github.com/pydantic/pydantic/issues/1152) by [@tiangolo](https://github.com/tiangolo)
|
|
807
|
+
* fix `url_regex` to accept schemas with `+`, `-` and `.` after the first character, [#1142](https://github.com/pydantic/pydantic/issues/1142) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
808
|
+
* move `version_info()` to `version.py`, suggest its use in issues, [#1138](https://github.com/pydantic/pydantic/issues/1138) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
809
|
+
* Improve pydantic import time by roughly 50% by deferring some module loading and regex compilation, [#1127](https://github.com/pydantic/pydantic/issues/1127) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
810
|
+
* Fix `EmailStr` and `NameEmail` to accept instances of themselves in cython, [#1126](https://github.com/pydantic/pydantic/issues/1126) by [@koxudaxi](https://github.com/koxudaxi)
|
|
811
|
+
* Pass model class to the `Config.schema_extra` callable, [#1125](https://github.com/pydantic/pydantic/issues/1125) by [@therefromhere](https://github.com/therefromhere)
|
|
812
|
+
* Fix regex for username and password in URLs, [#1115](https://github.com/pydantic/pydantic/issues/1115) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
813
|
+
* Add support for nested generic models, [#1104](https://github.com/pydantic/pydantic/issues/1104) by [@dmontagu](https://github.com/dmontagu)
|
|
814
|
+
* add `__all__` to `__init__.py` to prevent "implicit reexport" errors from mypy, [#1072](https://github.com/pydantic/pydantic/issues/1072) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
815
|
+
* Add support for using "dotenv" files with `BaseSettings`, [#1011](https://github.com/pydantic/pydantic/issues/1011) by [@acnebs](https://github.com/acnebs)
|
|
816
|
+
|
|
817
|
+
## v1.3 (2019-12-21)
|
|
818
|
+
|
|
819
|
+
* Change `schema` and `schema_model` to handle dataclasses by using their `__pydantic_model__` feature, [#792](https://github.com/pydantic/pydantic/issues/792) by [@aviramha](https://github.com/aviramha)
|
|
820
|
+
* Added option for `root_validator` to be skipped if values validation fails using keyword `skip_on_failure=True`, [#1049](https://github.com/pydantic/pydantic/issues/1049) by [@aviramha](https://github.com/aviramha)
|
|
821
|
+
* Allow `Config.schema_extra` to be a callable so that the generated schema can be post-processed, [#1054](https://github.com/pydantic/pydantic/issues/1054) by [@selimb](https://github.com/selimb)
|
|
822
|
+
* Update mypy to version 0.750, [#1057](https://github.com/pydantic/pydantic/issues/1057) by [@dmontagu](https://github.com/dmontagu)
|
|
823
|
+
* Trick Cython into allowing str subclassing, [#1061](https://github.com/pydantic/pydantic/issues/1061) by [@skewty](https://github.com/skewty)
|
|
824
|
+
* Prevent type attributes being added to schema unless the attribute `__schema_attributes__` is `True`, [#1064](https://github.com/pydantic/pydantic/issues/1064) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
825
|
+
* Change `BaseModel.parse_file` to use `Config.json_loads`, [#1067](https://github.com/pydantic/pydantic/issues/1067) by [@kierandarcy](https://github.com/kierandarcy)
|
|
826
|
+
* Fix for optional `Json` fields, [#1073](https://github.com/pydantic/pydantic/issues/1073) by [@volker48](https://github.com/volker48)
|
|
827
|
+
* Change the default number of threads used when compiling with cython to one,
|
|
828
|
+
allow override via the `CYTHON_NTHREADS` environment variable, [#1074](https://github.com/pydantic/pydantic/issues/1074) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
829
|
+
* Run FastAPI tests during Pydantic's CI tests, [#1075](https://github.com/pydantic/pydantic/issues/1075) by [@tiangolo](https://github.com/tiangolo)
|
|
830
|
+
* My mypy strictness constraints, and associated tweaks to type annotations, [#1077](https://github.com/pydantic/pydantic/issues/1077) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
831
|
+
* Add `__eq__` to SecretStr and SecretBytes to allow "value equals", [#1079](https://github.com/pydantic/pydantic/issues/1079) by [@sbv-trueenergy](https://github.com/sbv-trueenergy)
|
|
832
|
+
* Fix schema generation for nested None case, [#1088](https://github.com/pydantic/pydantic/issues/1088) by [@lutostag](https://github.com/lutostag)
|
|
833
|
+
* Consistent checks for sequence like objects, [#1090](https://github.com/pydantic/pydantic/issues/1090) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
834
|
+
* Fix `Config` inheritance on `BaseSettings` when used with `env_prefix`, [#1091](https://github.com/pydantic/pydantic/issues/1091) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
835
|
+
* Fix for `__modify_schema__` when it conflicted with `field_class_to_schema*`, [#1102](https://github.com/pydantic/pydantic/issues/1102) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
836
|
+
* docs: Fix explanation of case sensitive environment variable names when populating `BaseSettings` subclass attributes, [#1105](https://github.com/pydantic/pydantic/issues/1105) by [@tribals](https://github.com/tribals)
|
|
837
|
+
* Rename django-rest-framework benchmark in documentation, [#1119](https://github.com/pydantic/pydantic/issues/1119) by [@frankie567](https://github.com/frankie567)
|
|
838
|
+
|
|
839
|
+
## v1.2 (2019-11-28)
|
|
840
|
+
|
|
841
|
+
* **Possible Breaking Change:** Add support for required `Optional` with `name: Optional[AnyType] = Field(...)`
|
|
842
|
+
and refactor `ModelField` creation to preserve `required` parameter value, [#1031](https://github.com/pydantic/pydantic/issues/1031) by [@tiangolo](https://github.com/tiangolo);
|
|
843
|
+
see [here](https://docs.pydantic.dev/usage/models/#required-optional-fields) for details
|
|
844
|
+
* Add benchmarks for `cattrs`, [#513](https://github.com/pydantic/pydantic/issues/513) by [@sebastianmika](https://github.com/sebastianmika)
|
|
845
|
+
* Add `exclude_none` option to `dict()` and friends, [#587](https://github.com/pydantic/pydantic/issues/587) by [@niknetniko](https://github.com/niknetniko)
|
|
846
|
+
* Add benchmarks for `valideer`, [#670](https://github.com/pydantic/pydantic/issues/670) by [@gsakkis](https://github.com/gsakkis)
|
|
847
|
+
* Add `parse_obj_as` and `parse_file_as` functions for ad-hoc parsing of data into arbitrary pydantic-compatible types, [#934](https://github.com/pydantic/pydantic/issues/934) by [@dmontagu](https://github.com/dmontagu)
|
|
848
|
+
* Add `allow_reuse` argument to validators, thus allowing validator reuse, [#940](https://github.com/pydantic/pydantic/issues/940) by [@dmontagu](https://github.com/dmontagu)
|
|
849
|
+
* Add support for mapping types for custom root models, [#958](https://github.com/pydantic/pydantic/issues/958) by [@dmontagu](https://github.com/dmontagu)
|
|
850
|
+
* Mypy plugin support for dataclasses, [#966](https://github.com/pydantic/pydantic/issues/966) by [@koxudaxi](https://github.com/koxudaxi)
|
|
851
|
+
* Add support for dataclasses default factory, [#968](https://github.com/pydantic/pydantic/issues/968) by [@ahirner](https://github.com/ahirner)
|
|
852
|
+
* Add a `ByteSize` type for converting byte string (`1GB`) to plain bytes, [#977](https://github.com/pydantic/pydantic/issues/977) by [@dgasmith](https://github.com/dgasmith)
|
|
853
|
+
* Fix mypy complaint about `@root_validator(pre=True)`, [#984](https://github.com/pydantic/pydantic/issues/984) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
854
|
+
* Add manylinux binaries for Python 3.8 to pypi, also support manylinux2010, [#994](https://github.com/pydantic/pydantic/issues/994) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
855
|
+
* Adds ByteSize conversion to another unit, [#995](https://github.com/pydantic/pydantic/issues/995) by [@dgasmith](https://github.com/dgasmith)
|
|
856
|
+
* Fix `__str__` and `__repr__` inheritance for models, [#1022](https://github.com/pydantic/pydantic/issues/1022) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
857
|
+
* add testimonials section to docs, [#1025](https://github.com/pydantic/pydantic/issues/1025) by [@sullivancolin](https://github.com/sullivancolin)
|
|
858
|
+
* Add support for `typing.Literal` for Python 3.8, [#1026](https://github.com/pydantic/pydantic/issues/1026) by [@dmontagu](https://github.com/dmontagu)
|
|
859
|
+
|
|
860
|
+
## v1.1.1 (2019-11-20)
|
|
861
|
+
|
|
862
|
+
* Fix bug where use of complex fields on sub-models could cause fields to be incorrectly configured, [#1015](https://github.com/pydantic/pydantic/issues/1015) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
863
|
+
|
|
864
|
+
## v1.1 (2019-11-07)
|
|
865
|
+
|
|
866
|
+
* Add a mypy plugin for type checking `BaseModel.__init__` and more, [#722](https://github.com/pydantic/pydantic/issues/722) by [@dmontagu](https://github.com/dmontagu)
|
|
867
|
+
* Change return type typehint for `GenericModel.__class_getitem__` to prevent PyCharm warnings, [#936](https://github.com/pydantic/pydantic/issues/936) by [@dmontagu](https://github.com/dmontagu)
|
|
868
|
+
* Fix usage of `Any` to allow `None`, also support `TypeVar` thus allowing use of un-parameterised collection types
|
|
869
|
+
e.g. `Dict` and `List`, [#962](https://github.com/pydantic/pydantic/issues/962) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
870
|
+
* Set `FieldInfo` on subfields to fix schema generation for complex nested types, [#965](https://github.com/pydantic/pydantic/issues/965) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
871
|
+
|
|
872
|
+
## v1.0 (2019-10-23)
|
|
873
|
+
|
|
874
|
+
* **Breaking Change:** deprecate the `Model.fields` property, use `Model.__fields__` instead, [#883](https://github.com/pydantic/pydantic/issues/883) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
875
|
+
* **Breaking Change:** Change the precedence of aliases so child model aliases override parent aliases,
|
|
876
|
+
including using `alias_generator`, [#904](https://github.com/pydantic/pydantic/issues/904) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
877
|
+
* **Breaking change:** Rename `skip_defaults` to `exclude_unset`, and add ability to exclude actual defaults, [#915](https://github.com/pydantic/pydantic/issues/915) by [@dmontagu](https://github.com/dmontagu)
|
|
878
|
+
* Add `**kwargs` to `pydantic.main.ModelMetaclass.__new__` so `__init_subclass__` can take custom parameters on extended
|
|
879
|
+
`BaseModel` classes, [#867](https://github.com/pydantic/pydantic/issues/867) by [@retnikt](https://github.com/retnikt)
|
|
880
|
+
* Fix field of a type that has a default value, [#880](https://github.com/pydantic/pydantic/issues/880) by [@koxudaxi](https://github.com/koxudaxi)
|
|
881
|
+
* Use `FutureWarning` instead of `DeprecationWarning` when `alias` instead of `env` is used for settings models, [#881](https://github.com/pydantic/pydantic/issues/881) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
882
|
+
* Fix issue with `BaseSettings` inheritance and `alias` getting set to `None`, [#882](https://github.com/pydantic/pydantic/issues/882) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
883
|
+
* Modify `__repr__` and `__str__` methods to be consistent across all public classes, add `__pretty__` to support
|
|
884
|
+
python-devtools, [#884](https://github.com/pydantic/pydantic/issues/884) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
885
|
+
* deprecation warning for `case_insensitive` on `BaseSettings` config, [#885](https://github.com/pydantic/pydantic/issues/885) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
886
|
+
* For `BaseSettings` merge environment variables and in-code values recursively, as long as they create a valid object
|
|
887
|
+
when merged together, to allow splitting init arguments, [#888](https://github.com/pydantic/pydantic/issues/888) by [@idmitrievsky](https://github.com/idmitrievsky)
|
|
888
|
+
* change secret types example, [#890](https://github.com/pydantic/pydantic/issues/890) by [@ashears](https://github.com/ashears)
|
|
889
|
+
* Change the signature of `Model.construct()` to be more user-friendly, document `construct()` usage, [#898](https://github.com/pydantic/pydantic/issues/898) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
890
|
+
* Add example for the `construct()` method, [#907](https://github.com/pydantic/pydantic/issues/907) by [@ashears](https://github.com/ashears)
|
|
891
|
+
* Improve use of `Field` constraints on complex types, raise an error if constraints are not enforceable,
|
|
892
|
+
also support tuples with an ellipsis `Tuple[X, ...]`, `Sequence` and `FrozenSet` in schema, [#909](https://github.com/pydantic/pydantic/issues/909) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
893
|
+
* update docs for bool missing valid value, [#911](https://github.com/pydantic/pydantic/issues/911) by [@trim21](https://github.com/trim21)
|
|
894
|
+
* Better `str`/`repr` logic for `ModelField`, [#912](https://github.com/pydantic/pydantic/issues/912) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
895
|
+
* Fix `ConstrainedList`, update schema generation to reflect `min_items` and `max_items` `Field()` arguments, [#917](https://github.com/pydantic/pydantic/issues/917) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
896
|
+
* Allow abstracts sets (eg. dict keys) in the `include` and `exclude` arguments of `dict()`, [#921](https://github.com/pydantic/pydantic/issues/921) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
897
|
+
* Fix JSON serialization errors on `ValidationError.json()` by using `pydantic_encoder`, [#922](https://github.com/pydantic/pydantic/issues/922) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
898
|
+
* Clarify usage of `remove_untouched`, improve error message for types with no validators, [#926](https://github.com/pydantic/pydantic/issues/926) by [@retnikt](https://github.com/retnikt)
|
|
899
|
+
|
|
900
|
+
## v1.0b2 (2019-10-07)
|
|
901
|
+
|
|
902
|
+
* Mark `StrictBool` typecheck as `bool` to allow for default values without mypy errors, [#690](https://github.com/pydantic/pydantic/issues/690) by [@dmontagu](https://github.com/dmontagu)
|
|
903
|
+
* Transfer the documentation build from sphinx to mkdocs, re-write much of the documentation, [#856](https://github.com/pydantic/pydantic/issues/856) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
904
|
+
* Add support for custom naming schemes for `GenericModel` subclasses, [#859](https://github.com/pydantic/pydantic/issues/859) by [@dmontagu](https://github.com/dmontagu)
|
|
905
|
+
* Add `if TYPE_CHECKING:` to the excluded lines for test coverage, [#874](https://github.com/pydantic/pydantic/issues/874) by [@dmontagu](https://github.com/dmontagu)
|
|
906
|
+
* Rename `allow_population_by_alias` to `allow_population_by_field_name`, remove unnecessary warning about it, [#875](https://github.com/pydantic/pydantic/issues/875) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
907
|
+
|
|
908
|
+
## v1.0b1 (2019-10-01)
|
|
909
|
+
|
|
910
|
+
* **Breaking Change:** rename `Schema` to `Field`, make it a function to placate mypy, [#577](https://github.com/pydantic/pydantic/issues/577) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
911
|
+
* **Breaking Change:** modify parsing behavior for `bool`, [#617](https://github.com/pydantic/pydantic/issues/617) by [@dmontagu](https://github.com/dmontagu)
|
|
912
|
+
* **Breaking Change:** `get_validators` is no longer recognised, use `__get_validators__`.
|
|
913
|
+
`Config.ignore_extra` and `Config.allow_extra` are no longer recognised, use `Config.extra`, [#720](https://github.com/pydantic/pydantic/issues/720) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
914
|
+
* **Breaking Change:** modify default config settings for `BaseSettings`; `case_insensitive` renamed to `case_sensitive`,
|
|
915
|
+
default changed to `case_sensitive = False`, `env_prefix` default changed to `''` - e.g. no prefix, [#721](https://github.com/pydantic/pydantic/issues/721) by [@dmontagu](https://github.com/dmontagu)
|
|
916
|
+
* **Breaking change:** Implement `root_validator` and rename root errors from `__obj__` to `__root__`, [#729](https://github.com/pydantic/pydantic/issues/729) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
917
|
+
* **Breaking Change:** alter the behaviour of `dict(model)` so that sub-models are nolonger
|
|
918
|
+
converted to dictionaries, [#733](https://github.com/pydantic/pydantic/issues/733) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
919
|
+
* **Breaking change:** Added `initvars` support to `post_init_post_parse`, [#748](https://github.com/pydantic/pydantic/issues/748) by [@Raphael-C-Almeida](https://github.com/Raphael-C-Almeida)
|
|
920
|
+
* **Breaking Change:** Make `BaseModel.json()` only serialize the `__root__` key for models with custom root, [#752](https://github.com/pydantic/pydantic/issues/752) by [@dmontagu](https://github.com/dmontagu)
|
|
921
|
+
* **Breaking Change:** complete rewrite of `URL` parsing logic, [#755](https://github.com/pydantic/pydantic/issues/755) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
922
|
+
* **Breaking Change:** preserve superclass annotations for field-determination when not provided in subclass, [#757](https://github.com/pydantic/pydantic/issues/757) by [@dmontagu](https://github.com/dmontagu)
|
|
923
|
+
* **Breaking Change:** `BaseSettings` now uses the special `env` settings to define which environment variables to
|
|
924
|
+
read, not aliases, [#847](https://github.com/pydantic/pydantic/issues/847) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
925
|
+
* add support for `assert` statements inside validators, [#653](https://github.com/pydantic/pydantic/issues/653) by [@abdusco](https://github.com/abdusco)
|
|
926
|
+
* Update documentation to specify the use of `pydantic.dataclasses.dataclass` and subclassing `pydantic.BaseModel`, [#710](https://github.com/pydantic/pydantic/issues/710) by [@maddosaurus](https://github.com/maddosaurus)
|
|
927
|
+
* Allow custom JSON decoding and encoding via `json_loads` and `json_dumps` `Config` properties, [#714](https://github.com/pydantic/pydantic/issues/714) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
928
|
+
* make all annotated fields occur in the order declared, [#715](https://github.com/pydantic/pydantic/issues/715) by [@dmontagu](https://github.com/dmontagu)
|
|
929
|
+
* use pytest to test `mypy` integration, [#735](https://github.com/pydantic/pydantic/issues/735) by [@dmontagu](https://github.com/dmontagu)
|
|
930
|
+
* add `__repr__` method to `ErrorWrapper`, [#738](https://github.com/pydantic/pydantic/issues/738) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
931
|
+
* Added support for `FrozenSet` members in dataclasses, and a better error when attempting to use types from the `typing` module that are not supported by Pydantic, [#745](https://github.com/pydantic/pydantic/issues/745) by [@djpetti](https://github.com/djpetti)
|
|
932
|
+
* add documentation for Pycharm Plugin, [#750](https://github.com/pydantic/pydantic/issues/750) by [@koxudaxi](https://github.com/koxudaxi)
|
|
933
|
+
* fix broken examples in the docs, [#753](https://github.com/pydantic/pydantic/issues/753) by [@dmontagu](https://github.com/dmontagu)
|
|
934
|
+
* moving typing related objects into `pydantic.typing`, [#761](https://github.com/pydantic/pydantic/issues/761) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
935
|
+
* Minor performance improvements to `ErrorWrapper`, `ValidationError` and datetime parsing, [#763](https://github.com/pydantic/pydantic/issues/763) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
936
|
+
* Improvements to `datetime`/`date`/`time`/`timedelta` types: more descriptive errors,
|
|
937
|
+
change errors to `value_error` not `type_error`, support bytes, [#766](https://github.com/pydantic/pydantic/issues/766) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
938
|
+
* fix error messages for `Literal` types with multiple allowed values, [#770](https://github.com/pydantic/pydantic/issues/770) by [@dmontagu](https://github.com/dmontagu)
|
|
939
|
+
* Improved auto-generated `title` field in JSON schema by converting underscore to space, [#772](https://github.com/pydantic/pydantic/issues/772) by [@skewty](https://github.com/skewty)
|
|
940
|
+
* support `mypy --no-implicit-reexport` for dataclasses, also respect `--no-implicit-reexport` in pydantic itself, [#783](https://github.com/pydantic/pydantic/issues/783) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
941
|
+
* add the `PaymentCardNumber` type, [#790](https://github.com/pydantic/pydantic/issues/790) by [@matin](https://github.com/matin)
|
|
942
|
+
* Fix const validations for lists, [#794](https://github.com/pydantic/pydantic/issues/794) by [@hmvp](https://github.com/hmvp)
|
|
943
|
+
* Set `additionalProperties` to false in schema for models with extra fields disallowed, [#796](https://github.com/pydantic/pydantic/issues/796) by [@Code0x58](https://github.com/Code0x58)
|
|
944
|
+
* `EmailStr` validation method now returns local part case-sensitive per RFC 5321, [#798](https://github.com/pydantic/pydantic/issues/798) by [@henriklindgren](https://github.com/henriklindgren)
|
|
945
|
+
* Added ability to validate strictness to `ConstrainedFloat`, `ConstrainedInt` and `ConstrainedStr` and added
|
|
946
|
+
`StrictFloat` and `StrictInt` classes, [#799](https://github.com/pydantic/pydantic/issues/799) by [@DerRidda](https://github.com/DerRidda)
|
|
947
|
+
* Improve handling of `None` and `Optional`, replace `whole` with `each_item` (inverse meaning, default `False`)
|
|
948
|
+
on validators, [#803](https://github.com/pydantic/pydantic/issues/803) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
949
|
+
* add support for `Type[T]` type hints, [#807](https://github.com/pydantic/pydantic/issues/807) by [@timonbimon](https://github.com/timonbimon)
|
|
950
|
+
* Performance improvements from removing `change_exceptions`, change how pydantic error are constructed, [#819](https://github.com/pydantic/pydantic/issues/819) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
951
|
+
* Fix the error message arising when a `BaseModel`-type model field causes a `ValidationError` during parsing, [#820](https://github.com/pydantic/pydantic/issues/820) by [@dmontagu](https://github.com/dmontagu)
|
|
952
|
+
* allow `getter_dict` on `Config`, modify `GetterDict` to be more like a `Mapping` object and thus easier to work with, [#821](https://github.com/pydantic/pydantic/issues/821) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
953
|
+
* Only check `TypeVar` param on base `GenericModel` class, [#842](https://github.com/pydantic/pydantic/issues/842) by [@zpencerq](https://github.com/zpencerq)
|
|
954
|
+
* rename `Model._schema_cache` -> `Model.__schema_cache__`, `Model._json_encoder` -> `Model.__json_encoder__`,
|
|
955
|
+
`Model._custom_root_type` -> `Model.__custom_root_type__`, [#851](https://github.com/pydantic/pydantic/issues/851) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
956
|
+
|
|
957
|
+
## v0.32.2 (2019-08-17)
|
|
958
|
+
|
|
959
|
+
(Docs are available [here](https://5d584fcca7c9b70007d1c997--pydantic-docs.netlify.com))
|
|
960
|
+
|
|
961
|
+
* fix `__post_init__` usage with dataclass inheritance, fix [#739](https://github.com/pydantic/pydantic/issues/739) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
962
|
+
* fix required fields validation on GenericModels classes, [#742](https://github.com/pydantic/pydantic/issues/742) by [@amitbl](https://github.com/amitbl)
|
|
963
|
+
* fix defining custom `Schema` on `GenericModel` fields, [#754](https://github.com/pydantic/pydantic/issues/754) by [@amitbl](https://github.com/amitbl)
|
|
964
|
+
|
|
965
|
+
## v0.32.1 (2019-08-08)
|
|
966
|
+
|
|
967
|
+
* do not validate extra fields when `validate_assignment` is on, [#724](https://github.com/pydantic/pydantic/issues/724) by [@YaraslauZhylko](https://github.com/YaraslauZhylko)
|
|
968
|
+
|
|
969
|
+
## v0.32 (2019-08-06)
|
|
970
|
+
|
|
971
|
+
* add model name to `ValidationError` error message, [#676](https://github.com/pydantic/pydantic/issues/676) by [@dmontagu](https://github.com/dmontagu)
|
|
972
|
+
* **breaking change**: remove `__getattr__` and rename `__values__` to `__dict__` on `BaseModel`,
|
|
973
|
+
deprecation warning on use `__values__` attr, attributes access speed increased up to 14 times, [#712](https://github.com/pydantic/pydantic/issues/712) by [@Bobronium](https://github.com/Bobronium)
|
|
974
|
+
* support `ForwardRef` (without self-referencing annotations) in Python 3.6, [#706](https://github.com/pydantic/pydantic/issues/706) by [@koxudaxi](https://github.com/koxudaxi)
|
|
975
|
+
* implement `schema_extra` in `Config` sub-class, [#663](https://github.com/pydantic/pydantic/issues/663) by [@tiangolo](https://github.com/tiangolo)
|
|
976
|
+
|
|
977
|
+
## v0.31.1 (2019-07-31)
|
|
978
|
+
|
|
979
|
+
* fix json generation for `EnumError`, [#697](https://github.com/pydantic/pydantic/issues/697) by [@dmontagu](https://github.com/dmontagu)
|
|
980
|
+
* update numerous dependencies
|
|
981
|
+
|
|
982
|
+
## v0.31 (2019-07-24)
|
|
983
|
+
|
|
984
|
+
* better support for floating point `multiple_of` values, [#652](https://github.com/pydantic/pydantic/issues/652) by [@justindujardin](https://github.com/justindujardin)
|
|
985
|
+
* fix schema generation for `NewType` and `Literal`, [#649](https://github.com/pydantic/pydantic/issues/649) by [@dmontagu](https://github.com/dmontagu)
|
|
986
|
+
* fix `alias_generator` and field config conflict, [#645](https://github.com/pydantic/pydantic/issues/645) by [@gmetzker](https://github.com/gmetzker) and [#658](https://github.com/pydantic/pydantic/issues/658) by [@Bobronium](https://github.com/Bobronium)
|
|
987
|
+
* more detailed message for `EnumError`, [#673](https://github.com/pydantic/pydantic/issues/673) by [@dmontagu](https://github.com/dmontagu)
|
|
988
|
+
* add advanced exclude support for `dict`, `json` and `copy`, [#648](https://github.com/pydantic/pydantic/issues/648) by [@Bobronium](https://github.com/Bobronium)
|
|
989
|
+
* fix bug in `GenericModel` for models with concrete parameterized fields, [#672](https://github.com/pydantic/pydantic/issues/672) by [@dmontagu](https://github.com/dmontagu)
|
|
990
|
+
* add documentation for `Literal` type, [#651](https://github.com/pydantic/pydantic/issues/651) by [@dmontagu](https://github.com/dmontagu)
|
|
991
|
+
* add `Config.keep_untouched` for custom descriptors support, [#679](https://github.com/pydantic/pydantic/issues/679) by [@Bobronium](https://github.com/Bobronium)
|
|
992
|
+
* use `inspect.cleandoc` internally to get model description, [#657](https://github.com/pydantic/pydantic/issues/657) by [@tiangolo](https://github.com/tiangolo)
|
|
993
|
+
* add `Color` to schema generation, by [@euri10](https://github.com/euri10)
|
|
994
|
+
* add documentation for Literal type, [#651](https://github.com/pydantic/pydantic/issues/651) by [@dmontagu](https://github.com/dmontagu)
|
|
995
|
+
|
|
996
|
+
## v0.30.1 (2019-07-15)
|
|
997
|
+
|
|
998
|
+
* fix so nested classes which inherit and change `__init__` are correctly processed while still allowing `self` as a
|
|
999
|
+
parameter, [#644](https://github.com/pydantic/pydantic/issues/644) by [@lnaden](https://github.com/lnaden) and [@dgasmith](https://github.com/dgasmith)
|
|
1000
|
+
|
|
1001
|
+
## v0.30 (2019-07-07)
|
|
1002
|
+
|
|
1003
|
+
* enforce single quotes in code, [#612](https://github.com/pydantic/pydantic/issues/612) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1004
|
+
* fix infinite recursion with dataclass inheritance and `__post_init__`, [#606](https://github.com/pydantic/pydantic/issues/606) by [@Hanaasagi](https://github.com/Hanaasagi)
|
|
1005
|
+
* fix default values for `GenericModel`, [#610](https://github.com/pydantic/pydantic/issues/610) by [@dmontagu](https://github.com/dmontagu)
|
|
1006
|
+
* clarify that self-referencing models require Python 3.7+, [#616](https://github.com/pydantic/pydantic/issues/616) by [@vlcinsky](https://github.com/vlcinsky)
|
|
1007
|
+
* fix truncate for types, [#611](https://github.com/pydantic/pydantic/issues/611) by [@dmontagu](https://github.com/dmontagu)
|
|
1008
|
+
* add `alias_generator` support, [#622](https://github.com/pydantic/pydantic/issues/622) by [@Bobronium](https://github.com/Bobronium)
|
|
1009
|
+
* fix unparameterized generic type schema generation, [#625](https://github.com/pydantic/pydantic/issues/625) by [@dmontagu](https://github.com/dmontagu)
|
|
1010
|
+
* fix schema generation with multiple/circular references to the same model, [#621](https://github.com/pydantic/pydantic/issues/621) by [@tiangolo](https://github.com/tiangolo) and [@wongpat](https://github.com/wongpat)
|
|
1011
|
+
* support custom root types, [#628](https://github.com/pydantic/pydantic/issues/628) by [@koxudaxi](https://github.com/koxudaxi)
|
|
1012
|
+
* support `self` as a field name in `parse_obj`, [#632](https://github.com/pydantic/pydantic/issues/632) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1013
|
+
|
|
1014
|
+
## v0.29 (2019-06-19)
|
|
1015
|
+
|
|
1016
|
+
* support dataclasses.InitVar, [#592](https://github.com/pydantic/pydantic/issues/592) by [@pfrederiks](https://github.com/pfrederiks)
|
|
1017
|
+
* Updated documentation to elucidate the usage of `Union` when defining multiple types under an attribute's
|
|
1018
|
+
annotation and showcase how the type-order can affect marshalling of provided values, [#594](https://github.com/pydantic/pydantic/issues/594) by [@somada141](https://github.com/somada141)
|
|
1019
|
+
* add `conlist` type, [#583](https://github.com/pydantic/pydantic/issues/583) by [@hmvp](https://github.com/hmvp)
|
|
1020
|
+
* add support for generics, [#595](https://github.com/pydantic/pydantic/issues/595) by [@dmontagu](https://github.com/dmontagu)
|
|
1021
|
+
|
|
1022
|
+
## v0.28 (2019-06-06)
|
|
1023
|
+
|
|
1024
|
+
* fix support for JSON Schema generation when using models with circular references in Python 3.7, [#572](https://github.com/pydantic/pydantic/issues/572) by [@tiangolo](https://github.com/tiangolo)
|
|
1025
|
+
* support `__post_init_post_parse__` on dataclasses, [#567](https://github.com/pydantic/pydantic/issues/567) by [@sevaho](https://github.com/sevaho)
|
|
1026
|
+
* allow dumping dataclasses to JSON, [#575](https://github.com/pydantic/pydantic/issues/575) by [@samuelcolvin](https://github.com/samuelcolvin) and [@DanielOberg](https://github.com/DanielOberg)
|
|
1027
|
+
* ORM mode, [#562](https://github.com/pydantic/pydantic/issues/562) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1028
|
+
* fix `pydantic.compiled` on ipython, [#573](https://github.com/pydantic/pydantic/issues/573) by [@dmontagu](https://github.com/dmontagu) and [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1029
|
+
* add `StrictBool` type, [#579](https://github.com/pydantic/pydantic/issues/579) by [@cazgp](https://github.com/cazgp)
|
|
1030
|
+
|
|
1031
|
+
## v0.27 (2019-05-30)
|
|
1032
|
+
|
|
1033
|
+
* **breaking change** `_pydantic_post_init` to execute dataclass' original `__post_init__` before
|
|
1034
|
+
validation, [#560](https://github.com/pydantic/pydantic/issues/560) by [@HeavenVolkoff](https://github.com/HeavenVolkoff)
|
|
1035
|
+
* fix handling of generic types without specified parameters, [#550](https://github.com/pydantic/pydantic/issues/550) by [@dmontagu](https://github.com/dmontagu)
|
|
1036
|
+
* **breaking change** (maybe): this is the first release compiled with **cython**, see the docs and please
|
|
1037
|
+
submit an issue if you run into problems
|
|
1038
|
+
|
|
1039
|
+
## v0.27.0a1 (2019-05-26)
|
|
1040
|
+
|
|
1041
|
+
* fix JSON Schema for `list`, `tuple`, and `set`, [#540](https://github.com/pydantic/pydantic/issues/540) by [@tiangolo](https://github.com/tiangolo)
|
|
1042
|
+
* compiling with cython, `manylinux` binaries, some other performance improvements, [#548](https://github.com/pydantic/pydantic/issues/548) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1043
|
+
|
|
1044
|
+
## v0.26 (2019-05-22)
|
|
1045
|
+
|
|
1046
|
+
* fix to schema generation for `IPvAnyAddress`, `IPvAnyInterface`, `IPvAnyNetwork` [#498](https://github.com/pydantic/pydantic/issues/498) by [@pilosus](https://github.com/pilosus)
|
|
1047
|
+
* fix variable length tuples support, [#495](https://github.com/pydantic/pydantic/issues/495) by [@pilosus](https://github.com/pilosus)
|
|
1048
|
+
* fix return type hint for `create_model`, [#526](https://github.com/pydantic/pydantic/issues/526) by [@dmontagu](https://github.com/dmontagu)
|
|
1049
|
+
* **Breaking Change:** fix `.dict(skip_keys=True)` skipping values set via alias (this involves changing
|
|
1050
|
+
`validate_model()` to always returns `Tuple[Dict[str, Any], Set[str], Optional[ValidationError]]`), [#517](https://github.com/pydantic/pydantic/issues/517) by [@sommd](https://github.com/sommd)
|
|
1051
|
+
* fix to schema generation for `IPv4Address`, `IPv6Address`, `IPv4Interface`,
|
|
1052
|
+
`IPv6Interface`, `IPv4Network`, `IPv6Network` [#532](https://github.com/pydantic/pydantic/issues/532) by [@euri10](https://github.com/euri10)
|
|
1053
|
+
* add `Color` type, [#504](https://github.com/pydantic/pydantic/issues/504) by [@pilosus](https://github.com/pilosus) and [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1054
|
+
|
|
1055
|
+
## v0.25 (2019-05-05)
|
|
1056
|
+
|
|
1057
|
+
* Improve documentation on self-referencing models and annotations, [#487](https://github.com/pydantic/pydantic/issues/487) by [@theenglishway](https://github.com/theenglishway)
|
|
1058
|
+
* fix `.dict()` with extra keys, [#490](https://github.com/pydantic/pydantic/issues/490) by [@JaewonKim](https://github.com/JaewonKim)
|
|
1059
|
+
* support `const` keyword in `Schema`, [#434](https://github.com/pydantic/pydantic/issues/434) by [@Sean1708](https://github.com/Sean1708)
|
|
1060
|
+
|
|
1061
|
+
## v0.24 (2019-04-23)
|
|
1062
|
+
|
|
1063
|
+
* fix handling `ForwardRef` in sub-types, like `Union`, [#464](https://github.com/pydantic/pydantic/issues/464) by [@tiangolo](https://github.com/tiangolo)
|
|
1064
|
+
* fix secret serialization, [#465](https://github.com/pydantic/pydantic/issues/465) by [@atheuz](https://github.com/atheuz)
|
|
1065
|
+
* Support custom validators for dataclasses, [#454](https://github.com/pydantic/pydantic/issues/454) by [@primal100](https://github.com/primal100)
|
|
1066
|
+
* fix `parse_obj` to cope with dict-like objects, [#472](https://github.com/pydantic/pydantic/issues/472) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1067
|
+
* fix to schema generation in nested dataclass-based models, [#474](https://github.com/pydantic/pydantic/issues/474) by [@NoAnyLove](https://github.com/NoAnyLove)
|
|
1068
|
+
* fix `json` for `Path`, `FilePath`, and `DirectoryPath` objects, [#473](https://github.com/pydantic/pydantic/issues/473) by [@mikegoodspeed](https://github.com/mikegoodspeed)
|
|
1069
|
+
|
|
1070
|
+
## v0.23 (2019-04-04)
|
|
1071
|
+
|
|
1072
|
+
* improve documentation for contributing section, [#441](https://github.com/pydantic/pydantic/issues/441) by [@pilosus](https://github.com/pilosus)
|
|
1073
|
+
* improve README.rst to include essential information about the package, [#446](https://github.com/pydantic/pydantic/issues/446) by [@pilosus](https://github.com/pilosus)
|
|
1074
|
+
* `IntEnum` support, [#444](https://github.com/pydantic/pydantic/issues/444) by [@potykion](https://github.com/potykion)
|
|
1075
|
+
* fix PyObject callable value, [#409](https://github.com/pydantic/pydantic/issues/409) by [@pilosus](https://github.com/pilosus)
|
|
1076
|
+
* fix `black` deprecation warnings after update, [#451](https://github.com/pydantic/pydantic/issues/451) by [@pilosus](https://github.com/pilosus)
|
|
1077
|
+
* fix `ForwardRef` collection bug, [#450](https://github.com/pydantic/pydantic/issues/450) by [@tigerwings](https://github.com/tigerwings)
|
|
1078
|
+
* Support specialized `ClassVars`, [#455](https://github.com/pydantic/pydantic/issues/455) by [@tyrylu](https://github.com/tyrylu)
|
|
1079
|
+
* fix JSON serialization for `ipaddress` types, [#333](https://github.com/pydantic/pydantic/issues/333) by [@pilosus](https://github.com/pilosus)
|
|
1080
|
+
* add `SecretStr` and `SecretBytes` types, [#452](https://github.com/pydantic/pydantic/issues/452) by [@atheuz](https://github.com/atheuz)
|
|
1081
|
+
|
|
1082
|
+
## v0.22 (2019-03-29)
|
|
1083
|
+
|
|
1084
|
+
* add `IPv{4,6,Any}Network` and `IPv{4,6,Any}Interface` types from `ipaddress` stdlib, [#333](https://github.com/pydantic/pydantic/issues/333) by [@pilosus](https://github.com/pilosus)
|
|
1085
|
+
* add docs for `datetime` types, [#386](https://github.com/pydantic/pydantic/issues/386) by [@pilosus](https://github.com/pilosus)
|
|
1086
|
+
* fix to schema generation in dataclass-based models, [#408](https://github.com/pydantic/pydantic/issues/408) by [@pilosus](https://github.com/pilosus)
|
|
1087
|
+
* fix path in nested models, [#437](https://github.com/pydantic/pydantic/issues/437) by [@kataev](https://github.com/kataev)
|
|
1088
|
+
* add `Sequence` support, [#304](https://github.com/pydantic/pydantic/issues/304) by [@pilosus](https://github.com/pilosus)
|
|
1089
|
+
|
|
1090
|
+
## v0.21.0 (2019-03-15)
|
|
1091
|
+
|
|
1092
|
+
* fix typo in `NoneIsNotAllowedError` message, [#414](https://github.com/pydantic/pydantic/issues/414) by [@YaraslauZhylko](https://github.com/YaraslauZhylko)
|
|
1093
|
+
* add `IPvAnyAddress`, `IPv4Address` and `IPv6Address` types, [#333](https://github.com/pydantic/pydantic/issues/333) by [@pilosus](https://github.com/pilosus)
|
|
1094
|
+
|
|
1095
|
+
## v0.20.1 (2019-02-26)
|
|
1096
|
+
|
|
1097
|
+
* fix type hints of `parse_obj` and similar methods, [#405](https://github.com/pydantic/pydantic/issues/405) by [@erosennin](https://github.com/erosennin)
|
|
1098
|
+
* fix submodel validation, [#403](https://github.com/pydantic/pydantic/issues/403) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1099
|
+
* correct type hints for `ValidationError.json`, [#406](https://github.com/pydantic/pydantic/issues/406) by [@layday](https://github.com/layday)
|
|
1100
|
+
|
|
1101
|
+
## v0.20.0 (2019-02-18)
|
|
1102
|
+
|
|
1103
|
+
* fix tests for Python 3.8, [#396](https://github.com/pydantic/pydantic/issues/396) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1104
|
+
* Adds fields to the `dir` method for autocompletion in interactive sessions, [#398](https://github.com/pydantic/pydantic/issues/398) by [@dgasmith](https://github.com/dgasmith)
|
|
1105
|
+
* support `ForwardRef` (and therefore `from __future__ import annotations`) with dataclasses, [#397](https://github.com/pydantic/pydantic/issues/397) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1106
|
+
|
|
1107
|
+
## v0.20.0a1 (2019-02-13)
|
|
1108
|
+
|
|
1109
|
+
* **breaking change** (maybe): more sophisticated argument parsing for validators, any subset of
|
|
1110
|
+
`values`, `config` and `field` is now permitted, eg. `(cls, value, field)`,
|
|
1111
|
+
however the variadic key word argument ("`**kwargs`") **must** be called `kwargs`, [#388](https://github.com/pydantic/pydantic/issues/388) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1112
|
+
* **breaking change**: Adds `skip_defaults` argument to `BaseModel.dict()` to allow skipping of fields that
|
|
1113
|
+
were not explicitly set, signature of `Model.construct()` changed, [#389](https://github.com/pydantic/pydantic/issues/389) by [@dgasmith](https://github.com/dgasmith)
|
|
1114
|
+
* add `py.typed` marker file for PEP-561 support, [#391](https://github.com/pydantic/pydantic/issues/391) by [@je-l](https://github.com/je-l)
|
|
1115
|
+
* Fix `extra` behaviour for multiple inheritance/mix-ins, [#394](https://github.com/pydantic/pydantic/issues/394) by [@YaraslauZhylko](https://github.com/YaraslauZhylko)
|
|
1116
|
+
|
|
1117
|
+
## v0.19.0 (2019-02-04)
|
|
1118
|
+
|
|
1119
|
+
* Support `Callable` type hint, fix [#279](https://github.com/pydantic/pydantic/issues/279) by [@proofit404](https://github.com/proofit404)
|
|
1120
|
+
* Fix schema for fields with `validator` decorator, fix [#375](https://github.com/pydantic/pydantic/issues/375) by [@tiangolo](https://github.com/tiangolo)
|
|
1121
|
+
* Add `multiple_of` constraint to `ConstrainedDecimal`, `ConstrainedFloat`, `ConstrainedInt`
|
|
1122
|
+
and their related types `condecimal`, `confloat`, and `conint` [#371](https://github.com/pydantic/pydantic/issues/371), thanks [@StephenBrown2](https://github.com/StephenBrown2)
|
|
1123
|
+
* Deprecated `ignore_extra` and `allow_extra` Config fields in favor of `extra`, [#352](https://github.com/pydantic/pydantic/issues/352) by [@liiight](https://github.com/liiight)
|
|
1124
|
+
* Add type annotations to all functions, test fully with mypy, [#373](https://github.com/pydantic/pydantic/issues/373) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1125
|
+
* fix for 'missing' error with `validate_all` or `validate_always`, [#381](https://github.com/pydantic/pydantic/issues/381) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1126
|
+
* Change the second/millisecond watershed for date/datetime parsing to `2e10`, [#385](https://github.com/pydantic/pydantic/issues/385) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1127
|
+
|
|
1128
|
+
## v0.18.2 (2019-01-22)
|
|
1129
|
+
|
|
1130
|
+
* Fix to schema generation with `Optional` fields, fix [#361](https://github.com/pydantic/pydantic/issues/361) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1131
|
+
|
|
1132
|
+
## v0.18.1 (2019-01-17)
|
|
1133
|
+
|
|
1134
|
+
* add `ConstrainedBytes` and `conbytes` types, [#315](https://github.com/pydantic/pydantic/issues/315) [@Gr1N](https://github.com/Gr1N)
|
|
1135
|
+
* adding `MANIFEST.in` to include license in package `.tar.gz`, [#358](https://github.com/pydantic/pydantic/issues/358) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1136
|
+
|
|
1137
|
+
## v0.18.0 (2019-01-13)
|
|
1138
|
+
|
|
1139
|
+
* **breaking change**: don't call validators on keys of dictionaries, [#254](https://github.com/pydantic/pydantic/issues/254) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1140
|
+
* Fix validators with `always=True` when the default is `None` or the type is optional, also prevent
|
|
1141
|
+
`whole` validators being called for sub-fields, fix [#132](https://github.com/pydantic/pydantic/issues/132) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1142
|
+
* improve documentation for settings priority and allow it to be easily changed, [#343](https://github.com/pydantic/pydantic/issues/343) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1143
|
+
* fix `ignore_extra=False` and `allow_population_by_alias=True`, fix [#257](https://github.com/pydantic/pydantic/issues/257) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1144
|
+
* **breaking change**: Set `BaseConfig` attributes `min_anystr_length` and `max_anystr_length` to
|
|
1145
|
+
`None` by default, fix [#349](https://github.com/pydantic/pydantic/issues/349) in [#350](https://github.com/pydantic/pydantic/issues/350) by [@tiangolo](https://github.com/tiangolo)
|
|
1146
|
+
* add support for postponed annotations, [#348](https://github.com/pydantic/pydantic/issues/348) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1147
|
+
|
|
1148
|
+
## v0.17.0 (2018-12-27)
|
|
1149
|
+
|
|
1150
|
+
* fix schema for `timedelta` as number, [#325](https://github.com/pydantic/pydantic/issues/325) by [@tiangolo](https://github.com/tiangolo)
|
|
1151
|
+
* prevent validators being called repeatedly after inheritance, [#327](https://github.com/pydantic/pydantic/issues/327) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1152
|
+
* prevent duplicate validator check in ipython, fix [#312](https://github.com/pydantic/pydantic/issues/312) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1153
|
+
* add "Using Pydantic" section to docs, [#323](https://github.com/pydantic/pydantic/issues/323) by [@tiangolo](https://github.com/tiangolo) & [#326](https://github.com/pydantic/pydantic/issues/326) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1154
|
+
* fix schema generation for fields annotated as `: dict`, `: list`,
|
|
1155
|
+
`: tuple` and `: set`, [#330](https://github.com/pydantic/pydantic/issues/330) & [#335](https://github.com/pydantic/pydantic/issues/335) by [@nkonin](https://github.com/nkonin)
|
|
1156
|
+
* add support for constrained strings as dict keys in schema, [#332](https://github.com/pydantic/pydantic/issues/332) by [@tiangolo](https://github.com/tiangolo)
|
|
1157
|
+
* support for passing Config class in dataclasses decorator, [#276](https://github.com/pydantic/pydantic/issues/276) by [@jarekkar](https://github.com/jarekkar)
|
|
1158
|
+
(**breaking change**: this supersedes the `validate_assignment` argument with `config`)
|
|
1159
|
+
* support for nested dataclasses, [#334](https://github.com/pydantic/pydantic/issues/334) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1160
|
+
* better errors when getting an `ImportError` with `PyObject`, [#309](https://github.com/pydantic/pydantic/issues/309) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1161
|
+
* rename `get_validators` to `__get_validators__`, deprecation warning on use of old name, [#338](https://github.com/pydantic/pydantic/issues/338) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1162
|
+
* support `ClassVar` by excluding such attributes from fields, [#184](https://github.com/pydantic/pydantic/issues/184) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1163
|
+
|
|
1164
|
+
## v0.16.1 (2018-12-10)
|
|
1165
|
+
|
|
1166
|
+
* fix `create_model` to correctly use the passed `__config__`, [#320](https://github.com/pydantic/pydantic/issues/320) by [@hugoduncan](https://github.com/hugoduncan)
|
|
1167
|
+
|
|
1168
|
+
## v0.16.0 (2018-12-03)
|
|
1169
|
+
|
|
1170
|
+
* **breaking change**: refactor schema generation to be compatible with JSON Schema and OpenAPI specs, [#308](https://github.com/pydantic/pydantic/issues/308) by [@tiangolo](https://github.com/tiangolo)
|
|
1171
|
+
* add `schema` to `schema` module to generate top-level schemas from base models, [#308](https://github.com/pydantic/pydantic/issues/308) by [@tiangolo](https://github.com/tiangolo)
|
|
1172
|
+
* add additional fields to `Schema` class to declare validation for `str` and numeric values, [#311](https://github.com/pydantic/pydantic/issues/311) by [@tiangolo](https://github.com/tiangolo)
|
|
1173
|
+
* rename `_schema` to `schema` on fields, [#318](https://github.com/pydantic/pydantic/issues/318) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1174
|
+
* add `case_insensitive` option to `BaseSettings` `Config`, [#277](https://github.com/pydantic/pydantic/issues/277) by [@jasonkuhrt](https://github.com/jasonkuhrt)
|
|
1175
|
+
|
|
1176
|
+
## v0.15.0 (2018-11-18)
|
|
1177
|
+
|
|
1178
|
+
* move codebase to use black, [#287](https://github.com/pydantic/pydantic/issues/287) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1179
|
+
* fix alias use in settings, [#286](https://github.com/pydantic/pydantic/issues/286) by [@jasonkuhrt](https://github.com/jasonkuhrt) and [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1180
|
+
* fix datetime parsing in `parse_date`, [#298](https://github.com/pydantic/pydantic/issues/298) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1181
|
+
* allow dataclass inheritance, fix [#293](https://github.com/pydantic/pydantic/issues/293) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1182
|
+
* fix `PyObject = None`, fix [#305](https://github.com/pydantic/pydantic/issues/305) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1183
|
+
* allow `Pattern` type, fix [#303](https://github.com/pydantic/pydantic/issues/303) by [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1184
|
+
|
|
1185
|
+
## v0.14.0 (2018-10-02)
|
|
1186
|
+
|
|
1187
|
+
* dataclasses decorator, [#269](https://github.com/pydantic/pydantic/issues/269) by [@Gaunt](https://github.com/Gaunt) and [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1188
|
+
|
|
1189
|
+
## v0.13.1 (2018-09-21)
|
|
1190
|
+
|
|
1191
|
+
* fix issue where int_validator doesn't cast a `bool` to an `int` [#264](https://github.com/pydantic/pydantic/issues/264) by [@nphyatt](https://github.com/nphyatt)
|
|
1192
|
+
* add deep copy support for `BaseModel.copy()` [#249](https://github.com/pydantic/pydantic/issues/249), [@gangefors](https://github.com/gangefors)
|
|
1193
|
+
|
|
1194
|
+
## v0.13.0 (2018-08-25)
|
|
1195
|
+
|
|
1196
|
+
* raise an exception if a field's name shadows an existing `BaseModel` attribute [#242](https://github.com/pydantic/pydantic/issues/242)
|
|
1197
|
+
* add `UrlStr` and `urlstr` types [#236](https://github.com/pydantic/pydantic/issues/236)
|
|
1198
|
+
* timedelta json encoding ISO8601 and total seconds, custom json encoders [#247](https://github.com/pydantic/pydantic/issues/247), by [@cfkanesan](https://github.com/cfkanesan) and [@samuelcolvin](https://github.com/samuelcolvin)
|
|
1199
|
+
* allow `timedelta` objects as values for properties of type `timedelta` (matches `datetime` etc. behavior) [#247](https://github.com/pydantic/pydantic/issues/247)
|
|
1200
|
+
|
|
1201
|
+
## v0.12.1 (2018-07-31)
|
|
1202
|
+
|
|
1203
|
+
* fix schema generation for fields defined using `typing.Any` [#237](https://github.com/pydantic/pydantic/issues/237)
|
|
1204
|
+
|
|
1205
|
+
## v0.12.0 (2018-07-31)
|
|
1206
|
+
|
|
1207
|
+
* add `by_alias` argument in `.dict()` and `.json()` model methods [#205](https://github.com/pydantic/pydantic/issues/205)
|
|
1208
|
+
* add Json type support [#214](https://github.com/pydantic/pydantic/issues/214)
|
|
1209
|
+
* support tuples [#227](https://github.com/pydantic/pydantic/issues/227)
|
|
1210
|
+
* major improvements and changes to schema [#213](https://github.com/pydantic/pydantic/issues/213)
|
|
1211
|
+
|
|
1212
|
+
## v0.11.2 (2018-07-05)
|
|
1213
|
+
|
|
1214
|
+
* add `NewType` support [#115](https://github.com/pydantic/pydantic/issues/115)
|
|
1215
|
+
* fix `list`, `set` & `tuple` validation [#225](https://github.com/pydantic/pydantic/issues/225)
|
|
1216
|
+
* separate out `validate_model` method, allow errors to be returned along with valid values [#221](https://github.com/pydantic/pydantic/issues/221)
|
|
1217
|
+
|
|
1218
|
+
## v0.11.1 (2018-07-02)
|
|
1219
|
+
|
|
1220
|
+
* support Python 3.7 [#216](https://github.com/pydantic/pydantic/issues/216), thanks [@layday](https://github.com/layday)
|
|
1221
|
+
* Allow arbitrary types in model [#209](https://github.com/pydantic/pydantic/issues/209), thanks [@oldPadavan](https://github.com/oldPadavan)
|
|
1222
|
+
|
|
1223
|
+
## v0.11.0 (2018-06-28)
|
|
1224
|
+
|
|
1225
|
+
* make `list`, `tuple` and `set` types stricter [#86](https://github.com/pydantic/pydantic/issues/86)
|
|
1226
|
+
* **breaking change**: remove msgpack parsing [#201](https://github.com/pydantic/pydantic/issues/201)
|
|
1227
|
+
* add `FilePath` and `DirectoryPath` types [#10](https://github.com/pydantic/pydantic/issues/10)
|
|
1228
|
+
* model schema generation [#190](https://github.com/pydantic/pydantic/issues/190)
|
|
1229
|
+
* JSON serialisation of models and schemas [#133](https://github.com/pydantic/pydantic/issues/133)
|
|
1230
|
+
|
|
1231
|
+
## v0.10.0 (2018-06-11)
|
|
1232
|
+
|
|
1233
|
+
* add `Config.allow_population_by_alias` [#160](https://github.com/pydantic/pydantic/issues/160), thanks [@bendemaree](https://github.com/bendemaree)
|
|
1234
|
+
* **breaking change**: new errors format [#179](https://github.com/pydantic/pydantic/issues/179), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1235
|
+
* **breaking change**: removed `Config.min_number_size` and `Config.max_number_size` [#183](https://github.com/pydantic/pydantic/issues/183), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1236
|
+
* **breaking change**: correct behaviour of `lt` and `gt` arguments to `conint` etc. [#188](https://github.com/pydantic/pydantic/issues/188)
|
|
1237
|
+
for the old behaviour use `le` and `ge` [#194](https://github.com/pydantic/pydantic/issues/194), thanks [@jaheba](https://github.com/jaheba)
|
|
1238
|
+
* added error context and ability to redefine error message templates using `Config.error_msg_templates` [#183](https://github.com/pydantic/pydantic/issues/183),
|
|
1239
|
+
thanks [@Gr1N](https://github.com/Gr1N)
|
|
1240
|
+
* fix typo in validator exception [#150](https://github.com/pydantic/pydantic/issues/150)
|
|
1241
|
+
* copy defaults to model values, so different models don't share objects [#154](https://github.com/pydantic/pydantic/issues/154)
|
|
1242
|
+
|
|
1243
|
+
## v0.9.1 (2018-05-10)
|
|
1244
|
+
|
|
1245
|
+
* allow custom `get_field_config` on config classes [#159](https://github.com/pydantic/pydantic/issues/159)
|
|
1246
|
+
* add `UUID1`, `UUID3`, `UUID4` and `UUID5` types [#167](https://github.com/pydantic/pydantic/issues/167), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1247
|
+
* modify some inconsistent docstrings and annotations [#173](https://github.com/pydantic/pydantic/issues/173), thanks [@YannLuo](https://github.com/YannLuo)
|
|
1248
|
+
* fix type annotations for exotic types [#171](https://github.com/pydantic/pydantic/issues/171), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1249
|
+
* re-use type validators in exotic types [#171](https://github.com/pydantic/pydantic/issues/171)
|
|
1250
|
+
* scheduled monthly requirements updates [#168](https://github.com/pydantic/pydantic/issues/168)
|
|
1251
|
+
* add `Decimal`, `ConstrainedDecimal` and `condecimal` types [#170](https://github.com/pydantic/pydantic/issues/170), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1252
|
+
|
|
1253
|
+
## v0.9.0 (2018-04-28)
|
|
1254
|
+
|
|
1255
|
+
* tweak email-validator import error message [#145](https://github.com/pydantic/pydantic/issues/145)
|
|
1256
|
+
* fix parse error of `parse_date()` and `parse_datetime()` when input is 0 [#144](https://github.com/pydantic/pydantic/issues/144), thanks [@YannLuo](https://github.com/YannLuo)
|
|
1257
|
+
* add `Config.anystr_strip_whitespace` and `strip_whitespace` kwarg to `constr`,
|
|
1258
|
+
by default values is `False` [#163](https://github.com/pydantic/pydantic/issues/163), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1259
|
+
* add `ConstrainedFloat`, `confloat`, `PositiveFloat` and `NegativeFloat` types [#166](https://github.com/pydantic/pydantic/issues/166), thanks [@Gr1N](https://github.com/Gr1N)
|
|
1260
|
+
|
|
1261
|
+
## v0.8.0 (2018-03-25)
|
|
1262
|
+
|
|
1263
|
+
* fix type annotation for `inherit_config` [#139](https://github.com/pydantic/pydantic/issues/139)
|
|
1264
|
+
* **breaking change**: check for invalid field names in validators [#140](https://github.com/pydantic/pydantic/issues/140)
|
|
1265
|
+
* validate attributes of parent models [#141](https://github.com/pydantic/pydantic/issues/141)
|
|
1266
|
+
* **breaking change**: email validation now uses
|
|
1267
|
+
[email-validator](https://github.com/JoshData/python-email-validator) [#142](https://github.com/pydantic/pydantic/issues/142)
|
|
1268
|
+
|
|
1269
|
+
## v0.7.1 (2018-02-07)
|
|
1270
|
+
|
|
1271
|
+
* fix bug with `create_model` modifying the base class
|
|
1272
|
+
|
|
1273
|
+
## v0.7.0 (2018-02-06)
|
|
1274
|
+
|
|
1275
|
+
* added compatibility with abstract base classes (ABCs) [#123](https://github.com/pydantic/pydantic/issues/123)
|
|
1276
|
+
* add `create_model` method [#113](https://github.com/pydantic/pydantic/issues/113) [#125](https://github.com/pydantic/pydantic/issues/125)
|
|
1277
|
+
* **breaking change**: rename `.config` to `.__config__` on a model
|
|
1278
|
+
* **breaking change**: remove deprecated `.values()` on a model, use `.dict()` instead
|
|
1279
|
+
* remove use of `OrderedDict` and use simple dict [#126](https://github.com/pydantic/pydantic/issues/126)
|
|
1280
|
+
* add `Config.use_enum_values` [#127](https://github.com/pydantic/pydantic/issues/127)
|
|
1281
|
+
* add wildcard validators of the form `@validate('*')` [#128](https://github.com/pydantic/pydantic/issues/128)
|
|
1282
|
+
|
|
1283
|
+
## v0.6.4 (2018-02-01)
|
|
1284
|
+
|
|
1285
|
+
* allow Python date and times objects [#122](https://github.com/pydantic/pydantic/issues/122)
|
|
1286
|
+
|
|
1287
|
+
## v0.6.3 (2017-11-26)
|
|
1288
|
+
|
|
1289
|
+
* fix direct install without `README.rst` present
|
|
1290
|
+
|
|
1291
|
+
## v0.6.2 (2017-11-13)
|
|
1292
|
+
|
|
1293
|
+
* errors for invalid validator use
|
|
1294
|
+
* safer check for complex models in `Settings`
|
|
1295
|
+
|
|
1296
|
+
## v0.6.1 (2017-11-08)
|
|
1297
|
+
|
|
1298
|
+
* prevent duplicate validators, [#101](https://github.com/pydantic/pydantic/issues/101)
|
|
1299
|
+
* add `always` kwarg to validators, [#102](https://github.com/pydantic/pydantic/issues/102)
|
|
1300
|
+
|
|
1301
|
+
## v0.6.0 (2017-11-07)
|
|
1302
|
+
|
|
1303
|
+
* assignment validation [#94](https://github.com/pydantic/pydantic/issues/94), thanks petroswork!
|
|
1304
|
+
* JSON in environment variables for complex types, [#96](https://github.com/pydantic/pydantic/issues/96)
|
|
1305
|
+
* add `validator` decorators for complex validation, [#97](https://github.com/pydantic/pydantic/issues/97)
|
|
1306
|
+
* depreciate `values(...)` and replace with `.dict(...)`, [#99](https://github.com/pydantic/pydantic/issues/99)
|
|
1307
|
+
|
|
1308
|
+
## v0.5.0 (2017-10-23)
|
|
1309
|
+
|
|
1310
|
+
* add `UUID` validation [#89](https://github.com/pydantic/pydantic/issues/89)
|
|
1311
|
+
* remove `index` and `track` from error object (json) if they're null [#90](https://github.com/pydantic/pydantic/issues/90)
|
|
1312
|
+
* improve the error text when a list is provided rather than a dict [#90](https://github.com/pydantic/pydantic/issues/90)
|
|
1313
|
+
* add benchmarks table to docs [#91](https://github.com/pydantic/pydantic/issues/91)
|
|
1314
|
+
|
|
1315
|
+
## v0.4.0 (2017-07-08)
|
|
1316
|
+
|
|
1317
|
+
* show length in string validation error
|
|
1318
|
+
* fix aliases in config during inheritance [#55](https://github.com/pydantic/pydantic/issues/55)
|
|
1319
|
+
* simplify error display
|
|
1320
|
+
* use unicode ellipsis in `truncate`
|
|
1321
|
+
* add `parse_obj`, `parse_raw` and `parse_file` helper functions [#58](https://github.com/pydantic/pydantic/issues/58)
|
|
1322
|
+
* switch annotation only fields to come first in fields list not last
|
|
1323
|
+
|
|
1324
|
+
## v0.3.0 (2017-06-21)
|
|
1325
|
+
|
|
1326
|
+
* immutable models via `config.allow_mutation = False`, associated cleanup and performance improvement [#44](https://github.com/pydantic/pydantic/issues/44)
|
|
1327
|
+
* immutable helper methods `construct()` and `copy()` [#53](https://github.com/pydantic/pydantic/issues/53)
|
|
1328
|
+
* allow pickling of models [#53](https://github.com/pydantic/pydantic/issues/53)
|
|
1329
|
+
* `setattr` is removed as `__setattr__` is now intelligent [#44](https://github.com/pydantic/pydantic/issues/44)
|
|
1330
|
+
* `raise_exception` removed, Models now always raise exceptions [#44](https://github.com/pydantic/pydantic/issues/44)
|
|
1331
|
+
* instance method validators removed
|
|
1332
|
+
* django-restful-framework benchmarks added [#47](https://github.com/pydantic/pydantic/issues/47)
|
|
1333
|
+
* fix inheritance bug [#49](https://github.com/pydantic/pydantic/issues/49)
|
|
1334
|
+
* make str type stricter so list, dict etc are not coerced to strings. [#52](https://github.com/pydantic/pydantic/issues/52)
|
|
1335
|
+
* add `StrictStr` which only always strings as input [#52](https://github.com/pydantic/pydantic/issues/52)
|
|
1336
|
+
|
|
1337
|
+
## v0.2.1 (2017-06-07)
|
|
1338
|
+
|
|
1339
|
+
* pypi and travis together messed up the deploy of `v0.2` this should fix it
|
|
1340
|
+
|
|
1341
|
+
## v0.2.0 (2017-06-07)
|
|
1342
|
+
|
|
1343
|
+
* **breaking change**: `values()` on a model is now a method not a property,
|
|
1344
|
+
takes `include` and `exclude` arguments
|
|
1345
|
+
* allow annotation only fields to support mypy
|
|
1346
|
+
* add pretty `to_string(pretty=True)` method for models
|
|
1347
|
+
|
|
1348
|
+
## v0.1.0 (2017-06-03)
|
|
1349
|
+
|
|
1350
|
+
* add docs
|
|
1351
|
+
* add history
|