#solving #problem #kattis #system #challenge #terminal #description

bin+lib byggis

A build system for kattis problem solving challenges

11 releases

0.3.92 Feb 9, 2022
0.3.91 Feb 9, 2022
0.3.9 Nov 29, 2021
0.3.6 Aug 15, 2021
0.2.1 Sep 16, 2020

#19 in #solving

MIT license

29KB
568 lines

Build tool for Kattis

Byggis is a tool to make solving kattis problems easier through your terminal and a proper testing system.

Installation

Build from scratch via GitHub or download with cargo. (how to install cargo)

$ cargo install byggis

Usage

Start a new kattis solution:

$ byggis new <PROBLEM ID> 

In the kattis url: https://open.kattis.com/problems/aa the problem id will be aa so the byggis command will be

$ byggis new aa

Byggis will then prompt if you want to create a main file with a starter code snippet in it.

Supported languages:

  • Python (first class support)
  • Rust (almost first class support)
  • Java (second class support)
  • Haskell (not even sure if it works tbh)

Byggis will then create a new folder named <PROBLEM ID> where your main file exists.

To test your code against the test cases from kattis just do:

$ byggis run

if there are multiple main files, byggis will ask you which one to use.

To view your problems description with byggis use:

$ byggis describe

This will print the problems description in the terminal and reduce the need to alt tab.

TODO

  • Implement rust
  • Better help messages
  • Description of the problem from Kattis
  • Implement C
  • Implement C++
  • Implement submissions
  • Write tests

Contribute

If your desired language is not supported, please put in a pull request. Implementing a new language should be easy and only requires editing the supported_languages.rs file and should require minimal rust knowledge.

license

MIT

Dependencies

~14–28MB
~418K SLoC