UCLA CLI
UCLA CLI is a command-line tool for scraping data from UCLA's website, such as:
- Course schedule information (list classes by department/requirement, class days/times)
- Course enrollment info (spots left, waitlists, etc.)
- and more! (whatever else I decide to add)
Why would you ever want this?
- Scriptability - Web browsers are notoriously unscriptable, forcing you to go through tedious routines
every day, click after click. With a command-line tool, it's easy to write scripts that automate boring tasks
or empower you.
- For example, you could script up an enrollment notifier (i.e. a free Coursicle replacement) using UCLA CLI in just a few lines!
- Hacker Vibes - Be honest, you've been seeking a bit more terminal in your life.
Installation
pip install ucla-cli
Getting Started
ucla classes 23F --subject MATH
Development
Design Goals
- Front-end - This project just aims to be a front-end for UCLA's website, meaning faithfully retrieving the user-facing data from the website in a similar manner/structure as the website provides it.
- Unix tool - This project aims to be a "good" CLI by following the conventions/philosophy of (modern) Unix command-line tools (in regards to option parsing, interactability, output format, etc.)
Related projects
- Nathan Smith (creator of hotseat.io) has a post that describes scraping UCLA's course schedule. He uses the same scraping strategy but implemented in Go (with support for multiprocessing!).
License
ucla-cli is distributed under the terms of the MIT license.
Release files for ucla-cli 0.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ucla_cli-0.0.10.tar.gz | 12.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ucla_cli-0.0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.7 kB
Release files / ucla_cli-0.0.10.tar.gz
| Download URL | ucla_cli-0.0.10.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a4014d2498d500173cc909a8cbebf0f4f6d980da108759d6a4673c3b07f30d30
|
|
BLAKE2b-256 checksum How to use checksums |
10302b78d5c1c634de37405aba565015f6d3b6e86759f93f74eeb1cf3849c0b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0
|
Release files / ucla_cli-0.0.10-py3-none-any.whl
| Download URL | ucla_cli-0.0.10-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86bf65ae24f1497f37ec86e0d6b5cfc76ab743599c1909ad57939a9c83cf9b43
|
|
BLAKE2b-256 checksum How to use checksums |
fa6abe882e157fcb833da26c8005cdd23b4b373b65b97f126c792a8257862003
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0
|