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:
xmuxmu-rollcall-cliXMUrollcall-cli
Quick Start
- Configure at least one account:
xmu config
- (Optional) Switch active account:
xmu switch
- Start monitoring:
xmu start
- If session becomes invalid, refresh cookies:
xmu refresh
Commands
xmu config- Add/delete accounts and set current accountxmu switch- Switch the current accountxmu start- Start rollcall monitoring loopxmu refresh- Remove cached cookies for current accountxmu --help- Show help
Configuration
The package stores local data in a .xmu_rollcall directory:
XMU_ROLLCALL_CONFIG_DIR(if set)~/.xmu_rollcall(default)./.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
- Homepage: https://github.com/KrsMt-0113/XMU-Rollcall-Bot
- Issues: https://github.com/KrsMt-0113/XMU-Rollcall-Bot/issues
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)
| File | Size | Uploaded | |
|---|---|---|---|
| xmu_rollcall_cli-3.4.1.tar.gz | 16.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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