librusapi

Scraper for Librus Synergia


Keywords
librus, scraper, api
License
MIT
Install
pip install librusapi==0.0.5

Documentation

Table of contents

librusapi - A Librus Synergia scraper

Goal of this project is to free students from the limitations of Librus Synergia software mainly: giving the user fresh information unlike their mobile app that can only refresh every 3h or so.

Install

pip install librusapi

Tech used

  • written in python developed with 3.9 in mind
  • requests library for fetching data, mainly html
  • BeautifulSoup4 library for parsing the data

Development specific

  • mypy for type checking
  • pytest for running tests
  • pdoc for creating html documentation

Quick start

Example usage of the API

Getting the timetable

from librusapi.token import get_token
from librusapi import timetable

token = get_token('username', 'password')
lesson_units = timetable.lesson_units(token)

for lu in lesson_units:
    print(lu)

Listing messages

from librusapi.token import get_token
from librusapi import messages

token = get_token('username', 'password')
messages = messages.list_messages(token)

for msg in messages:
    print(msg)

Documentation

Docs can be found here

Working on the project

git clone https://github.com/ravensiris/librusapi
cd librusapi
python -m venv venv
# This may be different depending on your operating system and shell
source ./venv/bin/activate
pip install -r requirements.txt
# Installing as an editable library
pip install -e .

Now you can import librusapi in your project

Generating docs

pdoc --html librusapi

Status

Currenty you can:

  • Authenticate and get a token
  • List all lessons in a timetable
  • List all messages ( can’t read them yet )