Python serverless framework for Datastone Sprite GPU.
Project description
Sprite-GPU
Install
pip install sprite-gpu
Usage example
from sprite_gpu import start
from sprite_gpu.env import Env
def handler(request: Dict[str, Any], env: Env):
"""
request: Dict[str, Any], from client http request body.
request["input"]: Required.
request["webhook"]: Optional string for asynchronous requests.
returned object to be serialized into JSON and sent to the client.
in this case: '{"output": "hello"}'
"""
return {"output": "hello"}
def gen_handler(request: Dict[str, Any], env: Env):
"""
append yield output to array, serialize into JSON and send to client.
in this case: [0, 1, 2, 3, 4]
"""
for i in range(5):
yield i
async def async_handler(request: Dict[str, Any], env: Env):
"""
returned object to be serialized into JSON and sent to the client.
"""
return {"output": "hello"}
async def async_gen_handler(request: Dict[str, Any], env: Env):
"""
append yield output to array, serialize into JSON and send to client.
"""
for i in range(10):
yield i
def concurrency_modifier(current_allowed_concurrency: int) -> int:
"""
Adjusts the allowed concurrency level based on the current state.
For example, if the current allowed concurrency is 3 and resources are sufficient,
it can be increased to 5, allowing 5 tasks to run concurrently.
"""
allowed_concurrency = ...
return allowed_concurrency
"""
Register the handler with serverless.start().
Handlers can be synchronous, asynchronous, generators, or asynchronous generators.
"""
start({
"handler": async_handler, "concurrency_modifier": concurrency_modifier
})
API
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
sprite_gpu-0.0.5.tar.gz
(16.4 kB
view hashes)
Built Distribution
sprite_gpu-0.0.5-py3-none-any.whl
(13.0 kB
view hashes)
Close
Hashes for sprite_gpu-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3b133b46560720941337d49fceef5f55acbf34c372e2156d7e79d21a8b5f05d |
|
MD5 | 887c63c87368316f1bf50957008fe7bd |
|
BLAKE2b-256 | 285e481ddbb6213c9bf3f356bfdd9f5590b01665b64ebd0008d266907efad181 |