Skip to main content

No project description provided

Project description

The go-to CLI tool for competitive programmers and setters.

Poetry Python FastAPI JSON


Table of Contents

Overview

![Usage video]

GitHub license PyPI pyversions PyPI version shields.io

Codefreaker is a CLI tool and library that aims to help contestants and setters from the competitive programming community to have an easier time.

Although trying to solve the issues of these two audiences seems to be too much for a single tool to handle, we exploit the fact that the journeys of contestants and setters have a lot in common.


Features

For contestants

  • 🤖 Parsing: provides an entrypoint for contests and problems to be parsed through Competitive Companion.
  • 🔨 Testing: provides commands for automatically running your problems against both downloaded and manually added testcases, and shows a clear report.
  • 📤 Submit: provides the option of submiting your solution for a few supported online judges from the command line.
  • 🧱 Structure: provides an opinionated structure for the file tree of both parsed and manually created problems.
  • ⚙️ Flexibility: still gives enough flexibility for you to extend your problem. Add testcases, set a custom checker, write a generator.

For setters

🔜 Still coming up!


Getting Started

System Requirements: the tool was developed for Unix systems and was tested only in Ubuntu.

If you want to use the parsing feature, you also have to install Competitive Companion.

Installation

From pip

PyPi

$ pip install codefreaker

From code

Go to the cloned folder and run:

$ pip install .

In Poetry venv (while developing)

Run the following when in the Poetry venv.

$ poetry install

Usage

0. Be familiar with Competitive Companion

Make sure you're familiarized with Competitive Companion -- a helper that facilitates parsing tasks directly from your browser.

1. Clone a contest or a single problem

$ # Or simply `cfk c`
$ cfk clone

After running the command above, hit the ➕ (plus) icon in Competitive Companion, and you should start seeing parsing logs in the command line.

clone

2. Implement a solution and run testcases

$ # Or simply `cfk test A`
$ cfk test A

test_wa test

3. Submit your solution

$ # Or simply `cfk s A`
$ cfk submit A

submit

Advanced usages

View auto-generated CLI reference here.

Tests

TODO


Project Roadmap

TODO


Contributing

Contributions are welcome! Here are several ways you can contribute:

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your local account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone ../.
    
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
    
  6. Push to local: Push the changes to your forked repository.
    git push origin new-feature-x
    
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


License

This project is protected under the Apache License 2.0 License. For more details, refer to the LICENSE file.


Return


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

codefreaker-0.1.3.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

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

codefreaker-0.1.3-py3-none-any.whl (49.6 kB view details)

Uploaded Python 3

File details

Details for the file codefreaker-0.1.3.tar.gz.

File metadata

  • Download URL: codefreaker-0.1.3.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2

File hashes

Hashes for codefreaker-0.1.3.tar.gz
Algorithm Hash digest
SHA256 eb3e045ef7130a071b1df83a5e5a506f96c4742436faa4c9886ecc401e78a74d
MD5 ad9224fa54e054cc93e205ea8aa38dd3
BLAKE2b-256 618632044e5386d34322e3924f78daa9bf1b2e4b33bae016095dbafc54a772cc

See more details on using hashes here.

File details

Details for the file codefreaker-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: codefreaker-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 49.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.146.1-microsoft-standard-WSL2

File hashes

Hashes for codefreaker-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7367ed817c013c6ec729f12154ea53ab39f4b2e9238f41a0225c143214f87936
MD5 64b5575e9b9e3a04524ff5412b234fcd
BLAKE2b-256 1c2e29629331ef337261cb64318cfcd8677483fbd8a945dd68726f315ce5f3b8

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