Skip to main content

URP Tools

关于 URP 教务系统的抢课脚本及工具

License PyPI Python Code style: Ruff Code style: Black

Features

  • Async login with captcha recognition and retry support
  • Timetable export to Excel
  • Teaching evaluation preview, selection, confirmation, and submission
  • Course list preview, course-number filtering, course selection
  • Continuous course-snatching mode

Requirements

  • Python >=3.10,<3.11
  • Poetry 2.x for development

[!CAUTION]

The current goal of this project is to be used on jws.qgxy.cn

Installation

PyPI

pip install urp-tools

Install from source code

git clone https://github.com/Reversedeer/urp-academic-affairs-tools.git
cd urp-academic-affairs-tools
poetry install

Configuration

Create a .env file in the project root:

cp .env.example .env

Environment

Variable Description Must Default
URP_BASE_URL URP base URL Yes https://jws.qgxy.cn
URP_USERNAME Login username Yes null
URP_PASSWORD Login password Yes null
URP_DEFAULT_CHOICE Default evaluation choice No A
URP_DEFAULT_COMMENT Default evaluation comment No 老师教学认真课程收获较大
URP_EVALUATION_WAIT_SECONDS Wait time before evaluation submission No 120
URP_EVALUATION_LIMIT Optional submission limit for evaluation No null
URP_EVALUATION_CONCURRENCY Evaluation open/submit concurrency No 3
URP_COURSE_SNATCHING_ATTEMPTS Maximum snatching attempts; 0 means continuous mode No 0
URP_COURSE_SNATCHING_CONCURRENCY Concurrent requests in snatching mode No 10
URP_COURSE_SNATCHING_RETRY_INTERVAL Delay between snatching rounds in seconds No 0.2

Usage

Run with Poetry

#Run with Poetry
poetry run urp-tools
#Run the PySide6 desktop interface
poetry run urp-tools-gui
#Run as a module
poetry run python -m urp_academic_affairs_tools.main
#Run the GUI as a module
poetry run python -m urp_academic_affairs_tools.gui

[!NOTE]

  • Due to server limitations, teaching evaluations require a 120-second submission wait.

  • Course selection displays a preview when the selection period is closed; the server still validates every submission.

  • Continuous course snatching stops after a successful response or a non-retryable course error.

License

This project is licensed under the Apache-2.0 License.

Download files

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

Source Distribution

urp_tools-0.4.1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

urp_tools-0.4.1-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file urp_tools-0.4.1.tar.gz.

File metadata

  • Download URL: urp_tools-0.4.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for urp_tools-0.4.1.tar.gz
Algorithm Hash digest
SHA256 2725a6446c17415ff36ca1ef97a18af15fa501173cfc69f2a613424e99c3ff3f
MD5 7c50932b16d7a533f8b61cdfb3d4b50f
BLAKE2b-256 456bb42a7239f8eda66bf53c58f49ea028b8748553f710a579d07b48218de1c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for urp_tools-0.4.1.tar.gz:

Publisher: release.yml on Reversedeer/urp-academic-affairs-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file urp_tools-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: urp_tools-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for urp_tools-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef446bb4ef10ef87fe11c30988bf6e24fe386831aaf002b9d992a46832c974a1
MD5 b3f309526ec88d2db58553dc822f2cfe
BLAKE2b-256 86e885bfc2924bedd280409dcb5de1ab87c2b00df152e8078b591fcc7017b1d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for urp_tools-0.4.1-py3-none-any.whl:

Publisher: release.yml on Reversedeer/urp-academic-affairs-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3.3

2 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