Skip to main content

No project description provided

Project description

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.

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

ucla_cli-0.0.9.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

ucla_cli-0.0.9-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file ucla_cli-0.0.9.tar.gz.

File metadata

  • Download URL: ucla_cli-0.0.9.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for ucla_cli-0.0.9.tar.gz
Algorithm Hash digest
SHA256 037a420d353385d4f8e2c5875cc2fd576718cd44dc7b92162d10eade0568bfdb
MD5 e8dc341de55cd4e4809eb1c927665c91
BLAKE2b-256 dc78ff7cd981a9c96e163ee5b03feb983945eeb58926b43904bcf2f0e3ed9ac0

See more details on using hashes here.

File details

Details for the file ucla_cli-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: ucla_cli-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for ucla_cli-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d4464c68584de499aea3bf0699a67f785a21ad460900d6f477827948718d127f
MD5 c2347162499ac6de179756b9dae1da4e
BLAKE2b-256 f32d23642c3886586a0a6a7eccaf27c40763f06c867cd0f86a67d9710e028a75

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page