A package to get all you need to start a programming contest as fast as possible
Project description
CFaster
CFaster is a tool to easily set all you need to start a contest problem as fast as possible.
Get CFaster
If you want to install CFaster all you need is pip for Python 3 and running
pip install cfaster
Usage
Usage: cfaster [OPTIONS] COMMAND [ARGS]...
Options:
-v, --verbose Output INFO level logs.
-d, --debug Output DEBUG level logs.
--help Show this message and exit.
Commands:
scrape Scrapes the problem and saves inputs and outputs.
Example
This command will scrape the problem from the link and get all the inputs and outputs in .txt
files.
cfaster scrape https://codeforces.com/contest/1174/problem/A
In the future we will have a cfaster test
command for running your code, testing the inputs, comparing with the outputs and giving you the results.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
For the default isolated development environment used by the maintainers you will need:
- Docker
- Docker Compose(optional)
- Make(optional)
If you prefer not using Docker feel free to use any other you prefer, but the CI integration will be running with Docker images so this is the best way to replicate the production environment.
Installing
This project uses Docker for creating the isolated development environment.
You can run the Dockerfile build and run the container manually with
docker build -t cfaster .
docker run -it --rm -v $(pwd):/cfaster cfaster bash
or you can use Make and docker-compose to easily get everything running
make dev
Reading the Makefile shows what each target does.
Using
You will have two options on how to execute from source code
python -m cfaster
or
python setup.py install
cfaster
Running the tests
Automated tests
The tests for the CFaster are yet to be implemented, the software still in early alpha version.
Coding style tests
CFaster uses PEP8, for running a verification if your code is according to the rules use pycodestyle .
which will recursively run through all files and find any mistakes.
For fixing them automatically we use autopep8
autopep8 -r --diff . # this will show the diff after the fixing
autopep8 -r --in-place . # and this will fix in place the files
We recommend always checking the diff first.
Deployment
For now we don't have a deployment pipeline, but in the future it will be automated using CI and CD deploying the package to pypi.
Built With
- Python 3 - The coding language used
- Click - The command line interface package
- Beautiful Soup - Used to help scrapping the pages.
Contributing
If you want to contribute to the project please read CONTRIBUTING
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Vitor Falcão - Starter and main maintainer - vitorfhc
As soon as we get out first contribution we will start the file with contributors.
License
This project is licensed under the GPL-3.0 - see the LICENSE.md file for details
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file cfaster-0.0.2.tar.gz
.
File metadata
- Download URL: cfaster-0.0.2.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afe8316d6611cb1a8561243d7ab3ccbac1acd2484d4841ae694b6201be0ea793 |
|
MD5 | 703ef2d48544eac7087399081c4124d4 |
|
BLAKE2b-256 | 2c47261ef3bf546bb654d029278fafb5dd7b33cef83bf936581499bab179eea1 |
File details
Details for the file cfaster-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: cfaster-0.0.2-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27dd6c64d1172458fd095a6f8089d9a83d500fd46f5fe3def285e29ee58cef1f |
|
MD5 | 48b8e792a3329a45647f43d37cee045c |
|
BLAKE2b-256 | d62a519b06752bc5a1cb107dcb2686627a4f1f5bd0b605923ca3dfe7a8d8e0d1 |