Skip to main content

CLI companion for CP.

Project description

Lint Test Publish PyPI GitHub Release

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.

Demo

Supported 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
  • ACL Support
  • What else? ๐Ÿค”

Installation

pip install lucy01

Environment Variables

  • LUCY_HOME

    Specify home directory for lucy.

Configuration

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.

Getting Started

  1. Set the environment variable $LUCY_HOME as preferred. By default, it uses the ~/.lucy.
  2. Get help!
    lucy --help
    
    Check out the documentation.

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 the common directory. This folder stores reusable code snippets (*.cpp). These snippets can be easily inserted into your solution files using filename prefixes thanks to the cp.code-snippets file in the .vscode folder. This file, automatically generated with lucy update-snippets, facilitates code completion within Visual Studio Code.

    Using Snippets

Project details


Download files

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

Source Distribution

lucy01-2.0.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

lucy01-2.0.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file lucy01-2.0.0.tar.gz.

File metadata

  • Download URL: lucy01-2.0.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lucy01-2.0.0.tar.gz
Algorithm Hash digest
SHA256 b62ab8ee63f9a00623d030cca8e6765311eac54de9ef6e44eb23ff77bdc7912d
MD5 6d83a067c7b046654f028cdf50989188
BLAKE2b-256 a418749dca0f636aed77190c2e099e40ca21855376f264d7ec09c1720e0aa138

See more details on using hashes here.

File details

Details for the file lucy01-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: lucy01-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lucy01-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d021688489ce521087da85b0e09d4b9133946c36fc7ad344fe0bfda3d3a59b6
MD5 ea91aad9350b79503e31df6510de76cb
BLAKE2b-256 7bcc89df6d401fd1b1d7841c9e98dc71ac38b8e1fbc33195cc555d11385ee5e0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page