atharva 🪷
Codeforces, but it lives in your terminal now.
fetch → test → emit → AC. no tabs. no mouse. no suffering.
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+ZthenEnter(instead ofCtrl+D). - login expired? just run
cfx loginagain. 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)
| File | Size | Uploaded | |
|---|---|---|---|
| atharva-0.1.1.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|