Skip to main content

Unofficial async Python client & CLI for bbs-api.tajiduo.com (异环 / 幻塔 BBS)

Project description

Socialify


PyPI Python License uv Ruff

taygedo — an unofficial Python client & CLI for the bbs-api.tajiduo.com platform.
Query game data, manage your account, and automate monthly sign-ins for Tower of Fantasy and 异环.


✨ Features

  • 🔐 Account auth — login, session management, and credential storage
  • 🗂️ CLI config — TOML-based configuration via taygedo conf
  • 🗼 Tower of Fantasy — fetch in-game data (tof / ht commands, gameId=1256)
  • 🌀 异环 (NTE) — fetch game data and automate monthly sign-ins (nte / yh commands, gameId=1289)
  • 🔍 Debug mode — print every HTTP request/response to stderr with --debug
  • 🧩 Typed SDKpy.typed marker included; fully type-checked with mypy strict mode
  • Async-ready — built on curl-cffi for high-performance HTTP

🚀 Getting Started

Prerequisites

  • Python 3.13+
  • uv (recommended) or pip

Installation

With uv (recommended):

uv tool install taygedo

With pip:

pip install taygedo

Quick Usage

# Show help
taygedo --help

# Log in to your account
taygedo auth login

# Fetch Tower of Fantasy data
taygedo tof <subcommand>

# Fetch 异环 data and trigger monthly sign-in
taygedo nte sign-in

# Enable debug output
taygedo --debug tof <subcommand>

CLI Reference

Usage: taygedo [OPTIONS] COMMAND [ARGS]...

  taygedo — bbs-api.tajiduo.com client.

Options:
  --version  Show the version and exit.
  --debug    Print every HTTP request/response to stderr.
  --help     Show this message and exit.

Commands:
  auth  Account login and management.
  conf  CLI configuration (config.toml).
  ht    Tower of Fantasy (gameId=1256) data.
  nte   异环 (gameId=1289) data + monthly sign-in.
  tof   Tower of Fantasy (gameId=1256) data.
  yh    异环 (gameId=1289) data + monthly sign-in.

🛠️ Development

Setup

git clone https://github.com/1shin-7/taygedo.py.git
cd taygedo.py

# Install dependencies (including dev extras)
uv sync

Running Tests

uv run pytest

Linting & Type Checking

# Lint with ruff
uv run ruff check .

# Format
uv run ruff format .

# Type-check with mypy
uv run mypy src/

Project Structure

taygedo.py/
├── src/
│   └── taygedo/
│       ├── cli/          # Click-based CLI commands
│       ├── client.py     # HTTP client (curl-cffi)
│       ├── core/         # Core logic
│       ├── crypto/       # Signing / cryptography helpers
│       ├── device/       # Device fingerprint generation
│       ├── models/       # Pydantic response models
│       ├── services/     # Game-specific service modules
│       ├── signers/      # Request signers
│       └── utils/        # Shared utilities
├── tests/
├── scripts/
└── pyproject.toml

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

taygedo-0.2.3.tar.gz (58.2 kB view details)

Uploaded Source

Built Distribution

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

taygedo-0.2.3-py3-none-any.whl (101.8 kB view details)

Uploaded Python 3

File details

Details for the file taygedo-0.2.3.tar.gz.

File metadata

  • Download URL: taygedo-0.2.3.tar.gz
  • Upload date:
  • Size: 58.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taygedo-0.2.3.tar.gz
Algorithm Hash digest
SHA256 aaa7e5d1e790710788fe378344071e6a5a3f01b0b42bde1b5c1994a479ad3e0e
MD5 f4ee937b1275e1fc6d51f5cf87c3acd1
BLAKE2b-256 8bbba1ec1a47f3f9a1aa013a7ab6ce9876953f65df308a6ffddcccc89e4a5612

See more details on using hashes here.

File details

Details for the file taygedo-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: taygedo-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 101.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for taygedo-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a9e0846cdf6acbcae1ee9c53b3d5af9cbbc9c2adb6d5d452c6b9762bdb320685
MD5 b0dcba834937d78ee79d54906a5b3455
BLAKE2b-256 d8ebc877d33484b0773d4edc3450355f780850a9e732484f1fbfad1f7715f9b2

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