Skip to main content

Add your description here

Project description

CFCC (CodeForces Cool CLI)

You want to do codeforces, but you are scared to leave your amazing terminal??? Don't worry, because with this CLI you could achieve your dreams^.

^You need to still login into codeforces with your browser, upsis.

How to install

Nobody likes repo install, but it is too green for pip sooooorry

To install it, first start by cloning the repo:

git clone https://github.com/ThorTuwy/cfcc

Now, assuming that you have installed UV (I didn't mention before, to give you a sunken cost fallacy because I am a bad person :P ), run this command:

uv tool install .

And now you NEED to enjoy using this CLI thing.

WARNING: Configs are generated after running your first command, so do that pls.

Features 😎

It isn't an AI emoji pls trust me

  • Download problems using cfcc problem ID/URL cfcc-problem.png
  • Download entire contest using cfcc contest ID/URL cfcc-contest.png
  • Read your problems in tour beautiful terminal using: cfcc read cfcc-read.png
  • Test your solutions with cfcc test cfcc-test.png
  • Submit your solutions with cfcc submit cfcc-submit.png
  • See your submission in realtime with cfcc submissions cfcc-submissions.png
  • AND change the configuration using a simply TOML HOME/.config/cfcc/ cfcc-configs.png

General idea

Zzz text for Zzz mans

The main idea of this project is provide a CLI app in which you can (mostly) forget about the stupid browser and focus simply on your terminal to reduce mental noise, in part with that, the commands need to be stupidly easy to use, so is not need it to be thinking what you should do, and also I don't want and BIG dependency on the project as is a little lame ngl.

For that I decided on this way of working: This CLI is path-aware, so the idea is that when you download a contest/problem, when you are inside a problem folder, you are going to be able to use commands as cfcc read or cfcc submit without having to put paths or things like that. Also, instead of getting the cookies via a headless browser or some shit like that (Because Cloudflare protections are not possible to simply log in with plain request), I simply scrap the cookies of your current browser (Thx to browser_cookie3).

PROBLEMS!?!?!

In my project??? I am perfect^ so impossible that is my fault

If you need your favourite feature to be implemented or help fixing that annoying bug, simply open your own issue or PR (But know that you may or may not read it :P)

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

cfcc-0.1.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cfcc-0.1.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file cfcc-0.1.0.tar.gz.

File metadata

  • Download URL: cfcc-0.1.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cfcc-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5679fc71040a9824f611663f8a4aba2c9656cc43df05311665866675b1d1bbea
MD5 a7301d4e60aa491a4554d777db456c54
BLAKE2b-256 2e2eedbe31394578e2253b355472915d24d718f462a0856516c13ad85aaeb294

See more details on using hashes here.

File details

Details for the file cfcc-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cfcc-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for cfcc-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c9ee194c8e30048218b85563155508d6ab3f0b432f2f3921f3ad422f9326daa
MD5 3920b6085ae1a785ffbbe7d004a5591a
BLAKE2b-256 f7f454d95034f0c70b60547d725a039f2952d464a275031d7d2ab6cb1cb033fa

See more details on using hashes here.

Supported by

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