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.

Download files

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

Source Distribution

tatsu_api-1.0.0.post1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

tatsu_api-1.0.0.post1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file tatsu_api-1.0.0.post1.tar.gz.

File metadata

  • Download URL: tatsu_api-1.0.0.post1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for tatsu_api-1.0.0.post1.tar.gz
Algorithm Hash digest
SHA256 e9d65b1331ac62dc1857fd8aaec2ac9c170fb2b47f50115a40b1f28fe419d9cf
MD5 b0dd93c755115823e35f5e615a312c0a
BLAKE2b-256 879fc31cdaee7c5b6b44d89537ea3baede4b0276e55e43c01c447e58b880afcc

See more details on using hashes here.

File details

Details for the file tatsu_api-1.0.0.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for tatsu_api-1.0.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 86c497147fb0de8aa0d3e5e6fb79ccee99c5f7c5cdd9ac60b9c7a67015b0bb6d
MD5 84e4ca3016af2cd21fdd9d3011883346
BLAKE2b-256 8ce10e74ac2aea72589cf2178f0e56fb62d18969f8b1153ac64c6e89726b2ef0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0.post1 This release

2 files

1.0.0

2 files

Supported by

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