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
#Run directly from source
python urp_academic_affairs_tools/main.py

[!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.2.tar.gz (56.7 kB 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.2-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urp_tools-0.3.2.tar.gz
  • Upload date:
  • Size: 56.7 kB
  • 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.2.tar.gz
Algorithm Hash digest
SHA256 6b71df42a30268dba45804783f445d1771f86ce4c0461f20462dd22ff6e7c543
MD5 6c8c117ae6c6660f980951dda0a42705
BLAKE2b-256 0ac5113d277d1d73ac23562ef0ec4ad2971e91ea3350808adb43d00e1c033d09

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: urp_tools-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 64.4 kB
  • 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 af6cdd0b9534c16fe65ec2e9f717508920951736247192c24369c9f71904e4e7
MD5 2fec96a428e2d0857e543067db6cd653
BLAKE2b-256 90b36e878f4393ecc511ececa831b1f9c259e25523cb97e77d2592cd3f73b6db

See more details on using hashes here.

Provenance

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