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.4.0.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.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urp_tools-0.4.0.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.4.0.tar.gz
Algorithm Hash digest
SHA256 ff6759ddffa17e34384a4418fb5e2df0efd5dd36d3df30964d509c083aeea475
MD5 ecc8636ab96b538b86c46d2eb1c307c6
BLAKE2b-256 f1efb0b900304d074533bf445f0bd74e37bf6680cd4270e6ae7ced0ff97939b3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: urp_tools-0.4.0-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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4dc0c136688ee2a762de6ced14bd3ef86bb67cc08942a414c4b594e819dcd348
MD5 1bb5072608e233d6dfc00c4fc8f78abb
BLAKE2b-256 96e1d33c7c0e6b6fd6e0671a28e9ef1f67588980b6f27df7490a5f6b2f10372c

See more details on using hashes here.

Provenance

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