a python client for the planetterp api
Project description
planet-terp
a python client for the planet terp api.
installation
uv add planet-terp-client
usage
get a course
from planet_terp import PlanetTerp
client = PlanetTerp()
course = client.course("CMSC320")
print(course.title)
get a professor
professor = client.professor("Clyde Kruskal")
print(professor.average_rating)
# 2.75
search
results = client.search("CMSC320")
for result in results:
print(result.name)
get grades
grades = client.grades(course="CMSC351", semester="202308")
for grade in grades:
print(f"{grade.section}: {grade.professor}")
check if instructor is ta or professor
from planet_terp import TA
professors = client.professors(limit=10)
for p in professors:
if isinstance(p, TA):
print(f"{p.name} is a ta")
else:
print(f"{p.name} is a professor")
advanced examples
get average rating of all professors for a course
course = client.course("CMSC330")
for name in course.professors:
try:
p = client.professor(name)
if p.average_rating:
print(f"{p.name}: {p.average_rating}")
except:
print(f"could not fetch {name}")
calculate pass rate for a course
grades = client.grades(course="CMSC351")
total_students = 0
passed_students = 0
for g in grades:
section_total = (g.A_plus + g.A + g.A_minus +
g.B_plus + g.B + g.B_minus +
g.C_plus + g.C + g.C_minus +
g.D_plus + g.D + g.D_minus +
g.F + g.W + g.Other)
# assuming C- or better is passing for major reqs
section_pass = (g.A_plus + g.A + g.A_minus +
g.B_plus + g.B + g.B_minus +
g.C_plus + g.C + g.C_minus)
total_students += section_total
passed_students += section_pass
if total_students > 0:
print(f"pass rate: {(passed_students/total_students)*100:.2f}%")
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
planet_terp_client-0.1.0.tar.gz
(14.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file planet_terp_client-0.1.0.tar.gz.
File metadata
- Download URL: planet_terp_client-0.1.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b37dc5926897c09361c83e09729a6ccac10a9bc93ad0adc6348aaa2f5e693d1
|
|
| MD5 |
f70fef41ac755f562727960e131a3efc
|
|
| BLAKE2b-256 |
7dc70f1ee67e25e8b3a1f193f5d66f4231041903073ae444327d7c5accee3976
|
File details
Details for the file planet_terp_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: planet_terp_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4733849af08f17643e17e42ee32bfdb4eac331e3677a5820eff0f8c8d524c8b6
|
|
| MD5 |
3556849cb26cae1e5d661f7f7208aeb0
|
|
| BLAKE2b-256 |
21ff88112c1f7c117a8834f3eea67e899d6f59c99a70423c35c8c58719ec4bc4
|