error uploading datetime object from python sqlalchemy
pydantic
Data validation and settings management using Python type hinting.
Fast and extensible, pydantic plays nicely with your linters/IDE/brain. Define how information should be in pure, canonical Python iii.6+; validate information technology with pydantic.
Help
See documentation for more details.
Installation
Install using pip install -U pydantic or conda install pydantic -c conda-forge. For more installation options to make pydantic even faster, see the Install section in the documentation.
A Elementary Case
from datetime import datetime from typing import List , Optional from pydantic import BaseModel class User ( BaseModel ): id : int name = 'John Doe' signup_ts : Optional [ datetime ] = None friends : List [ int ] = [] external_data = { 'id' : '123' , 'signup_ts' : '2017-06-01 12:22' , 'friends' : [ 1 , '2' , b '3' ]} user = User ( ** external_data ) print ( user ) #> User id=123 proper noun='John Doe' signup_ts=datetime.datetime(2017, 6, i, 12, 22) friends=[1, 2, three] impress ( user . id ) #> 123
Contributing
For guidance on setting upwardly a development environs and how to make a contribution to pydantic, see Contributing to Pydantic.
Reporting a Security Vulnerability
See our security policy.
v1.ix.0 (2021-12-31)
Thank you to pydantic'south sponsors: @sthagen, @timdrijvers, @toinbis, @koxudaxi, @ginomempin, @primer-io, @and-semakin, @westonsteimel, @reillysiemens, @es3n1n, @jokull, @JonasKs, @Rehket, @corleyma, @daddycocoaman, @hardbyte, @datarootsio, @jodal, @aminalaee, @rafsaf, @jqueguiner, @chdsbd, @kevinalh, @Mazyod, @grillazz, @JonasKs, @simw, @leynier, @xfenix for their kind support.
Highlights
- add together python 3.10 support, #2885 by @PrettyWood
- Discriminated unions, #619 by @PrettyWood
-
Config.smart_unionfor better union logic, #2092 by @PrettyWood - Binaries for Macos M1 CPUs, #3498 by @samuelcolvin
- Circuitous types tin be prepare via nested surround variables, eastward.grand.
foo___bar, #3159 by @Air-Mark - add a dark mode to pydantic documentation, #2913 by @gbdlin
- Add together support for autocomplete in VS Code via
__dataclass_transform__, #2721 by @tiangolo - Add together "exclude" as a field parameter so that information technology can exist configured using model config, #660 by @daviskirk
v1.9.0 (2021-12-31) Changes
- Use
update_forward_refstoConfig.json_encodesprevent name clashes in types defined via strings, #3583 past @samuelcolvin - Extend pydantic'due south mypy plugin to support mypy versions
0.910,0.920,0.921&0.930, #3573 & #3594 by @PrettyWood, @christianbundy, @samuelcolvin
v1.nine.0a2 (2021-12-24) Changes
- support generic models with discriminated union, #3551 by @PrettyWood
- continue old behaviour of
json()past default, #3542 by @PrettyWood - Removed typing-only
__root__attribute fromBaseModel, #3540 past @layday - Build Python 3.ten wheels, #3539 by @mbachry
- Fix display of
extrafields with model__repr__, #3234 by @cocolman - models copied via
Config.copy_on_model_validationalways take all fields, #3201 past @PrettyWood - nested ORM from nested dictionaries, #3182 by @PrettyWood
- prepare link to discriminated union section by @PrettyWood
v1.nine.0a1 (2021-12-18) Changes
- Add support for
Decimal-specific validation configurations inField(), additionally to usingcondecimal(), to permit better support from editors and tooling, #3507 past @tiangolo - Add together
arm64binaries suitable for MacOS with an M1 CPU to PyPI, #3498 past @samuelcolvin - Fix result where
Nonewas considered invalid when using aUniontype containingAnyorobject, #3444 by @tharradine - When generating field schema, pass optional
fieldargument (of typepydantic.fields.ModelField) to__modify_schema__()if nowadays, #3434 past @jasujm - Prepare issue when pydantic fail to parse
typing.ClassVarstring blazon note, #3401 by @uriyyo - Mention Python >= three.nine.2 as an alternative to
typing_extensions.TypedDict, #3374 by @BvB93 - Changed the validator method proper noun in the Custom Errors instance to more accurately describe what the validator is doing; changed from
name_must_contain_spacetovalue_must_equal_bar, #3327 by @michaelrios28 - Add together
AmqpDsncourse, #3254 past @kludex - Always use
Enumvalue equally default in generated JSON schema, #3190 by @joaommartins - Add support for Mypy 0.920, #3175 by @christianbundy
-
validate_argumentsnow supportsactresscustomization (used to always beExtra.forbid), #3161 by @PrettyWood - Circuitous types can be set by nested environment variables, #3159 past @Air-Mark
- Fix mypy plugin to collect fields based on
pydantic.utils.is_valid_fieldand so that it ignores untyped private variables, #3146 by @hi-ogawa - fix
validate_argumentsconsequence withConfig.validate_all, #3135 past @PrettyWood - avoid dict compulsion when using dict subclasses as field type, #3122 by @PrettyWood
- add support for
objecttype, #3062 by @PrettyWood - Updates pydantic dataclasses to keep
_specialbackdrop on parent classes, #3043 past @zulrang - Add a
TypedDictclass for mistake objects, #3038 by @matthewhughes934 - Prepare support for using a subclass of an notation as a default, #3018 past @JacobHayes
- brand
create_model_from_typeddictmypy compliant, #3008 past @PrettyWood - Make multiple inheritance piece of work when using
PrivateAttr, #2989 by @hmvp - Parse environment variables as JSON, if they have a
Unionblazon with a complex subfield, #2936 past @cbartz - Preclude
StrictStrpermittingEnumvalues where the enum inherits fromstr, #2929 past @samuelcolvin - Make
SecretsSettingsSourceparse values beingness assigned to fields of circuitous types when sourced from a secrets file, simply as when sourced from environment variables, #2917 by @davidmreed - add a dark manner to pydantic documentation, #2913 by @gbdlin
- Make
pydantic-mypyplugin compatible withpyproject.tomlconfiguration, consistent withmypychanges. See the doctor for more than information, #2908 by @jrwalk - add python 3.10 support, #2885 by @PrettyWood
- Correctly parse generic models with
Json[T], #2860 by @geekingfrog - Update contrib docs re: python version to use for edifice docs, #2856 by @paxcodes
- Clarify documentation about pydantic'south support for custom validation and strict blazon checking, despite pydantic being primarily a parsing library, #2855 by @paxcodes
- Fix schema generation for
Dequefields, #2810 by @sergejkozin - fix an edge case when mixing constraints and
Literal, #2794 past @PrettyWood - Gear up postponed annotation resolution for
NamedTupleandTypedDictwhen they're used straight as the type of fields inside Pydantic models, #2760 by @jameysharp - Fix bug when
mypyplugin fails onconstructmethod telephone call forBaseSettingsderived classes, #2753 by @uriyyo - Add function overloading for a
pydantic.create_modelfunction, #2748 past @uriyyo - Set mypy plugin issue with self field proclamation, #2743 past @uriyyo
- The colon at the cease of the line "The fields which were supplied when user was initialised:" suggests that the code post-obit information technology is related. Changed it to a period, #2733 by @krisaoe
- Renamed variable
schematoschema_to avoid shadowing of global variable name, #2724 by @shahriyarr - Add support for autocomplete in VS Code via
__dataclass_transform__, #2721 past @tiangolo - add missing type annotations in
BaseConfigand handlemax_length = 0, #2719 past @PrettyWood - Change
orm_modechecking to allow recursive ORM mode parsing with dicts, #2718 by @nuno-andre - Add episode 313 of the Talk Python To Me podcast, where Michael Kennedy and Samuel Colvin discuss pydantic, to the docs, #2712 by @RatulMaharaj
- gear up JSON schema generation when a field is of type
NamedTupleand has a default value, #2707 by @PrettyWood -
Enumfields at present properly support extra kwargs in schema generation, #2697 by @sammchardy - Make serialization of referenced pydantic models possible, #2650 past @PrettyWood
- Add
uniqueItemspick toConstrainedList, #2618 past @nuno-andre - Try to evaluate forward refs automatically at model cosmos, #2588 by @uriyyo
- Switch docs preview and coverage display to use smokeshow, #2580 past @samuelcolvin
- Add
__version__aspect to pydantic module, #2572 by @paxcodes - Add
postgresql+asyncpg,postgresql+pg8000,postgresql+psycopg2,postgresql+psycopg2cffi,postgresql+py-postgresqlandpostgresql+pygresqlschemes forPostgresDsn, #2567 by @postgres-asyncpg - Enable the Hypothesis plugin to generate a constrained decimal when the
decimal_placesargument is specified, #2524 by @cwe5590 - Allow
collections.abc.Callableto be used every bit blazon in python 3.9, #2519 past @daviskirk - Documentation update how to custom compile pydantic when using pip install, small change in
setup.pyto allow for custom CFLAGS when compiling, #2517 by @peterroelants - remove side effect of
default_factoryto run it only in one case fifty-fifty ifConfig.validate_allis set, #2515 by @PrettyWood - Add lookahead to ip regexes for
AnyUrlhosts. This allows urls with DNS labels looking similar IPs to validate as they are perfectly valid host names, #2512 by @sbv-csis - Set
minItemsandmaxItemsin generated JSON schema for stock-still-length tuples, #2497 by @PrettyWood - Add
strictargument toconbytes, #2489 by @koxudaxi - Support user defined generic field types in generic models, #2465 by @daviskirk
- Add together an example and a brusque caption of subclassing
GetterDictto docs, #2463 by @nuno-andre - add together
KafkaDsntype,HttpUrlnow has default port lxxx for http and 443 for https, #2447 by @MihanixA - Add
PastDateandFutureDatetypes, #2425 past @Kludex - Support generating schema for
Genericfields with subtypes, #2375 by @maximberg - set(encoder): serialize
NameEmailto str, #2341 past @alecgerona - add together
Config.smart_unionto preclude coercion inMarriageif possible, come across the doc for more information, #2092 by @PrettyWood - Add ability to use
typing.Counteras a model field type, #2060 by @uriyyo - Add parameterised subclasses to
__bases__when constructing new parameterised classes, so thatA <: B => A[int] <: B[int], #2007 by @diabolo-dan - Create
FileUrlblazon that allows URLs that conform to RFC 8089. Addhost_requiredparameter, which isTrueby default (AnyUrland subclasses),FalseinRedisDsn,FileUrl, #1983 by @vgerak - add
confrozenset(), coordinating toconset()andconlist(), #1897 by @PrettyWood - stop calling parent class
root_validatorif overridden, #1895 past @PrettyWood - Add together
repr(defaults toTruthful) parameter toField, to hide it from the default representation of theBaseModel, #1831 by @fnep - Accept empty query/fragment URL parts, #1807 by @xavier
v1.eight.2 (2021-05-11)
!!! alarm A security vulnerability, level "moderate" is fixed in v1.viii.2. Please upgrade ASAP. See security advisory CVE-2021-29510
- Security gear up: Fix
dateanddatetimeparsing and so passing either'infinity'orbladder('inf')(or their negative values) does not cause an space loop, see security advisory CVE-2021-29510 - prepare schema generation with Enum by generating a valid proper name, #2575 past @PrettyWood
- fix JSON schema generation with a
Literalof an enum member, #2536 by @PrettyWood - Ready problems with configurations declarations that are passed as keyword arguments during class cosmos, #2532 by @uriyyo
- Allow passing
json_encodersin class kwargs, #2521 by @layday - support arbitrary types with custom
__eq__, #2483 by @PrettyWood - support
Annotatedinvalidate_argumentsand in generic models with python 3.9, #2483 by @PrettyWood
v1.8.i (2021-03-03)
Issues fixes for regressions and new features from v1.8
- allow elements of
Config.fieldto update elements of aField, #2461 by @samuelcolvin - fix validation with a
BaseModelfield and a custom root blazon, #2449 by @PrettyWood - expose
Patternencoder tofastapi, #2444 by @PrettyWood - enable the Hypothesis plugin to generate a constrained float when the
multiple_ofargument is specified, #2442 by @tobi-lipede-oodle - Avoid
RecursionErrorwhen using some types likeEnumorLiteralwith generic models, #2436 by @PrettyWood - practise not overwrite declared
__hash__in subclasses of a model, #2422 by @PrettyWood - prepare
mypycomplaints onPathandUUIDrelated custom types, #2418 by @PrettyWood - Support properly variable length tuples of compound types, #2416 by @PrettyWood
v1.8 (2021-02-26)
Thank you lot to pydantic'due south sponsors: @jorgecarleitao, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @koxudaxi, @timdrijvers, @mkeen, @meadsteve, @ginomempin, @primer-io, @and-semakin, @tomthorogood, @AjitZK, @westonsteimel, @Mazyod, @christippett, @CarlosDomingues, @Kludex, @r-m-north for their kind support.
Highlights
- Hypothesis plugin for testing, #2097 by @Zac-Hd
- support for
NamedTupleandTypedDict, #2216 past @PrettyWood - Support
Annotatedhints on model fields, #2147 by @JacobHayes -
frozenparameter onConfigto permit models to exist hashed, #1880 past @rhuille
Changes
- Breaking Change, remove sometime deprecation aliases from v1, #2415 by @samuelcolvin:
- remove notes on migrating to v1 in docs
- remove
Schemawhich was replaced byField - remove
Config.case_insensitivewhich was replaced pastConfig.case_sensitive(defaultFalse) - remove
Config.allow_population_by_aliaswhich was replaced byConfig.allow_population_by_field_name - remove
model.fieldswhich was replaced pastmodel.__fields__ - remove
model.to_string()which was replaced bystr(model) - remove
model.__values__which was replaced bymodel.__dict__
- Breaking Change: e'er validate only first sublevel items with
each_item. There were indeed some edge cases with some chemical compound types where the validated items were the last sublevel ones, #1933 by @PrettyWood - Update docs extensions to fix local syntax highlighting, #2400 past @daviskirk
- fix: allow
utils.lenient_issubclassto handletyping.GenericAliasobjects similarlisting[str]in python >= iii.9, #2399 by @daviskirk - Improve field declaration for pydantic
dataclassby allowing the usage of pydanticFieldor'metadata'kwarg ofdataclasses.field, #2384 past @PrettyWood - Making
typing-extensionsa required dependency, #2368 past @samuelcolvin - Make
resolve_annotationsmore lenient, allowing for missing modules, #2363 past @samuelcolvin - Allow configuring models through class kwargs, #2356 by @Bobronium
- Prevent
Mappingsubclasses from always being coerced todict, #2325 past @ofek - fix: allow
Nonefor typeOptional[conset / conlist], #2320 past @PrettyWood - Support empty tuple blazon, #2318 by @PrettyWood
- fix:
python_requiresmetadata to require >=3.6.1, #2306 by @hukkinj1 - Properly encode
Decimalwith, or without any decimal places, #2293 by @hultner - fix: update
__fields_set__inBaseModel.re-create(update=…), #2290 by @PrettyWood - prepare: proceed order of fields with
BaseModel.construct(), #2281 by @PrettyWood - Support generating schema for Generic fields, #2262 by @maximberg
- Fix
validate_decoratorso**kwargsdoesn't exclude values when the keyword has the aforementioned name as the*argsor**kwargsnames, #2251 past @cybojenix - Prevent overriding positional arguments with keyword arguments in
validate_arguments, as per behaviour with native functions, #2249 by @cybojenix - add together documentation for
con*type functions, #2242 past @tayoogunbiyi - Support custom root blazon (aka
__root__) when usingparse_obj()with nested models, #2238 by @PrettyWood - Support custom root blazon (aka
__root__) withfrom_orm(), #2237 by @PrettyWood - ensure cythonized functions are left untouched when creating models, based on #1944 by @kollmats, #2228 by @samuelcolvin
- Resolve forward refs for stdlib dataclasses converted into pydantic ones, #2220 by @PrettyWood
- Add support for
NamedTupleandTypedDicttypes. Those two types are now handled and validated when used insideBaseModelor pydanticdataclass. 2 utils are also addedcreate_model_from_namedtupleandcreate_model_from_typeddict, #2216 past @PrettyWood - Practise non ignore annotated fields when blazon is
Union[Type[...], ...], #2213 by @PrettyWood - Heighten a user-friendly
TypeErrorwhen aroot_validatordoes not return adict(due east.m.None), #2209 past @masalim2 - Add a
FrozenSet[str]type annotation to theallowed_schemesstatement on thestrict_urlfield type, #2198 by @Midnighter - add
allow_mutationconstraint toField, #2195 past @sblack-usu - Let
Fieldwith adefault_factoryto be used as an argument to a function decorated withvalidate_arguments, #2176 by @thomascobb - Allow non-real secrets directory by merely issuing a warning, #2175 by @davidolrik
- fix URL regex to parse fragment without query string, #2168 past @andrewmwhite
- fix: ensure to always return i of the values in
Literalfield type, #2166 past @PrettyWood - Back up
typing.Annotatedhints on model fields. AFieldmay now exist set in the type hint withAnnotated[..., Field(...); all other annotations are ignored simply still visible withget_type_hints(..., include_extras=True), #2147 by @JacobHayes - Added
StrictBytestype also every bitstrict=Falseselection toConstrainedBytes, #2136 by @rlizzo - added
Config.anystr_lowerandto_lowerkwarg toconstrandconbytes, #2134 by @tayoogunbiyi - Support evidently
typing.Tupletype, #2132 past @PrettyWood - Add together a bound method
validateto functions decorated withvalidate_argumentsto validate parameters without actually calling the office, #2127 by @PrettyWood - Add the ability to customize settings sources (add together / disable / change priority gild), #2107 by @kozlek
- Set mypy complaints about most custom pydantic types, #2098 by @PrettyWood
- Add a Hypothesis plugin for easier property-based testing with Pydantic's custom types - usage details here, #2097 by @Zac-HD
- add validator for
None,NoneTypeorLiteral[None], #2095 past @PrettyWood - Handle properly fields of blazon
Callablewith a default value, #2094 past @PrettyWood - Updated
create_modelrender type notation to return type which inherits from__base__argument, #2071 by @uriyyo - Add together merged
json_encodersinheritance, #2064 by @art049 - allow overwriting
ClassVars in sub-models without having to re-annotate them, #2061 past @layday - add together default encoder for
Patterntype, #2045 by @PrettyWood - Add
NonNegativeInt,NonPositiveInt,NonNegativeFloat,NonPositiveFloat, #1975 past @mdavis-xyz - Use % for percentage in string format of colors, #1960 past @EdwardBetts
- Fixed effect causing
KeyErrorto be raised when building schema from multipleBaseModelwith the same names declared in separate classes, #1912 by @JSextonn - Add
rediss(Redis over SSL) protocol toRedisDsnPermit URLs withoutuserpart (east.yard.,rediss://:pass@localhost), #1911 by @TrDex - Add a new
frozenboolean parameter toConfig(default:Faux). Settingfrozen=Truthfuldoes everything thatallow_mutation=Falsedoes, and also generates a__hash__()method for the model. This makes instances of the model potentially hashable if all the attributes are hashable, #1880 by @rhuille - ready schema generation with multiple Enums having the aforementioned name, #1857 by @PrettyWood
- Added support for xiii/19 digits VISA credit cards in
PaymentCardNumbertype, #1416 past @AlexanderSov - prepare: prevent
RecursionErrorwhile using recursiveGenericModeldue south, #1370 past @xppt - use
enumfortyping.Literalin JSON schema, #1350 by @PrettyWood - Fix: some recursive models did not require
update_forward_refsand silently behaved incorrectly, #1201 by @PrettyWood - Fix bug where generic models with fields where the typevar is nested in some other type
a: Listing[T]are considered to exist concrete. This allows these models to be subclassed and composed as expected, #947 past @daviskirk - Add
Config.copy_on_model_validationflag. When fix toImitation, pydantic will keep models used as fields untouched on validation instead of reconstructing (copying) them, #265 by @PrettyWood
v1.7.four (2021-05-11)
- Security fix: Fix
engagementanddatetimeparsing so passing either'infinity'orfloat('inf')(or their negative values) does non cause an infinite loop, Come across security advisory CVE-2021-29510
v1.7.3 (2020-11-30)
Thanks to pydantic'due south sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api, @mkeen, @meadsteve for their kind back up.
- fix: prepare right default value for required (optional) fields, #2142 by @PrettyWood
- fix: support
underscore_attrs_are_privatewith generic models, #2138 by @PrettyWood - fix: update all modified field values in
root_validatorwhenvalidate_assignmentis on, #2116 by @PrettyWood - Allow pickling of
pydantic.dataclasses.dataclassdynamically created from a built-indataclasses.dataclass, #2111 by @aimestereo - Gear up a regression where Enum fields would not propagate keyword arguments to the schema, #2109 by @bm424
- Ignore
__doc__as individual attribute whenConfig.underscore_attrs_are_privateis set, #2090 by @PrettyWood
v1.7.2 (2020-11-01)
- set slow
GenericModelconcrete model creation, permitGenericModelconcrete proper noun reusing in module, #2078 by @Bobronium - keep the order of the fields when
validate_assignmentis set, #2073 by @PrettyWood - forward all the params of the stdlib
dataclasswhen converted into pydanticdataclass, #2065 past @PrettyWood
v1.7.1 (2020-10-28)
Cheers to pydantic's sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api, @mkeen for their kind back up.
- gear up notation of
validate_argumentswhen passing configuration equally argument, #2055 by @layday - Prepare mypy consignment error when using
PrivateAttr, #2048 by @aphedges - fix
underscore_attrs_are_privatecausingTypeErrorwhen overriding__init__, #2047 by @samuelcolvin - Stock-still regression introduced in v1.seven involving exception handling in field validators when
validate_assignment=True, #2044 by @johnsabath - fix: pydantic
dataclasstin can inherit from stdlibdataclassandConfig.arbitrary_types_allowedis supported, #2042 by @PrettyWood
v1.7 (2020-10-26)
Thank y'all to pydantic's sponsors: @timdrijvers, @BCarley, @chdsbd, @tiangolo, @matin, @linusg, @kevinalh, @jorgecarleitao, @koxudaxi, @primer-api for their kind support.
Highlights
- python 3.ix support, thanks @PrettyWood
- Individual model attributes, thanks @Bobronium
- "secrets files" back up in
BaseSettings, thanks @mdgilene - convert stdlib dataclasses to pydantic dataclasses and employ stdlib dataclasses in models, thanks @PrettyWood
Changes
- Breaking Modify: remove
__field_defaults__, adddefault_factorysupport withBaseModel.construct. Use.get_default()method on fields in__fields__aspect instead, #1732 by @PrettyWood - Rearrange CI to run linting as a split up chore, split install recipes for different tasks, #2020 by @samuelcolvin
- Allows subclasses of generic models to make some, or all, of the superclass's blazon parameters physical, while too defining new type parameters in the subclass, #2005 by @choogeboom
- Call validator with the right
valuesparameter type inBaseModel.__setattr__, whenvalidate_assignment = Truein model config, #1999 by @me-ransh - Forcefulness
fields.Undefinedto be a singleton object, fixing inherited generic model schemas, #1981 by @daviskirk - Include tests in source distributions, #1976 by @sbraz
- Add power to use
min_length/max_lengthconstraints with secret types, #1974 by @uriyyo - As well check
root_validatorswhenvalidate_assignmentis on, #1971 by @PrettyWood - Fix const validators not running when custom validators are present, #1957 by @hmvp
- add
dequeto field types, #1935 by @wozniakty - add together basic support for python 3.9, #1832 by @PrettyWood
- Fix typo in the anchor of exporting_models.md#modelcopy and incorrect description, #1821 by @KimMachineGun
- Added power for
BaseSettingsto read "undercover files", #1820 by @mdgilene - add
parse_raw_asutility function, #1812 by @PrettyWood - Support home directory relative paths for
dotenvfiles (e.yard.~/.env), #1803 by @PrettyWood - Clarify documentation for
parse_fileto bear witness that the argument should exist a file path non a file-like object, #1794 past @mdavis-xyz - Ready faux positive from mypy plugin when a class nested inside a
BaseModelis namedModel, #1770 by @selimb - add basic support of Pattern type in schema generation, #1767 past @PrettyWood
- Support custom title, clarification and default in schema of enums, #1748 by @PrettyWood
- Properly represent
LiteralEnums whenuse_enum_valuesis True, #1747 by @noelevans - Allows timezone information to be added to strings to be formatted as fourth dimension objects. Permitted formats are
Zfor UTC or an offset for accented positive or negative fourth dimension shifts. Or the timezone data can be omitted, #1744 by @noelevans - Add stub
__init__with python 3.6 signature forForwardRef, #1738 by @sirtelemak - Fix behaviour with forward refs and optional fields in nested models, #1736 by @PrettyWood
- add
EnumandIntEnumevery bit valid types for fields, #1735 by @PrettyWood - Alter default value of
__module__argument ofcreate_modelfromNoneto'pydantic.main'. Prepare reference of created concrete model to it'south module to let pickling (not applied to models created in functions), #1686 by @Bobronium - Add together private attributes back up, #1679 past @Bobronium
- add together
configto@validate_arguments, #1663 past @samuelcolvin - Permit descendant Settings models to override env variable names for the fields defined in parent Settings models with
envin theirConfig. Previously onlyenv_prefixconfiguration pick was applicable, #1561 by @ojomio - Back up
ref_templatewhen creating schema$refsouth, #1479 by @kilo59 - Add a
__call__stub toPyObjectthen that mypy will know that information technology is callable, #1352 past @brianmaissy -
pydantic.dataclasses.dataclassdecorator now supports congenital-indataclasses.dataclass. It is hence possible to convert an existingdataclasseasily to add pydantic validation. Moreover nested dataclasses are besides supported, #744 past @PrettyWood
v1.six.two (2021-05-xi)
- Security gear up: Fix
dateanddatetimeparsing so passing either'infinity'orfloat('inf')(or their negative values) does not cause an infinite loop, See security advisory CVE-2021-29510
v1.six.1 (2020-07-15)
- prepare validation and parsing of nested models with
default_factory, #1710 by @PrettyWood
v1.6 (2020-07-11)
Thank you to pydantic's sponsors: @matin, @tiangolo, @chdsbd, @jorgecarleitao, and i anonymous sponsor for their kind support.
- Alter validators for
conlistandconsetto not havealways=True, #1682 by @samuelcolvin - add port cheque to
AnyUrl(can't exceed 65536) ports are 16 insigned $.25:0 <= port <= ii**16-1src: rfc793 header format, #1654 by @flapili - Document default
regexanchoring semantics, #1648 by @yurikhan - Use
chain.from_iterablein class_validators.py. This is a faster and more idiomatic style of usingitertools.chain. Instead of calculating all the items in the iterable and storing them in retentiveness, they are computed one-past-ane and never stored as a huge listing. This can relieve on both runtime and memory infinite, #1642 past @absurd-RR - Add
conset(), analogous toconlist(), #1623 by @patrickkwang - make pydantic errors (un)pickable, #1616 by @PrettyWood
- Allow custom encoding for
dotenvfiles, #1615 by @PrettyWood - Ensure
SchemaExtraCallableis ever defined to go type hints on BaseConfig, #1614 past @PrettyWood - Update datetime parser to support negative timestamps, #1600 by @mlbiche
- Update mypy, remove
AnyTypealias forType[Any], #1598 by @samuelcolvin - Accommodate 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 by @beezee
- Make
__modify_schema__on Enums apply to the enum schema rather than fields that use the enum, #1581 past @therefromhere - Gear up behavior of
__all__key when used in conjunction with index keys in advanced include/exclude of fields that are sequences, #1579 by @xspirus - Subclass validators practice non run when referencing a
Listfield defined in a parent class wheneach_item=True. Added an instance to the docs illustrating this, #1566 by @samueldeklund - alter
schema.field_class_to_schemato back upfrozensetin schema, #1557 past @wangpeibao - Telephone call
__modify_schema__just for the field schema, #1552 by @PrettyWood - Movement the consignment of
field.validate_alwaysinfields.pythen thealwaysparameter of validators work on inheritance, #1545 past @dcHHH - Added support for UUID instantiation through sixteen byte strings such as
b'\x12\x34\x56\x78' * 4. This was washed to supportBINARY(xvi)columns in sqlalchemy, #1541 past @shawnwall - Add a exam assertion that
default_factorytin render a singleton, #1523 by @therefromhere - Add
NameEmail.__eq__so duplicateNameEmailinstances are evaluated as equal, #1514 past @stephen-bunn - Add together datamodel-code-generator link in pydantic document site, #1500 by @koxudaxi
- Added a "Discussion of Pydantic" section to the documentation, with a link to "Pydantic Introduction" video by Alexander Hultnér, #1499 by @hultner
- Avert some side effects of
default_factoryby calling information technology only once if possible and past not setting a default value in the schema, #1491 by @PrettyWood - Added docs about dumping dataclasses to JSON, #1487 past @mikegrima
- Make
BaseModel.__signature__class-only, so getting__signature__from model case will heightenAttributeError, #1466 by @Bobronium - include
'format': 'password'in the schema for clandestine types, #1424 by @atheuz - Change schema constraints on
ConstrainedFloatso thatexclusiveMinimumand minimum are not included in the schema if they are equal to-math.infandexclusiveMaximumandmaximumare non included if they are equal tomath.inf, #1417 by @vdwees - Squash internal
__root__dicts in.dict()(and, by extension, in.json()), #1414 by @patrickkwang - Move
constvalidator to post-validators so information technology validates the parsed value, #1410 by @selimb - Set up model validation to handle nested literals, eastward.g.
Literal['foo', Literal['bar']], #1364 by @DBCerigo - Remove
user_required = TruefromRedisDsn, neither user nor countersign are required, #1275 by @samuelcolvin - Remove extra
allOffrom schema for fields withUnionand customField, #1209 by @mostaphaRoudsari - Updates OpenAPI schema generation to output all enums as separate models. Instead of inlining the enum values in the model schema, models at present use a
$refproperty to point to the enum definition, #1173 past @calvinwyoung
v1.v.1 (2020-04-23)
- Signature generation with
extra: letnever uses a field name, #1418 by @prettywood - Avoid mutating
Fielddefault value, #1412 by @prettywood
v1.5 (2020-04-eighteen)
- Brand includes/excludes arguments for
.dict(),._iter(), ..., immutable, #1404 by @AlexECX - E'er use a field's real name with includes/excludes in
model._iter(), regardless ofby_alias, #1397 by @AlexECX - Update constr regex instance to include start and end lines, #1396 past @lmcnearney
- Confirm that shallow
model.copy()does make a shallow copy of attributes, #1383 by @samuelcolvin - Renaming
model_nameargument ofprincipal.create_model()to__model_nameto allow usingmodel_nameas a field name, #1367 past @kittipatv - Supervene upon raising of exception to silent passing for non-Var attributes in mypy plugin, #1345 past @b0g3r
- Remove
typing_extensionsdependency for python iii.eight, #1342 by @prettywood - Make
SecretStrandSecretBytesinitialization idempotent, #1330 by @atheuz - certificate making secret types dumpable using the json method, #1328 by @atheuz
- Movement all testing and build to github deportment, add windows and macos binaries, thank you lot @StephenBrown2 for much help, #1326 by @samuelcolvin
- gear up card number length check in
PaymentCardNumber,PaymentCardBrandat present inherits fromstr, #1317 by @samuelcolvin - Have
BaseModelinherit fromRepresentationto brand mypy happy when overriding__str__, #1310 by @FuegoFro - Permit
Noneas input to all optional list fields, #1307 past @prettywood - Add
datetimefield todefault_factoryexample, #1301 past @StephenBrown2 - Let subclasses of known types to be encoded with superclass encoder, #1291 past @StephenBrown2
- Exclude exported fields from all elements of a list/tuple of submodels/dicts with
'__all__', #1286 by @masalim2 - Add together pydantic.colour.Color objects equally available input for Colour fields, #1258 by @leosussan
- In examples, type nullable fields as
Optional, so that these are valid mypy annotations, #1248 by @kokes - Make
pattern_validator()accept pre-compiledPatternobjects. Fixstr_validator()return type tostr, #1237 by @adamgreg - Document how to manage Generics and inheritance, #1229 by @esadruhn
-
update_forward_refs()method of BaseModel now copies__dict__of grade module instead of modyfying it, #1228 past @paul-ilyin - Support instance methods and class methods with
@validate_arguments, #1222 by @samuelcolvin - Add
default_factoryargument toFieldto create a dynamic default value by passing a naught-argument callable, #1210 by @prettywood - add support for
NewTypeofList,Optional, etc, #1207 by @Kazy - fix mypy signature for
root_validator, #1192 past @samuelcolvin - Fixed parsing of nested 'custom root blazon' models, #1190 past @Shados
- Add together
validate_argumentsfunction decorator which checks the arguments to a function matches type annotations, #1179 by @samuelcolvin - Add together
__signature__to models, #1034 by @Bobronium - Refactor
._iter()method, 10x speed boost fordict(model), #1017 by @Bobronium
v1.4 (2020-01-24)
- Breaking Alter: alias precedence logic changed so aliases on a field always take priority over an alias from
alias_generatorto avoid buggy/unexpected behaviour, see here for details, #1178 by @samuelcolvin - Add support for unicode and punycode in TLDs, #1182 by @jamescurtin
- Fix
clsargument in validators during assignment, #1172 past @samuelcolvin - completing Luhn algorithm for
PaymentCardNumber, #1166 by @cuencandres - add support for generics that implement
__get_validators__like a custom data type, #1159 past @tiangolo - add support for space generators with
Iterable, #1152 by @tiangolo - fix
url_regexto accept schemas with+,-and.afterwards the first grapheme, #1142 by @samuelcolvin - move
version_info()toversion.py, suggest its utilize in issues, #1138 past @samuelcolvin - Improve pydantic import time by roughly 50% past deferring some module loading and regex compilation, #1127 by @samuelcolvin
- Prepare
EmailStrandNameEmailto have instances of themselves in cython, #1126 by @koxudaxi - Laissez passer model class to the
Config.schema_extracallable, #1125 by @therefromhere - Fix regex for username and password in URLs, #1115 by @samuelcolvin
- Add support for nested generic models, #1104 by @dmontagu
- add
__all__to__init__.pyto prevent "implicit reexport" errors from mypy, #1072 by @samuelcolvin - Add back up for using "dotenv" files with
BaseSettings, #1011 by @acnebs
v1.3 (2019-12-21)
- Change
schemaandschema_modelto handle dataclasses past using their__pydantic_model__characteristic, #792 past @aviramha - Added choice for
root_validatorto be skipped if values validation fails using keywordskip_on_failure=True, #1049 past @aviramha - Allow
Config.schema_extrato be a callable so that the generated schema tin can be post-processed, #1054 by @selimb - Update mypy to version 0.750, #1057 past @dmontagu
- Trick Cython into allowing str subclassing, #1061 by @skewty
- Forbid blazon attributes being added to schema unless the attribute
__schema_attributes__isTrue, #1064 past @samuelcolvin - Modify
BaseModel.parse_fileto applyConfig.json_loads, #1067 by @kierandarcy - Fix for optional
Jsonfields, #1073 by @volker48 - Change the default number of threads used when compiling with cython to i, let override via the
CYTHON_NTHREADSenvironment variable, #1074 past @samuelcolvin - Run FastAPI tests during Pydantic'south CI tests, #1075 by @tiangolo
- My mypy strictness constraints, and associated tweaks to type annotations, #1077 by @samuelcolvin
- Add
__eq__to SecretStr and SecretBytes to allow "value equals", #1079 by @sbv-trueenergy - Fix schema generation for nested None case, #1088 by @lutostag
- Consistent checks for sequence like objects, #1090 by @samuelcolvin
- Fix
Configinheritance onBaseSettingswhen used withenv_prefix, #1091 past @samuelcolvin - Fix for
__modify_schema__when it conflicted withfield_class_to_schema*, #1102 by @samuelcolvin - docs: Fix explanation of case sensitive surroundings variable names when populating
BaseSettingssubclass attributes, #1105 by @tribals - Rename django-residuum-framework benchmark in documentation, #1119 by @frankie567
v1.2 (2019-11-28)
- Possible Breaking Change: Add support for required
Optionalwithname: Optional[AnyType] = Field(...)and refactorModelFieldcreation to preserverequiredparameter value, #1031 by @tiangolo; run across here for details - Add benchmarks for
cattrs, #513 by @sebastianmika - Add
exclude_noneoption todict()and friends, #587 past @niknetniko - Add benchmarks for
valideer, #670 by @gsakkis - Add
parse_obj_asandparse_file_asfunctions for ad-hoc parsing of data into arbitrary pydantic-compatible types, #934 past @dmontagu - Add together
allow_reusestatement to validators, thus allowing validator reuse, #940 past @dmontagu - Add together support for mapping types for custom root models, #958 by @dmontagu
- Mypy plugin back up for dataclasses, #966 by @koxudaxi
- Add together support for dataclasses default factory, #968 by @ahirner
- Add a
ByteSizetype for converting byte string (1GB) to apparently bytes, #977 past @dgasmith - Set mypy complaint near
@root_validator(pre=True), #984 by @samuelcolvin - Add manylinux binaries for python iii.8 to pypi, besides support manylinux2010, #994 by @samuelcolvin
- Adds ByteSize conversion to another unit, #995 past @dgasmith
- Prepare
__str__and__repr__inheritance for models, #1022 by @samuelcolvin - add testimonials section to docs, #1025 by @sullivancolin
- Add support for
typing.Literalfor Python 3.8, #1026 past @dmontagu
v1.1.1 (2019-eleven-20)
- Fix bug where use of complex fields on sub-models could cause fields to exist incorrectly configured, #1015 past @samuelcolvin
v1.i (2019-xi-07)
- Add a mypy plugin for type checking
BaseModel.__init__and more, #722 by @dmontagu - Alter return type typehint for
GenericModel.__class_getitem__to forbid PyCharm warnings, #936 by @dmontagu - Prepare usage of
Anyto allowNone, also supportTypeVarthus allowing employ of un-parameterised collection types due east.g.DictandList, #962 by @samuelcolvin - Ready
FieldInfoon subfields to set schema generation for complex nested types, #965 by @samuelcolvin
v1.0 (2019-10-23)
- Breaking Change: deprecate the
Model.fieldsholding, utilizeModel.__fields__instead, #883 past @samuelcolvin - Breaking Change: Change the precedence of aliases so child model aliases override parent aliases, including using
alias_generator, #904 by @samuelcolvin - Breaking modify: Rename
skip_defaultstoexclude_unset, and add ability to exclude actual defaults, #915 by @dmontagu - Add
**kwargstopydantic.principal.ModelMetaclass.__new__and then__init_subclass__can take custom parameters on extendedBaseModelclasses, #867 by @retnikt - Fix field of a blazon that has a default value, #880 past @koxudaxi
- Utilize
FutureWarninginstead ofDeprecationWarningwhenallonyminstead ofenvis used for settings models, #881 past @samuelcolvin - Fix effect with
BaseSettingsinheritance andaliasgetting fix toNone, #882 past @samuelcolvin - Modify
__repr__and__str__methods to exist consistent beyond all public classes, add together__pretty__to support python-devtools, #884 by @samuelcolvin - deprecation warning for
case_insensitiveonBaseSettingsconfig, #885 by @samuelcolvin - For
BaseSettingsmerge environment variables and in-lawmaking values recursively, as long as they create a valid object when merged together, to allow splitting init arguments, #888 by @idmitrievsky - alter hugger-mugger types example, #890 by @ashears
- Modify the signature of
Model.construct()to be more user-friendly, documentconstruct()usage, #898 past @samuelcolvin - Add example for the
construct()method, #907 by @ashears - Ameliorate apply of
Fieldconstraints on complex types, raise an fault if constraints are not enforceable, also support tuples with an ellipsisTuple[X, ...],SequenceandFrozenSetin schema, #909 by @samuelcolvin - update docs for bool missing valid value, #911 by @trim21
- Better
str/reprlogic forModelField, #912 by @samuelcolvin - Fix
ConstrainedList, update schema generation to reflectmin_itemsandmax_itemsField()arguments, #917 by @samuelcolvin - Allow abstracts sets (eg. dict keys) in the
includeandexcludearguments ofdict(), #921 by @samuelcolvin - Ready JSON serialization errors on
ValidationError.json()past usingpydantic_encoder, #922 past @samuelcolvin - Clarify usage of
remove_untouched, improve error message for types with no validators, #926 by @retnikt
v1.0b2 (2019-10-07)
- Mark
StrictBooltypecheck every bitboolto let for default values without mypy errors, #690 past @dmontagu - Transfer the documentation build from sphinx to mkdocs, re-write much of the documentation, #856 by @samuelcolvin
- Add back up for custom naming schemes for
GenericModelsubclasses, #859 by @dmontagu - Add
if TYPE_CHECKING:to the excluded lines for examination coverage, #874 by @dmontagu - Rename
allow_population_by_aliastoallow_population_by_field_name, remove unnecessary warning virtually it, #875 by @samuelcolvin
v1.0b1 (2019-10-01)
- Breaking Change: rename
SchematoField, make it a role to placate mypy, #577 by @samuelcolvin - Breaking Change: modify parsing behavior for
bool, #617 by @dmontagu - Breaking Change:
get_validatorsis no longer recognised, utilise__get_validators__.Config.ignore_extraandConfig.allow_extraare no longer recognised, utiliseConfig.extra, #720 past @samuelcolvin - Breaking Change: change default config settings for
BaseSettings;case_insensitiverenamed tocase_sensitive, default inverse tocase_sensitive = False,env_prefixdefault inverse to''- e.thousand. no prefix, #721 by @dmontagu - Breaking alter: Implement
root_validatorand rename root errors from__obj__to__root__, #729 by @samuelcolvin - Breaking Change: alter the behaviour of
dict(model)so that sub-models are nolonger converted to dictionaries, #733 by @samuelcolvin - Breaking alter: Added
initvarssupport topost_init_post_parse, #748 by @Raphael-C-Almeida - Breaking Change: Make
BaseModel.json()only serialize the__root__fundamental for models with custom root, #752 by @dmontagu - Breaking Change: complete rewrite of
URLparsing logic, #755 by @samuelcolvin - Breaking Alter: preserve superclass annotations for field-determination when not provided in bracket, #757 by @dmontagu
- Breaking Change:
BaseSettingsnow uses the specialenvsettings to define which environment variables to read, not aliases, #847 by @samuelcolvin - add together back up for
assertstatements inside validators, #653 past @abdusco - Update documentation to specify the use of
pydantic.dataclasses.dataclassand subclassingpydantic.BaseModel, #710 past @maddosaurus - Allow custom JSON decoding and encoding via
json_loadsandjson_dumpsConfigproperties, #714 by @samuelcolvin - make all annotated fields occur in the gild declared, #715 by @dmontagu
- use pytest to exam
mypyintegration, #735 by @dmontagu - add
__repr__method toErrorWrapper, #738 by @samuelcolvin - Added support for
FrozenSetmembers in dataclasses, and a better error when attempting to utilise types from thetypingmodule that are not supported by Pydantic, #745 by @djpetti - add documentation for Pycharm Plugin, #750 by @koxudaxi
- set cleaved examples in the docs, #753 by @dmontagu
- moving typing related objects into
pydantic.typing, #761 past @samuelcolvin - Minor performance improvements to
ErrorWrapper,ValidationErrorand datetime parsing, #763 by @samuelcolvin - Improvements to
datetime/date/fourth dimension/timedeltatypes: more descriptive errors, change errors tovalue_errornottype_error, back up bytes, #766 by @samuelcolvin - prepare fault messages for
Literaltypes with multiple immune values, #770 by @dmontagu - Improved auto-generated
titlefield in JSON schema past converting underscore to space, #772 by @skewty - back up
mypy --no-implicit-reexportfor dataclasses, besides respect--no-implicit-reexportin pydantic itself, #783 by @samuelcolvin - add the
PaymentCardNumbertype, #790 past @matin - Fix const validations for lists, #794 past @hmvp
- Set
additionalPropertiesto false in schema for models with extra fields disallowed, #796 by @Code0x58 -
EmailStrvalidation method now returns local part case-sensitive per RFC 5321, #798 past @henriklindgren - Added ability to validate strictness to
ConstrainedFloat,ConstrainedIntandConstrainedStrand addedStrictFloatandStrictIntclasses, #799 by @DerRidda - Meliorate handling of
NoneandOptional, supersedewholewitheach_item(inverse meaning, defaultFalse) on validators, #803 past @samuelcolvin - add support for
Type[T]blazon hints, #807 by @timonbimon - Performance improvements from removing
change_exceptions, change how pydantic fault are constructed, #819 by @samuelcolvin - Fix the error message arising when a
BaseModel-blazon model field causes aValidationErrorduring parsing, #820 by @dmontagu - allow
getter_dictonConfig, modifyGetterDictto be more like aMappingobject and thus easier to work with, #821 past @samuelcolvin - Only bank check
TypeVarparam on baseGenericModelform, #842 by @zpencerq - rename
Model._schema_cache->Model.__schema_cache__,Model._json_encoder->Model.__json_encoder__,Model._custom_root_type->Model.__custom_root_type__, #851 past @samuelcolvin
v0.32.2 (2019-08-17)
(Docs are available here)
- set
__post_init__usage with dataclass inheritance, fix #739 by @samuelcolvin - fix required fields validation on GenericModels classes, #742 by @amitbl
- fix defining custom
SchemaonGenericModelfields, #754 by @amitbl
v0.32.1 (2019-08-08)
- do non validate actress fields when
validate_assignmentis on, #724 by @YaraslauZhylko
v0.32 (2019-08-06)
- add together model proper noun to
ValidationErrorerror message, #676 by @dmontagu - breaking alter: remove
__getattr__and rename__values__to__dict__onBaseModel, deprecation warning on use__values__attr, attributes admission speed increased upwards to fourteen times, #712 past @Bobronium - support
ForwardRef(without self-referencing annotations) in Python 3.6, #706 past @koxudaxi - implement
schema_extrainConfigsub-class, #663 by @tiangolo
v0.31.1 (2019-07-31)
- fix json generation for
EnumError, #697 by @dmontagu - update numerous dependencies
v0.31 (2019-07-24)
- better support for floating betoken
multiple_ofvalues, #652 by @justindujardin - fix schema generation for
NewTypeandLiteral, #649 by @dmontagu - fix
alias_generatorand field config conflict, #645 by @gmetzker and #658 by @Bobronium - more detailed bulletin for
EnumError, #673 by @dmontagu - add avant-garde exclude back up for
dict,jsonandcopy, #648 by @Bobronium - fix bug in
GenericModelfor models with concrete parameterized fields, #672 by @dmontagu - add documentation for
Literaltype, #651 by @dmontagu - add
Config.keep_untouchedfor custom descriptors support, #679 by @Bobronium - apply
inspect.cleandocinternally to go model clarification, #657 by @tiangolo - add together
Colourto schema generation, past @euri10 - add documentation for Literal type, #651 past @dmontagu
v0.30.1 (2019-07-15)
- set so nested classes which inherit and modify
__init__are correctly processed while still allowingselfas a parameter, #644 by @lnaden and @dgasmith
v0.xxx (2019-07-07)
- enforce unmarried quotes in code, #612 by @samuelcolvin
- fix infinite recursion with dataclass inheritance and
__post_init__, #606 by @Hanaasagi - fix default values for
GenericModel, #610 by @dmontagu - analyze that self-referencing models crave python 3.7+, #616 by @vlcinsky
- prepare truncate for types, #611 past @dmontagu
- add
alias_generatorsupport, #622 by @Bobronium - set up unparameterized generic type schema generation, #625 by @dmontagu
- fix schema generation with multiple/circular references to the same model, #621 by @tiangolo and @wongpat
- support custom root types, #628 past @koxudaxi
- support
selfas a field proper noun inparse_obj, #632 by @samuelcolvin
v0.29 (2019-06-19)
- support dataclasses.InitVar, #592 past @pfrederiks
- Updated documentation to elucidate the usage of
Unionwhen defining multiple types under an attribute's annotation and showcase how the type-order tin affect marshalling of provided values, #594 by @somada141 - add together
conlisttype, #583 by @hmvp - add support for generics, #595 by @dmontagu
v0.28 (2019-06-06)
- fix support for JSON Schema generation when using models with round references in Python three.7, #572 past @tiangolo
- support
__post_init_post_parse__on dataclasses, #567 past @sevaho - allow dumping dataclasses to JSON, #575 past @samuelcolvin and @DanielOberg
- ORM mode, #562 by @samuelcolvin
- fix
pydantic.compiledon ipython, #573 by @dmontagu and @samuelcolvin - add
StrictBoolblazon, #579 past @cazgp
v0.27 (2019-05-thirty)
- breaking change
_pydantic_post_initto execute dataclass' original__post_init__earlier validation, #560 by @HeavenVolkoff - fix handling of generic types without specified parameters, #550 by @dmontagu
- breaking change (possibly): this is the start release compiled with cython, encounter the docs and delight submit an issue if you lot run into bug
v0.27.0a1 (2019-05-26)
- fix JSON Schema for
list,tuple, andset up, #540 past @tiangolo - compiling with cython,
manylinuxbinaries, some other performance improvements, #548 past @samuelcolvin
v0.26 (2019-05-22)
- fix to schema generation for
IPvAnyAddress,IPvAnyInterface,IPvAnyNetwork#498 by @pilosus - ready variable length tuples support, #495 by @pilosus
- prepare return type hint for
create_model, #526 by @dmontagu - Breaking Change: fix
.dict(skip_keys=Truthful)skipping values set via alias (this involves changingvalidate_model()to e'er returnsTuple[Dict[str, Any], Set up[str], Optional[ValidationError]]), #517 past @sommd - prepare to schema generation for
IPv4Address,IPv6Address,IPv4Interface,IPv6Interface,IPv4Network,IPv6Network#532 by @euri10 - add
Colourtype, #504 by @pilosus and @samuelcolvin
v0.25 (2019-05-05)
- Improve documentation on cocky-referencing models and annotations, #487 by @theenglishway
- fix
.dict()with actress keys, #490 past @JaewonKim - support
constkeyword inSchema, #434 by @Sean1708
v0.24 (2019-04-23)
- fix treatment
ForwardRefin sub-types, likeWedlock, #464 by @tiangolo - fix clandestine serialization, #465 by @atheuz
- Support custom validators for dataclasses, #454 by @primal100
- fix
parse_objto cope with dict-like objects, #472 past @samuelcolvin - prepare to schema generation in nested dataclass-based models, #474 by @NoAnyLove
- fix
jsonforPath,FilePath, andDirectoryPathobjects, #473 by @mikegoodspeed
v0.23 (2019-04-04)
- improve documentation for contributing section, #441 past @pilosus
- improve README.rst to include essential data nigh the package, #446 by @pilosus
-
IntEnumsupport, #444 by @potykion - gear up PyObject callable value, #409 past @pilosus
- ready
blackdeprecation warnings after update, #451 by @pilosus - set up
ForwardRefcollection bug, #450 by @tigerwings - Back up specialized
ClassVars, #455 by @tyrylu - set JSON serialization for
ipaddresstypes, #333 by @pilosus - add together
SecretStrandSecretBytestypes, #452 past @atheuz
v0.22 (2019-03-29)
- add
IPv{4,6,Whatsoever}NetworkandIPv{4,6,Any}Interfacetypes fromipaddressstdlib, #333 by @pilosus - add docs for
datetimetypes, #386 past @pilosus - ready to schema generation in dataclass-based models, #408 by @pilosus
- prepare path in nested models, #437 by @kataev
- add
Sequenceback up, #304 by @pilosus
v0.21.0 (2019-03-15)
- fix typo in
NoneIsNotAllowedErrormessage, #414 by @YaraslauZhylko - add
IPvAnyAddress,IPv4AddressandIPv6Addresstypes, #333 by @pilosus
v0.20.1 (2019-02-26)
- fix type hints of
parse_objand similar methods, #405 past @erosennin - fix submodel validation, #403 by @samuelcolvin
- right type hints for
ValidationError.json, #406 by @layday
v0.20.0 (2019-02-eighteen)
- set tests for python three.8, #396 by @samuelcolvin
- Adds fields to the
dirmethod for autocompletion in interactive sessions, #398 by @dgasmith - support
ForwardRef(and thereforefrom __future__ import annotations) with dataclasses, #397 by @samuelcolvin
v0.20.0a1 (2019-02-xiii)
- breaking modify (perchance): more sophisticated argument parsing for validators, any subset of
values,configandfieldis at present permitted, eg.(cls, value, field), however the variadic key word argument ("**kwargs") must exist calledkwargs, #388 by @samuelcolvin - breaking change: Adds
skip_defaultsargument toBaseModel.dict()to allow skipping of fields that were non explicitly set, signature ofModel.construct()changed, #389 by @dgasmith - add
py.typedmarking file for PEP-561 back up, #391 by @je-l - Gear up
extrabehaviour for multiple inheritance/mix-ins, #394 by @YaraslauZhylko
v0.19.0 (2019-02-04)
- Back up
Callabletype hint, fix #279 by @proofit404 - Gear up schema for fields with
validatordecorator, fix #375 by @tiangolo - Add
multiple_ofconstraint toConstrainedDecimal,ConstrainedFloat,ConstrainedIntand their related typescondecimal,confloat, andconint#371, thank you @StephenBrown2 - Deprecated
ignore_extraandallow_extraConfig fields in favor ofextra, #352 by @liiight - Add blazon annotations to all functions, exam fully with mypy, #373 by @samuelcolvin
- fix for 'missing' fault with
validate_allorvalidate_always, #381 past @samuelcolvin - Alter the 2d/millisecond watershed for date/datetime parsing to
2e10, #385 past @samuelcolvin
v0.18.2 (2019-01-22)
- Fix to schema generation with
Optionalfields, fix #361 by @samuelcolvin
v0.18.one (2019-01-17)
- add
ConstrainedBytesandconbytestypes, #315 @Gr1N - adding
MANIFEST.into include license in packet.tar.gz, #358 by @samuelcolvin
v0.18.0 (2019-01-13)
- breaking change: don't telephone call validators on keys of dictionaries, #254 past @samuelcolvin
- Fix validators with
always=Truthfulwhen the default isNoneor the type is optional, besides preventwholevalidators being called for sub-fields, set #132 past @samuelcolvin - improve documentation for settings priority and allow it to be easily inverse, #343 by @samuelcolvin
- fix
ignore_extra=Falseandallow_population_by_alias=True, set #257 by @samuelcolvin - breaking change: Set
BaseConfigattributesmin_anystr_lengthandmax_anystr_lengthtoNonepast default, ready #349 in #350 by @tiangolo - add support for postponed annotations, #348 by @samuelcolvin
v0.17.0 (2018-12-27)
- fix schema for
timedeltaas number, #325 by @tiangolo - foreclose validators being called repeatedly subsequently inheritance, #327 past @samuelcolvin
- preclude indistinguishable validator check in ipython, set #312 by @samuelcolvin
- add "Using Pydantic" section to docs, #323 past @tiangolo & #326 by @samuelcolvin
- fix schema generation for fields annotated equally
: dict,: listing,: tupleand: set, #330 & #335 by @nkonin - add together support for constrained strings every bit dict keys in schema, #332 by @tiangolo
- support for passing Config class in dataclasses decorator, #276 by @jarekkar (breaking change: this supersedes the
validate_assignmentargument withconfig) - support for nested dataclasses, #334 by @samuelcolvin
- better errors when getting an
ImportErrorwithPyObject, #309 past @samuelcolvin - rename
get_validatorsto__get_validators__, deprecation warning on use of one-time proper noun, #338 by @samuelcolvin - back up
ClassVarby excluding such attributes from fields, #184 by @samuelcolvin
v0.16.1 (2018-12-ten)
- fix
create_modelto correctly utilise the passed__config__, #320 by @hugoduncan
v0.16.0 (2018-12-03)
- breaking change: refactor schema generation to be compatible with JSON Schema and OpenAPI specs, #308 past @tiangolo
- add
schematoschemamodule to generate top-level schemas from base models, #308 by @tiangolo - add boosted fields to
Schemaform to declare validation forstrand numeric values, #311 by @tiangolo - rename
_schematoschemaon fields, #318 by @samuelcolvin - add together
case_insensitiveoption toBaseSettingsConfig, #277 by @jasonkuhrt
v0.15.0 (2018-11-xviii)
- move codebase to apply black, #287 by @samuelcolvin
- prepare alias utilize in settings, #286 by @jasonkuhrt and @samuelcolvin
- fix datetime parsing in
parse_date, #298 past @samuelcolvin - let dataclass inheritance, set up #293 by @samuelcolvin
- prepare
PyObject = None, fix #305 by @samuelcolvin - allow
Patternblazon, fix #303 by @samuelcolvin
v0.14.0 (2018-10-02)
- dataclasses decorator, #269 by @Gaunt and @samuelcolvin
v0.13.1 (2018-09-21)
- prepare issue where int_validator doesn't bandage a
boolto anint#264 past @nphyatt - add deep copy support for
BaseModel.copy()#249, @gangefors
v0.13.0 (2018-08-25)
- raise an exception if a field's proper noun shadows an existing
BaseModelattribute #242 - add
UrlStrandurlstrtypes #236 - timedelta json encoding ISO8601 and total seconds, custom json encoders #247, by @cfkanesan and @samuelcolvin
- permit
timedeltaobjects as values for properties of blazontimedelta(matchesdatetimeetc. beliefs) #247
v0.12.ane (2018-07-31)
- fix schema generation for fields defined using
typing.Whatever#237
v0.12.0 (2018-07-31)
- add
by_aliasargument in.dict()and.json()model methods #205 - add together Json type support #214
- back up tuples #227
- major improvements and changes to schema #213
v0.11.2 (2018-07-05)
- add
NewTypesupport #115 - fix
listing,set&tuplevalidation #225 - split out
validate_modelmethod, allow errors to be returned along with valid values #221
v0.xi.1 (2018-07-02)
- back up Python iii.7 #216, thanks @layday
- Allow arbitrary types in model #209, thanks @oldPadavan
v0.xi.0 (2018-06-28)
- make
list,tupleandsettypes stricter #86 - breaking change: remove msgpack parsing #201
- add together
FilePathandDirectoryPathtypes #ten - model schema generation #190
- JSON serialisation of models and schemas #133
v0.10.0 (2018-06-11)
- add
Config.allow_population_by_alias#160, thank you @bendemaree - breaking change: new errors format #179, thanks @Gr1N
- breaking change: removed
Config.min_number_sizeandConfig.max_number_size#183, thanks @Gr1N - breaking change: correct behaviour of
ltandgtarguments toconintetc. #188 for the old behaviour useleandge#194, thank you @jaheba - added error context and ability to redefine mistake bulletin templates using
Config.error_msg_templates#183, thanks @Gr1N - set typo in validator exception #150
- copy defaults to model values, and so unlike models don't share objects #154
v0.ix.1 (2018-05-10)
- allow custom
get_field_configon config classes #159 - add together
UUID1,UUID3,UUID4andUUID5types #167, thank you @Gr1N - modify some inconsistent docstrings and annotations #173, thank you @YannLuo
- set blazon annotations for exotic types #171, cheers @Gr1N
- re-apply type validators in exotic types #171
- scheduled monthly requirements updates #168
- add together
Decimal,ConstrainedDecimalandcondecimaltypes #170, thanks @Gr1N
v0.9.0 (2018-04-28)
- tweak email-validator import error bulletin #145
- fix parse mistake of
parse_date()andparse_datetime()when input is 0 #144, thanks @YannLuo - add
Config.anystr_strip_whitespaceandstrip_whitespacekwarg toconstr, by default values isFalse#163, thanks @Gr1N - add
ConstrainedFloat,confloat,PositiveFloatandNegativeFloattypes #166, thank you @Gr1N
v0.8.0 (2018-03-25)
- fix type notation for
inherit_config#139 - breaking modify: bank check for invalid field names in validators #140
- validate attributes of parent models #141
- breaking change: email validation now uses email-validator #142
v0.7.1 (2018-02-07)
- fix bug with
create_modelmodifying the base form
v0.7.0 (2018-02-06)
- added compatibility with abstruse base classes (ABCs) #123
- add
create_modelmethod #113 #125 - breaking change: rename
.configto.__config__on a model - breaking change: remove deprecated
.values()on a model, use.dict()instead - remove use of
OrderedDictand use unproblematic dict #126 - add
Config.use_enum_values#127 - add together wildcard validators of the form
@validate('*')#128
v0.six.4 (2018-02-01)
- allow python date and times objects #122
v0.6.3 (2017-xi-26)
- fix direct install without
README.rstpresent
v0.half-dozen.ii (2017-11-13)
- errors for invalid validator use
- safer check for complex models in
Settings
v0.6.one (2017-11-08)
- foreclose indistinguishable validators, #101
- add
alwayskwarg to validators, #102
v0.6.0 (2017-11-07)
- consignment validation #94, thanks petroswork!
- JSON in surround variables for complex types, #96
- add
validatordecorators for complex validation, #97 - depreciate
values(...)and replace with.dict(...), #99
v0.five.0 (2017-10-23)
- add
UUIDvalidation #89 - remove
indexandrailsfrom error object (json) if they're null #90 - improve the error text when a listing is provided rather than a dict #ninety
- add together benchmarks table to docs #91
v0.4.0 (2017-07-08)
- bear witness length in string validation error
- fix aliases in config during inheritance #55
- simplify error display
- use unicode ellipsis in
truncate - add
parse_obj,parse_rawandparse_filehelper functions #58 - switch annotation merely fields to come first in fields list not last
v0.3.0 (2017-06-21)
- immutable models via
config.allow_mutation = False, associated cleanup and operation improvement #44 - immutable helper methods
construct()andcopy()#53 - allow pickling of models #53
-
setattris removed every bit__setattr__is now intelligent #44 -
raise_exceptionremoved, Models at present always raise exceptions #44 - instance method validators removed
- django-restful-framework benchmarks added #47
- fix inheritance bug #49
- brand str blazon stricter and then listing, dict etc are not coerced to strings. #52
- add together
StrictStrwhich only always strings every bit input #52
v0.ii.one (2017-06-07)
- pypi and travis together messed up the deploy of
v0.twothis should prepare it
v0.two.0 (2017-06-07)
- breaking change:
values()on a model is now a method not a property, takesincludeandexcludearguments - allow annotation only fields to support mypy
- add pretty
to_string(pretty=True)method for models
v0.i.0 (2017-06-03)
- add docs
- add history
Source: https://pypi.org/project/pydantic/
0 Response to "error uploading datetime object from python sqlalchemy"
ارسال یک نظر