Skip to main content

UCLA CLI

PyPI - Version PyPI - Python Version


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)

image

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)

Source distribution for ucla-cli 0.0.10
File Size Uploaded
ucla_cli-0.0.10.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ucla-cli 0.0.10
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.10 This release

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release 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