Skip to main content

Tatsu API Wrapper

PyPI supported Python versions License: MIT Checked with pyright Ruff Code style: black

A lightweight and asynchronous wrapper for Tatsu v1 API, written in Python. Supports every documented API endpoint.

To get an API key, use the command "t!apikey" on a Discord server with the Tatsu bot present.

Note: Modifying a user's scores/points isn't possible without certain Discord permissions. See the API docs for more info.

Installing

tatsu-api currently requires Python 3.8 or higher.

To install the library, run one of the following commands:

# Linux/macOS
python3 -m pip install -U tatsu-api

# Windows
py -3 -m pip install -U tatsu-api

Quick Example

For more examples, see the examples folder.

import asyncio
import tatsu_api as tatsu

async def main() -> None:
    """Example function."""
    
    api_key = "API_KEY"
    test_guild = 173184118492889089     # The Discord ID of the official Tatsu server.
    test_user = 1234567891              # Random Discord user ID.
    
    # The client can be used as a context manager to handle closing of the
    # internal HTTP session.
    async with tatsu.Client(api_key) as client:
        profile = await client.get_user(test_user)
        print(f"{profile.username} currently has {profile.credits} credits and {profile.reputation} reputation.")
        
        username = profile.username
        
        ranking = await client.get_member_ranking(test_guild, test_user, "all")
        print(f"On the Tatsu server, {username} ranks at {ranking.rank} for all time.")
        
        before_points = await client.get_member_points(test_guild, test_user)
        print(f"{username} - Points before update: {before_points.points}")
        
        after_points = await client.update_member_points(test_guild, test_user, -10)
        print(f"{username} - Points after update: {after_points.points}")

asyncio.run(main())

Acknowledgements

Shoutout to discord.py for being an inspiration and providing a strong example for implementation.

Metadata

Release files for tatsu-api 1.0.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tatsu-api 1.0.0.post1
File Size Uploaded
tatsu_api-1.0.0.post1.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tatsu-api 1.0.0.post1
File Interpreter ABI Platform
tatsu_api-1.0.0.post1-py3-none-any.whl Python 3 none any Details

Total release size: 25.7 kB

Release files / tatsu_api-1.0.0.post1.tar.gz

Download URL tatsu_api-1.0.0.post1.tar.gz
Size 13.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e9d65b1331ac62dc1857fd8aaec2ac9c170fb2b47f50115a40b1f28fe419d9cf
BLAKE2b-256 checksum
How to use checksums
879fc31cdaee7c5b6b44d89537ea3baede4b0276e55e43c01c447e58b880afcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / tatsu_api-1.0.0.post1-py3-none-any.whl

Download URL tatsu_api-1.0.0.post1-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86c497147fb0de8aa0d3e5e6fb79ccee99c5f7c5cdd9ac60b9c7a67015b0bb6d
BLAKE2b-256 checksum
How to use checksums
8ce10e74ac2aea72589cf2178f0e56fb62d18969f8b1153ac64c6e89726b2ef0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release history Release notifications | RSS feed

This release

1.0.0.post1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page