Tags: rishindoshi/PynamoDB
Tags
Improve first iteration logic (pynamodb#1121) Backporting pynamodb#1101 to 5.x branch to allow handling an exception raised when retrieving the first item.
Upgrade to mypy 0.950 (pynamodb#1116) mypy<0.900 is dragging in typed-ast which no longer seems to build on Python 3.11. In order to unblock the release of 5.3.1, we'll pull up to mypy==0.950 (for assert_type) and drag in some minor (non-breaking) improvements from master.
Do not call DescribeTable for models (pynamodb#1095) Do not call DescribeTable for models (pynamodb#1091) When using DynamoDB through a `Model` or `Index` (rather than `(Table)Connection` directly), we will derive the "meta-table" from the model itself rather than make an initial `DescribeTable` call. This has numerous advantages: - Faster bootstrap (important for lambdas, as pointed out in pynamodb#422) - More consistent handling of attribute types: Before this change, if the PynamoDB model definition and the DynamoDB table definition disagreed on a key attribute's type, PynamoDB would use its own idea of the type in some code paths and the underlying type in others. Now it would consistently use its own idea of the type, allowing the erroneous model definition to be spotted sooner. - Easier testing, since there's no longer a one-off request that only happens once and affects global state. This approach attempts to change the library as little as possible, by synthesizing a MetaTable from the model. This is a backport of pynamodb#1091.
Workaround for botocore 1.28 (round 2) (pynamodb#1087) In pynamodb#1083 we've started passing an `endpoint_url` parameter to _convert_to_request_dict due to changes made in botocore 1.28. When a model does not specify a `host`, the `endpoint_url` would be `None`. To determine the actual `endpoint_url` in botocore ≥1.28, we must call another private method, `_resolve_endpoint_ruleset`.
Release Notes : 5.1.0 (pynamodb#956) * 5.1.0 Co-authored-by: Garrett <[email protected]>
PreviousNext