SDK for Momento
Project description
Momento Client Library for Python
Momento Cache is a fast, simple, pay-as-you-go caching solution without any of the operational overhead required by traditional caching solutions. This repo contains the source code for the Momento client library for Python.
To get started with Momento you will need a Momento Auth Token. You can get one from the Momento Console.
- Website: https://www.gomomento.com/
- Momento Documentation: https://docs.momentohq.com/
- Getting Started: https://docs.momentohq.com/getting-started
- Momento SDK Documentation for Python: https://docs.momentohq.com/sdks/python
- Discuss: Momento Discord
Packages
The Momento Python SDK package is available on pypi: momento.
Usage
The examples below require an environment variable named MOMENTO_API_KEY
which must
be set to a valid Momento API key. You can get one from the Momento Console.
Python 3.10 introduced the match
statement, which allows for structural pattern matching on objects.
If you are running python 3.10 or greater, here is a quickstart you can use in your own project:
from datetime import timedelta
from momento import CacheClient, Configurations, CredentialProvider
from momento.responses import CacheGet
cache_client = CacheClient(
Configurations.Laptop.v1(), CredentialProvider.from_environment_variable("MOMENTO_API_KEY"), timedelta(seconds=60)
)
cache_client.create_cache("cache")
cache_client.set("cache", "my-key", "my-value")
get_response = cache_client.get("cache", "my-key")
match get_response:
case CacheGet.Hit() as hit:
print(f"Got value: {hit.value_string}")
case _:
print(f"Response was not a hit: {get_response}")
The above code uses structural pattern matching, a feature introduced in Python 3.10. Using a Python version less than 3.10? No problem. Here is the same example compatible across all versions of Python:
from datetime import timedelta
from momento import CacheClient, Configurations, CredentialProvider
from momento.responses import CacheGet
cache_client = CacheClient(
configuration=Configurations.Laptop.v1(),
credential_provider=CredentialProvider.from_environment_variable("MOMENTO_API_KEY"),
default_ttl=timedelta(seconds=60),
)
cache_client.create_cache("cache")
cache_client.set("cache", "myKey", "myValue")
get_response = cache_client.get("cache", "myKey")
if isinstance(get_response, CacheGet.Hit):
print(f"Got value: {get_response.value_string}")
Getting Started and Documentation
Documentation is available on the Momento Docs website.
Examples
Working example projects, with all required build configuration files, are available for both Python 3.10 and up and Python versions before 3.10:
Developing
If you are interested in contributing to the SDK, please see the CONTRIBUTING docs.
For more info, visit our website at https://gomomento.com!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file momento-1.25.0.tar.gz
.
File metadata
- Download URL: momento-1.25.0.tar.gz
- Upload date:
- Size: 81.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21e52188b977fcbe14c2ae03c84d643fedec52c8079b414a9f742b3c40985830 |
|
MD5 | a0e1b515098af8d421f737ac7638c953 |
|
BLAKE2b-256 | bacf171891d87aa86c6f3797797e215e7f706d176edab57b2501f3cbc0a7f850 |
File details
Details for the file momento-1.25.0-py3-none-any.whl
.
File metadata
- Download URL: momento-1.25.0-py3-none-any.whl
- Upload date:
- Size: 134.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ee2817a1fe9895f76959f318d9efc0351ac3134a1644e8d5929bb272ad2efa6 |
|
MD5 | b56f3552444836e5e4313948b9ed6210 |
|
BLAKE2b-256 | 2bca71f94b09b791e9d1488199e262c8a690e59daf7d73e31b992b7ee19c17b7 |