Giter Club home page Giter Club logo

clipy's Introduction

CLIPy, Campus Life Integration Platform wrapper

In case you have no clue of what CLIP is then this package is not for you.

This is a crawler which downloads relevant information from CLIP, as such it requires student credentials. It does provide an interface (both programatic as wel as a webservice with REST endpoints) to lookup the crawled data.

Even if you're a student and have the all mighty credentials, it still isn't probably something you'll want to try.

If you're brave and want to try it, or want that information for something else (please don't be evil), it takes several days to fully bootstrap the database, and it's a somewhat error-prone process with a lot of disconnections along the way.

Avoid doing so during times that might disturb other students access to CLIP. This thing does several requests every second. 1AM-6AM(GMT) it's probably your best shot.

Instalation

pip install clip-crawler

Setup

Setup an environment variable pointing to a settings file:

CONFIG=conf/flask/settings-example.json

Make sure to insert proper credentials in that settings file.

Usage

from CLIPy import Clip

Clip.bootstrap_database('CLIP ID', 'password', storage)

clip = Clip()
# Don't run it like this, it takes forever. Look at the parameters
clip.bootstrap_database()
[print(student) for student in clip.find_student("John Smith")]

Stuff that this is able to retrieve

Right now, most of CLIP data.

  • Students
  • Teachers
  • Classes (most of their information, student grades, turns, teachers)
  • Departments
  • Courses
  • Files (with deduplication :) )
  • Physical entities (buildings, classrooms, auditoriums, laboratories, ...)
  • National access contest admissions
  • Library occupied/spare rooms

TODO

  • Timespan filters (eg: crawl [thing] from 2015 to 2017)
  • Evaluation dates
  • Class summaries
  • Course curricular plans (possibly impossible as CLIP does not expose CP rules)
  • Better student course tagging

clipy's People

Contributors

claudioap avatar

Stargazers

 avatar

Watchers

Alexandre Ferreira avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.