Python client for the sparq api - automated degree planning for SJSU students + more
Project description
sparq Client
Python client library for the sparq API - automated degree planning for SJSU students.
Installation
pip install sparq
Quick Start
1. Get Your API Key
First, register and get your API key:
sparq auth
This will:
- Send a verification code to your email
- Generate your API key after verification
- Save it to
~/.sparq/config.txt
2. Generate a Degree Plan
Use the example script to test the API:
python sparq.py
Or use it in your own code:
from sparq import Sparq
# Initialize with your API key (automatically loaded from config)
client = Sparq()
# Generate a degree plan
plan = client.plan(
major="Computer Science",
cc_courses=[{"code": "COMSC 075", "title": "Computer Science I", "grade": "A", "institution": "Evergreen Valley College"}],
units_per_semester=15,
schedule_preferences={"avoid_hours": ["8:00 AM", "8:00 PM"]}
)
print(plan)
# Get available class sections (no API key required)
sections = client.classes("CS 49J")
print(f"Found {len(sections['CS 49J'])} sections for CS 49J")
# Get sections for multiple courses
sections = client.classes(["CS 49J", "MATH 42", "CS 146"])
for course_id, course_sections in sections.items():
print(f"{course_id}: {len(course_sections)} sections")
for section in course_sections:
print(f" - {section['Section']}: {section['Instructor']}, {section['Days']} {section['Times']}")
3. Check Your API Usage
View your API usage statistics:
sparq usage
4. Recover Lost API Key
If you lose your API key:
sparq recover
5. Get Class Sections
Search for available class sections for any SJSU course (no API key required):
sparq classes
This will prompt you to enter course ID(s) and display all available sections with details like:
- Instructor
- Days and times
- Location
- Open seats
- And more
CLI Commands
sparq auth- Register and get your API keysparq usage- View API usage statisticssparq recover- Recover your API key via emailsparq classes- Get available class sections for courses (no API key required)
Features
- Degree Planning: Generate semester-by-semester plans for SJSU majors
- Transfer Credit: Support for community college and AP credits
- Usage Tracking: Monitor your API calls and history
- API Key Recovery: Recover lost API keys via email verification
Updates
For updates please visit: https://github.com/shiventi/sparq/blob/main/docs/documentation.md
Support
For issues or questions, visit: https://github.com/shiventi/sparq
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 sparq-0.2.6.tar.gz.
File metadata
- Download URL: sparq-0.2.6.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b5764f882f7f521cfbf7e5723e5068aa9374ef4a0fe5bbe09715921bbae902a
|
|
| MD5 |
256ee7425cbe78ad7f7de02946fc008d
|
|
| BLAKE2b-256 |
80ddec509ec9e1f672f49106a411a0e9e55b611f157176aad867a4a5cb0b0022
|
File details
Details for the file sparq-0.2.6-py3-none-any.whl.
File metadata
- Download URL: sparq-0.2.6-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad6e09b6836dd20ada2d31947f10384ab2e754800ab87bd8e3013857449e7c85
|
|
| MD5 |
7b7721cb0114384303abb5c06801f487
|
|
| BLAKE2b-256 |
dc98dc1b58c170b2cad3a1d646ed1d0e195520b7c840fb414c4e99cd4559f50e
|