No project description provided
Project description
The go-to CLI tool for competitive programmers and setters.
Table of Contents
Overview
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.
Installation
From pip
$ 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
View auto-generated CLI reference here.
Tests
TODO
Project Roadmap
TODO
Contributing
Contributions are welcome! Here are several ways you can contribute:
- Report Issues: Submit bugs found or log feature requests for the
.
project. - Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your local account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone ../.
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to local: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
License
This project is protected under the Apache License 2.0 License. For more details, refer to the LICENSE file.
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
Built Distribution
Hashes for codefreaker-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af64c12618cfbc64e2c45ba044927973b1f0ca790d2deb60e39ba609b19cbe3c |
|
MD5 | aa77745e8bff06d3c3ff4db6170aa318 |
|
BLAKE2b-256 | ae0ddedec60812131ef9c52a5fc7391dee64230746b04c2e4886bb4e7b1868f2 |