Repository: Cloud-CV/evalai-cli
Issue: Google Summer of Code Tasks

# Features to implement for the EvalAI CLI:

- [x] Get all challenges
    - command: `evalai challenges list`
    - data: name, id and short description

- [x] Show number of challenges in which participant has participated
    - command: `evalai challenges list -participate true`
    - data: Show the challenge id, challenge name, and short description

- [x] Show number of challenges in which participant has hosted
    - command: `evalai challenges list -host true`
    - data: Show the challenge id, challenge name, and short description

- [x] Get current challenges
    - command: `evalai challenges list ongoing`
    - data: name, id and short description

- [x] Get past challenges
    - command: `evalai challenges list past`
    - data: name, id and short description

- [x] Get future challenges
    - command: `evalai challenges list future`
    - data: name, id and short description

- [x] Get details about the phases of a challenge
    - command: `evalai challenges phases list -c 1`
    - data: phase name, id and short description

- [x] Get details about a particular phase of a challenge
    - command: `evalai challenges phases -c 1 -p 2`
    - data: show all the details that a ChallengePhase serializer shows in django app

- [x] Get all participant teams of the user
    - command: `evalai teams list`
    - data: show team name, team pk, members usernames in the team

- [x] Create a participant team
    - command: `evalai teams create`
    - data: show team name, team pk, member

- [x] Participate in a challenge
    - command: `evalai challenges participate -c 1 -pt 123`
    - data: success message with relevant metadata

- [x] Make submissions to the challenge phase
    - command: `evalai challenges submit -c 1 -p 2 -file submission.json`
    - data: show the status of the submission with all relevant information that we show in my-submissions

- [x] Get status of a particular submission
    - command: `evalai submissions -s 1234`
    - data: show the status of the submission with all relevant information that we show in my-submissions

- [x] Get all the challenge phase splits of a phase in a challenge
    - code: `evalai challenges phases splits -c 1 -p 2`
    - data: show the name, id of the challenge phase splits

- [x] Pretty print the leaderboard of a challenge
    - command: `evalai challenges leaderboard -c 1 -cps 3`
    - data: show the leaderboard as it is shown on EvalAI website

- [x] Show submission stats for a challenge (both for participants and hosts)
    - command: `evalai challenges submissions stats -c 1`
    - data:  shows the stats based on the user if he is a participant or show all submission stats is he is a host

- [ ] Show submission stats for a challenge phase (both for participants and hosts)
    - commad: `evalai challenges submissions stats -c 1 -p 2` 
    - data: shows the stats based on the user if he is a participant or show all stats is he is a host

- [x] Display number of submissions happened between two dates for a challenge phase
    - command: `evalai challenges submissions -d1 mm/dd/yyyy -d2 mm/dd/yyyy`
    - data: show all the submission id, submission date and other details that we show in my-submissions tab in EvalAI

- [x] Display number of submissions happened between two dates for a challenge phase with filtering by participant team.
    - command: `evalai challenges submissions -d1 mm/dd/yyyy -d2 mm/dd/yyyy -pt 12`
    - data: show all the submission id, submission date and other details that we show in my-submissions tab in EvalAI done by a particular participant team

@isht3 Please add the link to latest gist here. 

Features completed and merged into master according to the new CLI design https://cloudcv.slack.com/files/UA0PU3B1T/FB1U0AY6B/evalai_cli_design.md