Package: cist
python-cistPython client for CIST API (https://cist.nure.ua)Installationpip install cistUsageFor group (Couples schedule is for group only. More seeCouplesfor details)Get your group id:importcistgroups=cist.get_groups()print(groups)Use that group_id to initialize client:importcistgroup_id='xxxxxxxx'group=cist.Group(group_id)group_schedule=group.get_schedule()print(group_schedule)For teachers (Couples schedule is for teacher only. More seeCouplesfor details)Get your teachers id:importciststruct=cist.get_struct()print(struct)Use that teacher_id to initialize client:importcistteacher_id='xxxxxxxx'teacher=cist.Teacher(teacher_id)teacher_schedule=teacher.get_schedule()print(teacher_schedule)For audience (Couples schedule is for audience only. More seeCouplesfor details)Get audience id:importcistaudiences=cist.get_audiences()print(audiences)Use that audience_id to initialize client:importcistaudience_id='xxxxxxxx'audience=cist.Auditory(group_id)audience_schedule=grouaudiencep.get_schedule()print(audience_schedule)CouplesSchedule of events (couples), for the teacher, groups or audiences.A couple is a fact of meeting in time and space/audience of interested individuals/groups/teachers with a certain purpose/subject.On one couple, an academic group can be several disciplines at the same time (overlays), this is acceptable for alternative disciplines. Unique is the combination “couple time + discipline".timetable_id– group or teacher idtype_id: 1 – group (default), 2 – teacher, 3 – audiencetime_from– start date of sampling from schedule (default – start current semester)time_to– end date of sampling from schedule (default – end current semester).importcisttimetable_id='xxxxxxxx'type_id=2time_from=date(2023,11,17)time_to=date(2023,11,18)timetable=cist.Couple(timetable_id,type_id)event_schedule=timetable.get_schedule(time_from,time_to)print(event_schedule)Information about a specific objectGroups of the same direction (optional within the faculty)id_direction='xxxxxxxx'id_faculty='xxxxxxxx'#not necessaryobject=cist.Object(id_direction,id_faculty)grp_of_directions=object.get_grp_of_directions()print(grp_of_directions)Specialty groups (optional within the faculty department)id_speciality='xxxxxxxx'id_faculty='xxxxxxxx'#not necessaryobject=cist.Object(id_speciality,id_faculty)grp_of_specialities=object.get_grp_of_specialities()print(grp_of_specialities)All specialties of a specific direction related to a specific faculty (relevant for specialists and masters)id_direction='xxxxxxxx'id_faculty='xxxxxxxx'object=cist.Object(id_direction,id_faculty)specialities=object.get_specialities()print(specialities)All areas of the facultyid_faculty='xxxxxxxx'object=cist.Object(id_faculty)directions=object.get_directions()print(directions)All teachers of the departmentid_department='xxxxxxxx'object=cist.Object(id_department)teachers=object.get_teachers()print(teachers)All departments of the facultyid_faculty='xxxxxxxx'object=cist.Object(id_faculty)departments=object.get_departments()print(departments)MethodsGet the entire structure of the university with faculties,
directions, specialties and groups
students. Destinations include only
groups of bachelors. For groups of specialists and
Master's degrees are related to
specialties that are included in the directions>>>cist.get_groups()Get the entire structure of the university with faculties,
departments, teachers.>>>cist.get_struct()Get the entire structure of the university with buildings,
audiences and types of audiences. Audiences
located in buildings. Every audience
may refer to zero, one or
several types.>>>cist.get_audiences()Get all university faculties>>>cist.get_faculties()Get all types of university classrooms>>>cist.get_audiences_types()Get help>>>cist.help()You can as well pass datetime objectsget_schedule(time_from, time_to)>>>group.get_schedule(date(2023,11,17),date(2023,11,17))You can use ratelimiter library (likehttps://pypi.org/project/ratelimiter/)