skbly7 / aicrowd_api

Python client for interacting with the aicrowd.com webapp api https://www.aicrowd.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AIcrowd API

Build Status

Python client for server side API of the aicrowd.com webapp.

Installation

Deployment

pip install git+https://github.com/AIcrowd/aicrowd_api.git

Development

git clone https://github.com/AIcrowd/aicrowd_api
cd aicrowd_api
pip install -r requirements_dev.txt
pip install -e .

Usage

Instantiate API object

from aicrowd_api import API as AICROWD_API
auth_token="<YOUR AICROWD AUTH TOKEN>"
api = AICROWD_API(auth_token)

Authenticate participant

  • with API_KEY
api.authenticate_participant(EXAMPLE_API_KEY)
  • with username
api_key = api.authenticate_participant_with_username("spMohanty")

Get all Submissions

challenge_id = "test_challenge"
submissions = api.get_all_submissions(challenge_id)
print(submissions)

Create Submission

challenge_id = "test_challenge"
submission = api.create_submission(challenge_id)
print(submission)

# Output
# ========================================
# AIcrowdSubmission	:	5261
# 	challenge_id	:	test_challenge
# 	round_id	:	False
# 	score	:	False
# 	score_secondary	:	False
# 	grading_status	:	submitted
# 	message	:
# ========================================

Get submission

challenge_id = "test_challenge"
submission_id = 5262
submission = api.get_submission(challenge_id, submission_id)

Update submission

Assuming you have a submission object by using api.create_submission or api.get_submission. You can update the submission by :

# Update params
submission.grading_status = "graded"
submission.score = 0.98
submission.score_secondary = 0.98
submission.update()
print(submission)
# Output#
# ========================================
# AIcrowdSubmission	:	5262
# 	challenge_id	:	test_challenge
# 	round_id	:	False
# 	score	:	0.98
# 	score_secondary	:	0.98
# 	grading_status	:	graded
# 	message	:
# ========================================

Tests

# Setup the environment varriables
cp environ.sh.example environ.sh
# Then modify the respective environment variables
source environ.sh
pytests tests/

Author

S.P.Mohanty mohanty@aicrowd.com Arjun Nemani nemani@aicrowd.com

About

Python client for interacting with the aicrowd.com webapp api https://www.aicrowd.com/

License:Other


Languages

Language:Python 93.9%Language:Makefile 6.1%