CLI companion for CP.
Project description
Lucy
Lucy, a CLI companion for competitive programming on AtCoder and Codeforces, frees you from tedious tasks. It automatically fetches sample tests, sets up directories, and lets you test your code with just a few commands, streamlining your workflow and letting you focus on writing brilliant solutions.
Support Languages
- C++
- Python
Supported Platforms
- AtCoder
- Codeforces
Featues
- Fetch Sample Test Cases
- Fetch Hidden Test Cases (after the contest ๐คช)
- Test Solution
- Setup Snippets
- Submit Solution
- What else? ๐ค
Installation
pip install lucy01
Environment Variables
-
LUCY_HOME
Specify home directory for
lucy
. -
DROPBOX_TOKEN
Dropbox developer access token with
sharing.read
permission. It can be generated at DBX Platform for Developers. This is necessary to fetch hidden AtCoder test cases releaved after the contest has ended. All AtCoder test cases may be found here.
Getting Started
- Set the environment variable
$LUCY_HOME
as preferred. By default, it uses the~/.lucy
. - Get help!
Check out the documentation.lucy --help
Directory Structure
$LUCY_HOME
โโโ .vscode
โ โโโ cp.code-snippets*
โโโ AtCoder
โ โโโ {ARC177}
โ โโโ{A}
โ โ โโโ main
โ โ โโโ tests
โ โ โ โโโ in
โ โ โ โ โโโ {00.txt}
โ โ โ โ โโโ ...
โ โ โ โโโ out
โ โ โ โโโ {00.txt}
โ โ โ โโโ ...
โ โ โโโ main.cpp
โ โโโ...
โโโ Codeforces
โโโ common*
โโโ base.cpp*
โโโ structures
โ โโโ grid.cpp
โ โโโ ...
โโโ ...
-
Lucy organizes your competitive programming workspace with a clear directory structure. Besides folders for specific contests and their solutions with
tests
, a key element is thecommon
directory. This folder stores reusable code snippets(*.cpp)
. These snippets can be easily inserted into your solution files using filename prefixes thanks to thecp.code-snippets
file in the.vscode
folder. This file, automatically generated withlucy update-snippets
, facilitates code completion within Visual Studio Code.
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.