Skip to main content

Python utilities for interacting with ShorthandAI data

Project description

shorthandai

This package provides a Python SDK for working with the ShorthandAI platform.

Installation

$ pip install shorthandai

Usage

from shorthandai import ShorthandAI

# Token can be passed by setting the environment variable `SHORTHANDAI_TOKEN`.
# token can be generated at https://apiv1.shorthand.ai/console/tokens
SH = ShorthandAI()

# Alternately, pass in the token explicitly
token = 'sh-...' 
SH = ShorthandAI(token)

# Get values
print(SH.get("dev123"))

# Set values
print(SH.set("dev123", 4000))

import datetime
# Get historical
print(SH.geth("dev123", datetime.datetime(2022, 12, 31)))

For example, new users can try out the following:

from shorthandai import ShorthandAI

SH = ShorthandAI('demo')
print(SH.info())
print(SH.GET('dev123', '1659994710026'))
print(SH.GET('dev123', 'notexists'))
print(SH.GET('dev123'))
print(SH.GET('dev444'))

print("\nTesting GET-historical\n")
import datetime
print(SH.GETH('dev123', datetime.datetime(2022, 12, 31)))
print(SH.GETH('dev123', datetime.datetime(2022, 11, 1)))
print(SH.GETH('dev123', datetime.datetime(2023, 2, 24)))

print("\nTesting SET\n")
print(SH.SET('dev555-scalar', 1000))
print(SH.GET('dev555-scalar'))

new_df = pd.DataFrame({
    'Name': ['Tom', 'nick', 'krish', 'jack'],
    'Age': [20, 21, 19, 18]
})
print(new_df)
print(SH.SET('dev777-pd', new_df))
print(SH.GET('dev777-pd'))


geth_many_res = list(SH.GETMANY([
    { "topic_name": "dev123", "asOf": datetime.datetime(2024, 4, 18, 15, 0, 0) },
    { "topic_name": 'dev123', "asOf": datetime.datetime(2022, 12, 31)   },
    { "topic_name": 'dev123', "asOf": datetime.datetime(2022, 11, 1)    },
    { "topic_name": 'dev123', "asOf": datetime.datetime(2023, 2, 24)    }
]))

print(geth_many_res)

# Loading large number of topics
import time
start_ts = time.time()

get_many_res = list(SH.GETMANY([
    {
        "topic_name": "dev123",
        "tag": '1659994710026'
    },
    {
        "topic_name": "dev444",
        "tag": '1659994710026'
    },
    {
        "topic_name": "dev444",
    },
    {
        "topic_name": "dev444",
        "tag": 'latest'
    },
    {
        "topic_name": "dev777-pd",
    },
    {
        "topic_name": "dev555-scalar",
        "tag": 'latest'
    }
] * 100))

end_ts = time.time()
elapsed = end_ts - start_ts
print([ str(type(d)) for d in get_many_res ])
print(f'getmany for {len(get_many_res)} topics in {elapsed}s')
# getmany for 600 topics in 7.065880060195923s

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

shorthandai-0.0.8.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shorthandai-0.0.8-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file shorthandai-0.0.8.tar.gz.

File metadata

  • Download URL: shorthandai-0.0.8.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for shorthandai-0.0.8.tar.gz
Algorithm Hash digest
SHA256 96902757485cae571c97b07d097ba264e3bd71f97f0811ef3b359790aeff829a
MD5 24251f8c0cf51b1c2ff5e71c08c22c83
BLAKE2b-256 be010c7be9c13d8eafa8009119bc49f3583eb68f9424097f7a63673ac0798316

See more details on using hashes here.

File details

Details for the file shorthandai-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: shorthandai-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for shorthandai-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e58bce79002ecd0e40294a32716d343cdbb622e1e168887ecdf2e3ff460cea4a
MD5 eef1bba8437760f4bd4329194f5c82f9
BLAKE2b-256 ef262303d8c0efaffba8d449c491ce167236f858ab14a46525e2454ece35f336

See more details on using hashes here.

Supported by

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