* Adds benchmark tests for Schematics tool
* Removes the "to_json" method from the schematics benchmark tests
* Fixs exception check in the Schematics benchmark
* tweaks and cleanup
Co-authored-by: Alvaro Mariano <alvaro.mariano@br.experian.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com>
* fix: validate nested models with `default_factory`
PR #1504 introduced a regression by bypassing `populate_validators()`,
which would skip the validation of children in nested models
with `default_factory`
closes#1710
* test: add example of nested models parsing with `default_factory`
closes#1717
* add testcase from #1722
* bodge for benchmarks
Co-authored-by: Samuel Colvin <s@muelcolvin.com>
* Add JSON Benchmark
* Apply iterator suggestions from code review
Co-Authored-By: Samuel Colvin <samcolvin@gmail.com>
* Reorganize run to avoid parsing time in json test
* tweak json benchmarks
Co-authored-by: Samuel Colvin <samcolvin@gmail.com>
Co-authored-by: Samuel Colvin <s@muelcolvin.com>
* Fix typo breaking pydantic-only benchmarks when TestCAttrs not available
* Add Pydantic-only benchmarks to CI
Remove requirements for pydantic-only benchmarks and update python ver
* Benchmarks output tweaks
- Left pad by only 4 more than the longest benchmark
- Add run number/total to each run
- Summarize what is being tested at beginning
* benchmark for attr
* update HISTORY.rst
* * added benchmark using cattr
* add env "ATTRS=1" to benchmark runner to only compare again the two
and save results in separate csv
* added section to docs/index
* nits
* re-run benchmark with cython pydantic; merge results back to main benchmarks results table
* pin pydantic to top of benchmark report
* remove attrs, fix cattrs
* update benchmarks output
* add change
* moving docs to mkdocs
* transfering readme to md and more
* fixing build
* splitting usage.md
* improving schema.md and index.md
* fix make_history.rst
* models intro
* working on data conversation and required fields
* more fixes to models.md
* list all standard types supported
* list of pydantic types
* tweaks
* update links in code
* Apply suggestions from code review
incorporate @dmontagu's suggestions.
Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com>
* Apply suggestions from code review
more missed suggestions.
Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com>
* Apply suggestions from code review
more corrects.
* cleanup
* Field order warning
* fix and regenerate benchmarks
* format examples better, cleanup
* improve schema mapping table
* correct highlighting file types in schema.md
* add redirects in javascript
* add logo
* small performance improvements to validators and fields
* simplify ErrorWrapper and ValidationError
* more cleanup of errors, combine test_error_wrapper.py and test_error.py
* tweak datetime_parse.py
* fix for python 3.6
* add change
* fix bug with int or float passed to datetime.time
https://github.com/lyft/toasted-marshmallow
As said in the README of this project :
Toasted Marshmallow implements a JIT for marshmallow that speeds up
dumping objects 10-25X (depending on your schema). Toasted Marshmallow
allows you to have the great API that Marshmallow provides without
having to sacrifice performance!
* working on models allowing immutability, ref #38
* up complexity
* use noqa c901
* fixing fields with new processor
* allow_mutation config and tests
* uprev, history and docs
* fix typos