Skip to main content

SDK for Momento

Project description

logo

project status project stability

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

momento-1.27.0.tar.gz (88.3 kB view details)

Uploaded Source

Built Distribution

momento-1.27.0-py3-none-any.whl (147.2 kB view details)

Uploaded Python 3

File details

Details for the file momento-1.27.0.tar.gz.

File metadata

  • Download URL: momento-1.27.0.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.12.3 Linux/6.11.0-1013-azure

File hashes

Hashes for momento-1.27.0.tar.gz
Algorithm Hash digest
SHA256 3ff09ff7f889ba4ae374162aa92dd2d1a66d0dfe8af0908125dde0ed851015e4
MD5 b5aab0e88bd2e01f4a182f6281261481
BLAKE2b-256 5b35c65252711a04c1691b780f715377bcc8749df45b8284bb50900dd52f884b

See more details on using hashes here.

File details

Details for the file momento-1.27.0-py3-none-any.whl.

File metadata

  • Download URL: momento-1.27.0-py3-none-any.whl
  • Upload date:
  • Size: 147.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.12.3 Linux/6.11.0-1013-azure

File hashes

Hashes for momento-1.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d9f04d7a0b484403fa8199f6ad65ed84ca70ec35093e81b4ebe791cae99d767
MD5 0d687d2a6205d23bf3856e5994d70cf6
BLAKE2b-256 5e72b178d3333977e96e4e6c826a19e3e8216baf23cd9cfe5a8b098d3e5bb3e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page