Skip to main content

A FERI schedule running in CLI

Project description

FERI Urnik

OS Specific: Linux
Python Version: 3.x
Testing: Works on my machine

A commandline utility to display FERIs schedule offline.
Urnik was my answer to FERIs WiseTimetable scheduling web application at the end of 2017.

How it works

Urnik gets its information by downloading an .ics file from the scheduling website. Everytime the script is run it reads the .ics file, extracts its events and generates a table for the current days lectures which is then printed on the terminal.

The program automatically filters subjects based on their groups specified in the configuration file (more on that later). So it layman's terms, if there is a group in the lab work you're not apart of the program won't show it.

Output of the program:

image of urnik in CLI This picture is displayed by typing the command urnik -wf | less -S. The output is piped to less because the screen is too small and the terminal warps the text.


Urnik requires these things to run:

  • Firefox - A web browser (used with Selenium for .ics downloading),


Installing the script is simple:

# Install using the python package manager
pip3 install feri-urnik


Just type in the command

urnik -h

and you'll see what it can do.


The project comes with a configuration file, where you can tell it what schedule to download from the site and what subject groups the program should allow.

# Open the configuration file
urnik -c 

Link to the schedule

The image below shows the Wise Timetable site and the programs configuration file. Here are three steps on how to configure the the link to the schedule:

  1. Select what you want the table to show (you can even add subjects not present in the Program/Year dropbox).
  2. Copy the link displayed after clicking the "book" icon shown at step 1).
  3. Opening the programs configuration file, replace the link in the "url" variable with the just copied link.

image of steps for setting the schedules link in the programs configuration file

Subjects groups

How it works

For every event the program processes it checks if the subjects name matches any of the names set in the configs groups variable and if it matches, it then checks that the group name is the same as the one set in the subjects group list.

How to set it up

Open the configuration file and create a new item in the groups variable, set the name to the subjects name and add your desired groups to the group variable.

The value of the item in the group variable can be anything, but try to stick to the group name used by Wise timetable.

image of the configuration file

Reporting bugs

If the application goes south on you, please use GitHubs issue trackers and I'll see what we can do:

or contact me via email at:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for feri-urnik, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size feri_urnik-1.0.0-py3-none-any.whl (2.6 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size feri-urnik-1.0.0.tar.gz (8.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page