PhotonQuantum / pysjtu

The Python iSJTU client for Humans.
https://pysjtu.readthedocs.io/en/latest/
GNU General Public License v3.0
44 stars 3 forks source link
course-registration course-select-system curriculum gpa json sjtu

PySJTU - The Python iSJTU client for Humans.

PyPI version Documentation Status

screenshot


>>> import pysjtu
>>> c = pysjtu.create_client(username="FeiLin", password="WHISPERS")
>>> chemistry = c.schedule(year=2019, term=0).filter("大学化学")
>>> chemistry[0].teacher_name
['麦亦勇']
>>> calculus_exam = c.exam(year=2019, term=0).filter(course_id="MA248")
>>> calculus_exam[0].date
datetime.date(2019, 11, 6)

And, to persist your session...

>>> import pysjtu
>>> session = pysjtu.Session()
>>> session.login("FeiLin", "WHISPERS")
>>> session.dump("lin_fei.session")

>>> session = pysjtu.Session()
>>> session.load("lin_fei.session")
>>> pysjtu.Client(session).student_id
519027910001

Features

PySJTU allows you to manipulate iSJTU APIs easily.

You don't need to construct queries on your own, or guessing the meaning of poorly named variables (to name a few, kch_id, rwzxs) any more. Now course.name course.hour_total is enough!

Main features of PySJTU:

Installation

Install with pip:

$ pip install pysjtu[ocr]

PySJTU requires Python 3.8+.

Built With

License

This project is licensed under GNU General Public License v3.0 - see the LICENSE file for details.

—💖—

Built with love by LightQuantum