Skip to main content

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 key
  • sparq usage - View API usage statistics
  • sparq recover - Recover your API key via email
  • sparq 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

Metadata

Release files for sparq 0.2.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sparq 0.2.6
File Size Uploaded
sparq-0.2.6.tar.gz 8.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sparq 0.2.6
File Interpreter ABI Platform
sparq-0.2.6-py3-none-any.whl Python 3 none any Details

Total release size: 18.7 kB

Release files / sparq-0.2.6.tar.gz

Download URL sparq-0.2.6.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3b5764f882f7f521cfbf7e5723e5068aa9374ef4a0fe5bbe09715921bbae902a
BLAKE2b-256 checksum
How to use checksums
80ddec509ec9e1f672f49106a411a0e9e55b611f157176aad867a4a5cb0b0022
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release files / sparq-0.2.6-py3-none-any.whl

Download URL sparq-0.2.6-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad6e09b6836dd20ada2d31947f10384ab2e754800ab87bd8e3013857449e7c85
BLAKE2b-256 checksum
How to use checksums
dc98dc1b58c170b2cad3a1d646ed1d0e195520b7c840fb414c4e99cd4559f50e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.13

Release history Release notifications | RSS feed

This release

0.2.6 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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