grove.caches package¶
Grove cache handlers.
- class grove.caches.BaseCache[source]¶
- Bases: - ABC- abstract delete(pk: str, sk: str, constraint: str | None = None)[source]¶
- Deletes an entry with the given key from the cache. - If the implementation does not differentiate partition and sort keys, these values should be combined in an appropriate way to form a cache key. - Parameters:
- pk – Partition key of the value to delete. 
- sk – Sort key of the value to delete. 
- constraint – An optional condition to use during the delete. The value provided as the condition must match for the delete to be successful. 
 
- Raises:
- DataFormatException – The provided constraint was not satisfied. 
 
 - abstract get(pk: str, sk: str) str[source]¶
- Gets the value for the given key from the cache. - If the implementation does not differentiate partition and sort keys, these values should be combined in an appropriate way to form a cache key. - Parameters:
- pk – Partition key of the value to retrieve. 
- sk – Sort key of the value to retrieve. 
 
- Returns:
- The value from the cache. 
 
 - abstract set(pk: str, sk: str, value: str, not_set: bool = False, constraint: str | None = None)[source]¶
- Stores the value for the given key in a cache. - If the implementation does not differentiate partition and sort keys, these values should be combined in an appropriate way to form a cache key. - Parameters:
- pk – Partition key of the value to store. 
- sk – Sort key of the value to store. 
- value – Value to store. 
- not_set – Specifies whether the value must not already be set in the cache for the set to be successful. 
- constraint – An optional condition to use set operation. If provided, the currently cached value must match for the delete to be successful. 
 
- Raises:
- ValueError – An incompatible set of parameters were provided. 
- DataFormatException – The provided constraint was not satisfied. 
 
 
 
Submodules¶
grove.caches.aws_dynamodb module¶
Grove AWS DynamoDB cache handler.
- class grove.caches.aws_dynamodb.Configuration(_env_file: str | PathLike | List[str | PathLike] | Tuple[str | PathLike, ...] | None = '<object object>', _env_file_encoding: str | None = None, _env_nested_delimiter: str | None = None, _secrets_dir: str | PathLike | None = None, *, table: str = 'grove', url: str | None = None, assume_role_arn: str | None = None, table_region: str | None = 'us-east-1')[source]¶
- Bases: - BaseSettings- Defines environment variables used to configure the AWS DynamoDB handler. - This should also include any appropriate default values for fields which are not required. - class Config[source]¶
- Bases: - object- Allow environment variable override of configuration fields. - This also enforce a prefix for all environment variables for this handler. As an example the field assume_role_arn would be set using the environment variable GROVE_CACHE_AWS_DYNAMODB_ASSUME_ROLE_ARN. - case_insensitive = True¶
 - env_prefix = 'GROVE_CACHE_AWS_DYNAMODB_'¶
 
 - assume_role_arn: str | None¶
 - table: str¶
 - table_region: str | None¶
 - url: str | None¶
 
- class grove.caches.aws_dynamodb.Handler[source]¶
- Bases: - BaseCache- This cache handler allows Grove to write objects into an AWS DynamoDB cache. - delete(pk: str, sk: str, constraint: str | None = None)[source]¶
- Deletes an entry from DynamoDB that has the given PK / SK. - Parameters:
- pk – Partition key of the value to delete. 
- sk – Sort key of the value to delete. 
- constraint – An optional condition to use during the delete. The value provided as the condition must match for the delete to be successful. 
 
- Raises:
- AccessException – An issue occurred when deleting the value. 
- DataFormatException – The provided constraint was not satisfied. 
 
 
 - get(pk: str, sk: str) str[source]¶
- Retrieve an value with the given PK / SK. - Parameters:
- pk – Partition key of the value to retrieve. 
- sk – Sort key of the value to retrieve. 
 
- Raises:
- NotFoundException – No value was found. 
- AccessException – An issue occurred when getting the value. 
 
- Returns:
- Value from the cache. 
 
 - set(pk: str, sk: str, value: str, not_set: bool = False, constraint: str | None = None)[source]¶
- Stores the value for the given key in DynamoDB. - Parameters:
- pk – Partition key of the value to store. 
- sk – Sort key of the value to store. 
- value – Value to store. 
- not_set – Specifies whether the value must not already be set in the cache for the set to be successful. 
- constraint – An optional condition to use set operation. If provided, the currently cached value must match for the delete to be successful. 
 
- Raises:
- ValueError – An incompatible set of parameters were provided. 
- AccessException – An issue occurred when storing the value. 
- DataFormatException – The provided constraint was not satisfied. 
 
 
 
grove.caches.local_file module¶
Grove local file cache handler.
- class grove.caches.local_file.Configuration(_env_file: str | PathLike | List[str | PathLike] | Tuple[str | PathLike, ...] | None = '<object object>', _env_file_encoding: str | None = None, _env_nested_delimiter: str | None = None, _secrets_dir: str | PathLike | None = None, *, path: str)[source]¶
- Bases: - BaseSettings- Defines environment variables used to configure the local file cache handler. - This should also include any appropriate default values for fields which are not required. - class Config[source]¶
- Bases: - object- Allow environment variable override of configuration fields. - This also enforce a prefix for all environment variables for this handler. As an example the field path would be set using the environment variable GROVE_CACHE_LOCAL_FILE_PATH. - case_insensitive = True¶
 - env_prefix = 'GROVE_CACHE_LOCAL_FILE_'¶
 
 - path: str¶
 
- class grove.caches.local_file.Handler[source]¶
- Bases: - BaseCache- A local file backed cache for pointers and other Grove data. - delete(pk: str, sk: str, constraint: str | None = None)[source]¶
- Deletes an entry from local file backed cache that has the given key. - Parameters:
- pk – Partition key of the value to delete. 
- sk – Sort key of the value to delete. 
- constraint – An optional condition to use during the delete. The value provided as the condition must match for the delete to be successful. 
 
- Raises:
- DataFormatException – The provided constraint was not satisfied. 
 
 - get(pk: str, sk: str) str[source]¶
- Retrieve a value from a local file backed cache with the given key. - Parameters:
- pk – Partition key of the value to retrieve. 
- sk – Sort key of the value to retrieve. 
 
- Raises:
- NotFoundException – No value was found. 
- Returns:
- Value from the cache. 
 
 - set(pk: str, sk: str, value: str, not_set: bool = False, constraint: str | None = None)[source]¶
- Stores the value for the given key in a local file backed cache. - Parameters:
- pk – Partition key of the value to save. 
- sk – Sort key of the value to save. 
- value – Value to save. 
- not_set – Specifies whether the value must not already be set in the cache for the set to be successful. 
- constraint – An optional condition to use set operation. If provided, the currently cached value must match for the delete to be successful. 
 
- Raises:
- ValueError – An incompatible set of parameters were provided. 
- DataFormatException – The provided constraint was not satisfied. 
 
 
 
grove.caches.local_memory module¶
Grove in memory cache handler.
- class grove.caches.local_memory.Handler[source]¶
- Bases: - BaseCache- A volatile in-memory backed cache for pointers and other Grove data. - delete(pk: str, sk: str, constraint: str | None = None)[source]¶
- Deletes an entry from dict that has the given PK / SK. - Parameters:
- pk – Partition key of the value to delete. 
- sk – Sort key of the value to delete. 
- constraint – An optional condition to use during the delete. The value provided as the condition must match for the delete to be successful. 
 
- Raises:
- DataFormatException – The provided constraint was not satisfied. 
 
 - get(pk: str, sk: str) str[source]¶
- Retrieve a value with the given PK / SK. - Parameters:
- pk – Partition key of the value to retrieve. 
- sk – Sort key of the value to retrieve. 
 
- Raises:
- NotFoundException – No value was found. 
- Returns:
- Value from the cache. 
 
 - set(pk: str, sk: str, value: str, not_set: bool = False, constraint: str | None = None)[source]¶
- Stores the value for the given key in a local dict. - Parameters:
- pk – Partition key of the value to save. 
- sk – Sort key of the value to save. 
- value – Value to save. 
- not_set – Specifies whether the value must not already be set in the cache for the set to be successful. 
- constraint – An optional condition to use set operation. If provided, the currently cached value must match for the delete to be successful. 
 
- Raises:
- ValueError – An incompatible set of parameters were provided. 
- DataFormatException – The provided constraint was not satisfied.