a python client for the planet terp 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.5.tar.gz
(21.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.5.tar.gz.
File metadata
- Download URL: planet_terp_client-0.1.5.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e57cfc58f064bcfd409b2798720564ea43017e19c0588131c2ec763511a488fd
|
|
| MD5 |
1f9b4fca0cd2632c12ca6de618bddece
|
|
| BLAKE2b-256 |
b782974fed700317d10158e2413b300ced6b4d65a5c1e2e024b7f14e3207cca6
|
File details
Details for the file planet_terp_client-0.1.5-py3-none-any.whl.
File metadata
- Download URL: planet_terp_client-0.1.5-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ec97beabff17c148f984608c1dfbdc7250ecf0abd72489bc55828ebce19782
|
|
| MD5 |
1fa83497917969604b43e56b507d0021
|
|
| BLAKE2b-256 |
08bc8b2eae4cda26e84231be8c8433ca86622a3a4680b99c9806fb3d21dea561
|