A Python Helper CLI for Competitive Programming
Project description
FastSnake
Tired of having to copy-paste your library code into every solution you write? FastSnake is a command-line tool that allows you to easily create, expand, run and test Python solutions for competitive programming problems.
This project provides useful CLI tools for competitive programming, such as algorithms and data structures, and tools for Codeforces. But you will have to write your own code and library for the problems you want to solve.
Installing FastSnake:
$ pip install FastSnake
Basic Usage:
Starting a contest from Codeforces...
$ fastsnake codeforces -sc <contest_id>
Note: The contest ID can be found at contest URL https://codeforces.com/contest/<id>
Once you have written your solution, test it.
$ fastsnake test <problem>
You can also create your own generator, at test_generators
folder, to bruteforce your solution.
$ fastsnake test <problem> -g <n_tests>
Starting a Custom Contest
Use the command below to start your own contest.
$ fastsnake start-custom-contest <n_problems>
Algorithms and Structures
FastSnake provides some algorithms and structures that can be injected to your final solution. See the sample below:
Python Solution:
from fastsnake.algorithms.min_coins import *
coins = []
for x in input().split():
coins.append(int(x))
value = int(input())
result = min_coins(coins, value)
print(result)
Use the argument --list <algorithms | structures | external>
to see all algorithms and structures provided by FastSnake.
Injecting the algorithm to the final solution...
$ fastsnake compile main.py
Check out the code of the generated Python module.
Testing and Compiling:
You may test and compile your solution using the command below:
$ fastsnake test <problem> -c
If the solution was accepted at all test cases, it will be compiled.
Adding External Modules:
You may also add your own modules to the external package of fastsnake.
$ fastsnake add-external <path | url> --name <module_name> [--url]
For downloading the module from web, use the flag --url
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fastsnake-1.4.6.tar.gz
.
File metadata
- Download URL: fastsnake-1.4.6.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6675b615445d6e72aa9f4a875a35eaf65d311a798b956cbd5bdff8c07fed777d |
|
MD5 | 86f87aad10a74d892bb4e43d99ae2da3 |
|
BLAKE2b-256 | 64781a4c3d3ce95c18fccdeb08ce6e72ca42bba6452a48055a9c44480a544c76 |
File details
Details for the file fastsnake-1.4.6-py3-none-any.whl
.
File metadata
- Download URL: fastsnake-1.4.6-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae549c6c20ba7c2526dc7d7560f57db7da5f177aec4fdfd7513e481b9bd1aae |
|
MD5 | 2dea8a16b206718bed728d7431d9f77f |
|
BLAKE2b-256 | 6de387d6fe15ffd85ec786517e298fb929e4560c8f614e0c55937e58e4616956 |