Skip to main content

xmu-rollcall-cli

A command-line tool for monitoring and auto-answering Tronclass rollcalls at Xiamen University.

This project is intended for personal learning and automation convenience. Use it at your own risk and comply with your school's rules.

Features

  • Login with XMU unified authentication through xmulogin
  • Continuous rollcall polling (1-second interval)
  • Automatic handling for:
    • Number rollcalls (fetch number code and answer directly)
    • Radar rollcalls (location solving)
  • Multi-account management in one local config
  • Session cookie cache and refresh support

Installation

Install from PyPI:

pip install xmu-rollcall-cli

After installation, these command aliases are available:

  • xmu
  • xmu-rollcall-cli
  • XMUrollcall-cli

Quick Start

  1. Configure at least one account:
xmu config
  1. (Optional) Switch active account:
xmu switch
  1. Start monitoring:
xmu start
  1. If session becomes invalid, refresh cookies:
xmu refresh

Commands

  • xmu config - Add/delete accounts and set current account
  • xmu switch - Switch the current account
  • xmu start - Start rollcall monitoring loop
  • xmu refresh - Remove cached cookies for current account
  • xmu --help - Show help

Configuration

The package stores local data in a .xmu_rollcall directory:

  1. XMU_ROLLCALL_CONFIG_DIR (if set)
  2. ~/.xmu_rollcall (default)
  3. ./.xmu_rollcall (fallback when home is not writable)

Main files:

  • config.json: account list and selected account
  • <account_id>.json: cached cookies per account

Example (custom config directory):

export XMU_ROLLCALL_CONFIG_DIR="$HOME/Documents/.xmu_rollcall"

Limitations

  • QR code rollcalls are currently not supported.
  • This tool depends on Tronclass/XMU API behavior and may break if upstream endpoints change.

Supported Python Versions

  • Python 3.7+

Project Links

License

MIT License

Release files for xmu-rollcall-cli 3.4.1

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

Source distribution (sdist)

Source distribution for xmu-rollcall-cli 3.4.1
File Size Uploaded
xmu_rollcall_cli-3.4.1.tar.gz 16.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xmu-rollcall-cli 3.4.1
File Interpreter ABI Platform
xmu_rollcall_cli-3.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 33.6 kB

Release files / xmu_rollcall_cli-3.4.1.tar.gz

Download URL xmu_rollcall_cli-3.4.1.tar.gz
Size 16.5 kB
Tags Source
SHA-256 checksum
How to use checksums
83fb89f5fb557aa1ab12d4f0790cd500f5b31cb06cf6c17cfe61a9832b0358da
BLAKE2b-256 checksum
How to use checksums
c3376dbb6b54a60c7d84268b2e72452dd325db9d1db4e806b761f46f6958b8f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release files / xmu_rollcall_cli-3.4.1-py3-none-any.whl

Download URL xmu_rollcall_cli-3.4.1-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a185932edddd2cbd4caa4295098c94bb146677a24b7b84bbece8926762d5347
BLAKE2b-256 checksum
How to use checksums
48ef5fcca37093da41ba1c225b3e7467753dcb2ce184b3b3016cebc814589482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.4.1 This release

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.2

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.9

2 release files

3.1.7

2 release files

3.1.6

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.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