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.
Demo.webm
- C++
- Python
- AtCoder
- Codeforces
- Fetch Sample Test Cases
- Fetch Hidden Test Cases (after the contest 🤪)
- Test Solution
- Setup Snippets
- Submit Solution
- ACL Support
- What else? 🤔
pip install lucy01
-
LUCY_HOME
Specify home directory for
lucy
.
Lucy supports the following configuration options which can be accessed using the config
command
group:
-
AtCoder.UserId
,AtCoder.Password
AtCoder login credentials. Required to perform tasks which require signing in such as setting up an ongoing contest.
-
NThreads
Default threads of execution to be used when setting up a contest.
4
seems to be a good choice.
- Set the environment variable
$LUCY_HOME
as preferred. By default, it uses the~/.lucy
. - Get help!
Check out the documentation.
lucy --help
$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.Using.Snippets.webm