Skip to main content

atharva 🪷

Codeforces, but it lives in your terminal now.
fetch → test → emit → AC. no tabs. no mouse. no suffering.

atharva demo


why does this exist 🥲

it's 2:47 am. contest ends in 11 minutes. you copy the sample input. paste it. copy the output. squint at two numbers. alt-tab. submit. wait. refresh. refresh. wrong answer on test 2.

bro. enough.

atharva does all of that for you, from the terminal you already live in. you just write code. the rest is handled. with love. 🫶


install (30 seconds, promise)

pipx install atharva

don't have pipx yet?

sudo apt install pipx    # linux
brew install pipx        # mac
pip install pipx         # windows
pipx ensurepath          # then open a new terminal

you'll also need Google Chrome installed (atharva borrows it to talk to Codeforces, very respectfully).

then log in once, and never again:

cfx login

that's it. you're him now.


the vibe check ✨

cfx fetch 1878E           # problem + samples, served hot 🍵
cfx test 1878E ans.cpp    # run every test, see EXACTLY what's off
cfx add 1878E             # paste your own evil edge case
cfx emit 1878E ans.cpp    # submit and watch it get judged, live

don't like cfx? type atharva instead. same app, more aura.


what it actually does 🧠

📖 statements you can actually read math becomes real symbols (aᵢ ≤ 10⁹, not a_i \le 10^9), samples sit side by side. your eyes will thank you.

🔍 diffs that point at the crime scene on a wrong answer, atharva highlights the exact values that differ. green is what they wanted. red is what you gave them. no more playing spot-the-difference at 3 am.

⏳ live judging, but make it pretty Running on test 7... with a little spinner, then a big colored verdict. you'll feel every test. emotionally.

🧪 custom tests add your own edge cases. no expected answer? fine, atharva just shows you what your code printed, so you can eyeball it like a true sigma.

🌍 five languages, zero setup atharva figures out the language from the file extension:

file runs locally with submits as
.cpp g++ -std=c++20 -O2 -DLOCAL GNU G++23
.py PyPy 3 (or Python if you don't have it) PyPy 3.10
.c gcc -std=c11 -O2 GNU GCC C11
.java java Java 21
.rs rustc -O Rust 2024

pro tip: anything inside #ifdef LOCAL runs on your machine and vanishes on the judge. debug prints, but invisible. lowkey magic.


where your stuff lives 🏠

1878E/
  statement.md      the problem, readable anywhere
  tests/
    s1.in  s1.out   samples (fetch refreshes these)
    c1.in  c1.out   your custom tests (fetch never touches these, pinky promise)
  ans.cpp           your masterpiece

small print, but friendly 📝

  • windows gang: when pasting a custom test, finish with Ctrl+Z then Enter (instead of Ctrl+D).
  • login expired? just run cfx login again. happens to the best of us.
  • during live contests, Codeforces hides test data, so you'll see the test number but not the values. that's on them, not us 🤷
  • atharva checks the Codeforces API at most once every 2 seconds. we play by the rules. good karma only.

found a bug? 🐛

open an issue. be specific. bonus points for the problem code and the exact command you ran. pull requests welcome. coffee's on me if it's a good one ☕


made with too much caffeine and too little sleep 🌙
may your submissions be green and your rating go up only 📈

MIT licensed. use it, fork it, love it.

Metadata

Release files for atharva 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for atharva 0.1.1
File Size Uploaded
atharva-0.1.1.tar.gz 14.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for atharva 0.1.1
File Interpreter ABI Platform
atharva-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / atharva-0.1.1.tar.gz

Download URL atharva-0.1.1.tar.gz
Size 14.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7ebed97ec10f4ac4e2fe79b20bc216cc62062527d6520e288196f7145b40ffa6
BLAKE2b-256 checksum
How to use checksums
7e43c99c51919c90163b96d7ccf23e8c1607e4b9ec550640544979790b4069fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / atharva-0.1.1-py3-none-any.whl

Download URL atharva-0.1.1-py3-none-any.whl
Size 14.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a99996cf0db56139538a35f9a29f49d7c9c647be8c4171e951747d73807054d
BLAKE2b-256 checksum
How to use checksums
6d79faaf53a702c7ee668ec3aabea14a12af7041875102decd9c56940f825ee3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page