Skip to main content

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 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

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

sparq-0.2.6.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sparq-0.2.6-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

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

Hashes for sparq-0.2.6.tar.gz
Algorithm Hash digest
SHA256 3b5764f882f7f521cfbf7e5723e5068aa9374ef4a0fe5bbe09715921bbae902a
MD5 256ee7425cbe78ad7f7de02946fc008d
BLAKE2b-256 80ddec509ec9e1f672f49106a411a0e9e55b611f157176aad867a4a5cb0b0022

See more details on using hashes here.

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

Hashes for sparq-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ad6e09b6836dd20ada2d31947f10384ab2e754800ab87bd8e3013857449e7c85
MD5 7b7721cb0114384303abb5c06801f487
BLAKE2b-256 dc98dc1b58c170b2cad3a1d646ed1d0e195520b7c840fb414c4e99cd4559f50e

See more details on using hashes here.

Supported by

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