Skip to main content

The Python iSJTU client for Humans.

Project description

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:

  • A friendly API with understandable attribute names.
  • Easy session persistence.
  • Robust captcha recognition using ResNet.
  • 80% iSJTU APIs covered. (Course selection APIs included.)
  • Fully type annotated.
  • 99% test coverage.

Installation

Install with pip:

$ pip install pysjtu[ocr]

PySJTU requires Python 3.8+.

Built With

  • HTTPX - A next generation HTTP client for Python.
  • marshmallow - An ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.
  • ONNX Runtime - A performance-focused complete scoring engine for Open Neural Network Exchange (ONNX) models.
  • NumPy - The fundamental package for scientific computing with Python.
  • Pillow - The friendly PIL fork.

License

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

—💖—

Built with love by LightQuantum

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

pysjtu-0.4.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

pysjtu-0.4.2-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file pysjtu-0.4.2.tar.gz.

File metadata

  • Download URL: pysjtu-0.4.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.15.4 CPython/3.10.12 Linux/6.5.0-1021-azure

File hashes

Hashes for pysjtu-0.4.2.tar.gz
Algorithm Hash digest
SHA256 1be6866e3381bf7298b4dfe8bc91ed83e0bcce22a5722f140d3a4db37108200a
MD5 b9b3dfb3a1457245a41c9bcc2f40f34a
BLAKE2b-256 6d7f107b3408af75791bf512443f4bbc203da3f78b6196f8ff31e9d3f55fe130

See more details on using hashes here.

File details

Details for the file pysjtu-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pysjtu-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.15.4 CPython/3.10.12 Linux/6.5.0-1021-azure

File hashes

Hashes for pysjtu-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f684d05a873ad46adc342427797e0585d71ccccd4127c4a3bc57f42ef27f91a2
MD5 b52cb462297f7fda5a11ae32e6a26ebb
BLAKE2b-256 44ddfe4e573c8d14fbe9526560a8d3b1c1b7ce85edceb0da8db05773a5609b20

See more details on using hashes here.

Supported by

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