Skip to main content

URP Academic Affairs System Course Snatching Tool

Project description

URP Tools

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.

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

urp_tools-0.3.3.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.3.3-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for urp_tools-0.3.3.tar.gz
Algorithm Hash digest
SHA256 5bf86a14b578d1c24ad82509d1f805a5bc00288695ade5e73ccffcde1cc271d3
MD5 deb5c510c810ca3d3a5b5bc08d3a369a
BLAKE2b-256 9543041353fa1daf4b831fa9849f7a4cad39e5636551c50f5af782080a65b534

See more details on using hashes here.

Provenance

The following attestation bundles were made for urp_tools-0.3.3.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.3.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for urp_tools-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c32504566ce4a3e973ac0ec35177816863199e21aa8358e8444cff6fac22d561
MD5 c4e334c17bfe2cb06d02d0d1de3e7562
BLAKE2b-256 532bbced4aac47360734bbc75af583febb7797cffbd4d36f52eadb5af3e56069

See more details on using hashes here.

Provenance

The following attestation bundles were made for urp_tools-0.3.3-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.

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