Skip to main content

Python api for interacting with AIcrowd Grading infrastructure

Project description

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

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

aicrowd_api-0.1.25.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

aicrowd_api-0.1.25-py2.py3-none-any.whl (10.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file aicrowd_api-0.1.25.tar.gz.

File metadata

  • Download URL: aicrowd_api-0.1.25.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for aicrowd_api-0.1.25.tar.gz
Algorithm Hash digest
SHA256 5c57c6785ccacce335b627e9534a6c8d0bc19a475032dbfeed4516598797aa94
MD5 4500ab3d54fb105c30214cec19d7a516
BLAKE2b-256 bd02893a50e8888a305eacb96636512936153415d4b0bc24b32a684d37bde95a

See more details on using hashes here.

File details

Details for the file aicrowd_api-0.1.25-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for aicrowd_api-0.1.25-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ff9057e57e1ffc6bc65b8ab8ba37b12e5dba3b7e0fe9c7265fc5f90376949fe6
MD5 dfe5df9b14b5cd3e38970e0e81651650
BLAKE2b-256 2a09b66f1caaddae133e9dc09240c1208a93d1380f29e526280dfb2d9d2de33d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page