Skip to content

Releases: altitudenetworks/dynamoquery

2.4.0

04 Jun 16:40
4cc57b5
Compare
Choose a tag to compare

Added

  • DynamoTable.clear_records method #38

Fixed

  • DynamoTable class is no longer abstract
  • DictClass sanitization of initial data happens in the end on all values, even non-set
  • DynamoTable normalizes records in singular methods
  • DynamoTable.batch_delete returns correct record type
  • DynamoTable.clear_table respects sort_key/sort_key_prefix arguments even if partition_key is None (full scan) #38

2.3.0

02 Jun 23:19
db0d64a
Compare
Choose a tag to compare

Added

  • DictClass record type
  • LooseDictClass record type
  • DynamoDictClass record type #36

Changed

  • Untyped DynamoTable uses LooseDictClass
  • DataTable with provided record_class does not need explicit typing #36

Fixed

  • Duplicate items detection in DynamoTable.batch_delete #36

2.2.0

29 May 11:53
23df695
Compare
Choose a tag to compare

Added

  • DynamoRecord.sanitize method for all values clean up
  • DynamoRecord.sanitize_key method for value clean up
  • DynamoRecord.get_key_{key} custom methods support
  • DynamoRecord.sanitize_key_{key} custom methods support #34

Fixed

  • DynamoRecord attribute default values are now immutable
  • DynamoRecord uppercased class attributes no longer affect fields #34

2.1.0

29 May 04:49
25a85f0
Compare
Choose a tag to compare

Added

  • DynamoTable.batch_get_records that works with iterators
  • DynamoTable.batch_upsert_records that works with iterators
  • DynamoTable.batch_delete_records that works with iterators
  • DynamoTable.dynamo_query_class attribute that allows to use custom DynamoQuery
  • DynamoTable.max_batch_size property for easier subclassing #28
  • DynamoRecord UserDict class for class-based
  • record_type argument to DataClass init that accepts any UserDict-based classes
  • DynamoTable.get_table_status method to get current table status
  • DynamoAutoscaler class #30
  • DataTable.copy method #31

Changed

  • DynamoTable.clear_table uses generators to reduce memory usage #28
  • DataTable.get_record returns a record_type object if it was provided
  • DataTable.get_records yields record_type objects if it was provided
  • DataTable.add_record processes a record_type object if it was provided
  • DynamoTable.create_table sets ProvisionedThroughput arguments
  • DynamoTable.create_table handles intermediate table states
  • DynamoTable.delete_table handles intermediate table states
  • DynamoTable.get_partition_key method is not longer abstract
  • DynamoTable.get_sort_key method is not longer abstract #30
  • DataTable.keys returns an iterator (not compatible with a regular dict)
  • DataTable.values returns an iterator (not compatible with a regular dict)
  • DataTable.items returns an iterator (not compatible with a regular dict)
  • DataTable.__iter__ iterates over records (used to be keys) and fails for non-normalized tables
  • DynamoQuery.execute_dict method's data argument made optional
  • DynamoQuery.execute method's data_table argument accepts Iterable[Dict] a well as a DataTable #31

Fixed

  • DynamoTable is marked as abstract
  • mypy can correctly use types from this library #29
  • Typing for subclassed DataTable #31
  • typing-extensions is no longer a direct dependency #32

2.0.0

17 Apr 21:36
6b948a9
Compare
Choose a tag to compare

Removed

  • Boto3Retrier class
  • tests/test_boto3_retrier.py #23

1.2.0

16 Apr 01:57
84254dd
Compare
Choose a tag to compare

Changed

  • DataTable is a regular dictionary, used to be a defaultdict

Fixed

  • Circular error due to bad naming

1.1.0

08 Apr 21:02
ce2a94f
Compare
Choose a tag to compare

Changed

  • partition_key argument is mandatory in DynamoTable.query

Fixed

  • DynamoTable.clear_table error if partition_key_prefix is used
  • On fail, requests are repeated 5 times (was 3)
  • Check for valid operators in DynamoTable.query operation

1.0.1

31 Mar 21:08
df16520
Compare
Choose a tag to compare

Fixed

  • Use normalized record for upsert and batch_upsert

1.0.0

24 Mar 19:25
ba62f7c
Compare
Choose a tag to compare

Added

  • DynamoTable.wait_until_exists method
  • DynamoTable.wait_until_not_exists method

Fixed

  • dt_created is set to utcnow if it is null

0.0.7

09 Mar 18:52
b12d137
Compare
Choose a tag to compare
0.0.7 Pre-release
Pre-release

Fixed

  • Fixed upsert of normalized records