Package: termicoder
TermicoderView, Code, Submit directly from terminalMade with :heart: byDivesh UttamchandaniA python based command line interface for helping in competitive programming. Termicoder aims at automating and simplifying the process of coding, testing and submitting solutions to Online Judges so that one can concentrate only on algorithmsInspiration behind TermicoderInstallationUser installationpip install termicoderuse sudo -H if required. preferably use pip3 (python3)Developer installationclone this repoin the root folder of this repo runpip install --editable .notice the dot(.) in above command at the endNote: it is better to use virtualenv and pip3 (python3)to remove this package, in the root folder of the repo runpython setup.py develop --uninstallNote: Termicoder is in its development stage and has only been tested on Ubuntu + python3. Support for other configurations is being worked on, if you are using some other platform and encounter errors, do create anissuefor them. For windows one can also try usingBash on Ubuntu on Windows; most features have been tested out there and work as expected.Autocomplete for bashTo setup tab autocompletion for termicoder commands,
seetermicoder config autocomplete --helpCurrent SupportJudges IncludedCodeChefLanguages Support IncludedCC++Python2/3HighlightsUsage: termicoder [OPTIONS] COMMAND [ARGS]...

  __       __                      _                __
  \ \     / /____  _________ ___  (_)________  ____/ /__  _____
   \ \   / __/ _ \/ ___/ __ `__ \/ / ___/ __ \/ __  / _ \/ ___/
   / /  / /_/  __/ /  / / / / / / / /__/ /_/ / /_/ /  __/ /
  /_/   \__/\___/_/  /_/ /_/ /_/_/\___/\____/\__,_/\___/_/

  view, code & submit problems directly from terminal.

Options:
  --version            Show the version and exit.
  -v, --verbosity LVL  Either CRITICAL, ERROR, WARNING, INFO or DEBUG
  -h, --help           Show this message and exit.

Commands:
  clip    Copies code from file to clipboard.
  code    Creates and opens file with template code.
  config  Configure settings, autocomplete etc.
  debug   Launches custom debug interface.
  list    List the contents of current folder.
  repl    Start an interactive shell.
  setup   Sets up problem, contests and login.
  submit  Submit a solution.
  test    Test code against the sample testcases.
  view    View contests and problems.Detailed Command HelpFor details of a particular command use:termicoder--help
termicoder<COMMAND>--helpor you can have a look athelptextwhich contains the output of all help commandsSample RunFor a sample we recommend going throughsample runwhich contains the detailsChangeLogChangeLog and Older Releases are availible underReleases.Contributing to TermicoderTermicoder is mostly written in python.
If you are looking towards contributing to the code base, you should begin with reading the following:CONTRIBUTINGGUIDELINESIDEAS.You can also contribute otherwise byImproving the Documentation.Most of the documentation lies in thedocumentationfolder. To start fork this repo, change and create a pull requestreporting a bug or requesting a feature.Please create anissueabout the bug/feature.Giving feedback about the work. (both praise and criticism are equally appreciated).mail :diveshuttamchandani@gmail.comLICENSEMITNOTEThis is a complete redesign and rewrite oftermicoderto support judges as plugins,
As well as to support the new codechef API.Unlikeprevious implementationthis
completely does away withexecandevalcalls. And implementsJudges,ProblemsandContestsas classes instead of modules.There is an abstract classJudgewhich is used to dispatch operations to a
particular judge instance throughJudge Factory.
Developers can subclass and implement theJudgeclass externally
and attach their module to setup tool entry-point -termicoder.judge_plugins.Termicoder dynamically loads these judges and dispatches the operations.
Complete documentation for writing judge-plugins and the UML design docs for
termicoder would be available soon. By then you can look at thetermicoder/judges/codechefin this repo for an example implementation.
See setup.py for example of how to subscribe to entry pointtermicoder.judge_plugins.This distribution currently includes judge plugincodechefimplemented usingcodechef apiforcodechef api hackathon powered by AlibabaThere are also many completely new features implemented in this version includingtermicoder repl,termicoder config,termicoder clip,termicoder config autocompleteThough this implementation lacks support for colors as well as a few other
features which were present in previous implementation.
This is mostly due to time constraint of the hackathon. Codechef API
severely limits requests per time which slows down development.
We will try to get it running, once we have tested and perfected the
api based features.This repo code will replace themain termicoder repoafter this is perfectedYou can use previous implementation of termicoder by specifying the version while pip
installation.
Previous implementation had version numbers~0.2.*and current implementation has
versions~0.3.*Once all primary features are implemented we will shift to beta versions~0.9.*for develop branch and stable versions~1.0.*for master branch