All Projects → codepost-io → Codepost Python

codepost-io / Codepost Python

Licence: lgpl-3.0
Provides a convenient Python interface to the codePost API. Start scripting!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Codepost Python

Canvasapi
Python API wrapper for Instructure's Canvas LMS. Easily manage courses, users, gradebooks, and more.
Stars: ✭ 306 (+565.22%)
Mutual labels:  api, education
Learn Anything
Organize world's knowledge, explore connections and curate learning paths
Stars: ✭ 13,532 (+29317.39%)
Mutual labels:  api, education
Telegram Test Api
Simple implimentation of telegram API which can be used for testing telegram bots
Stars: ✭ 42 (-8.7%)
Mutual labels:  api
Geojs
Geo-location lookup API
Stars: ✭ 45 (-2.17%)
Mutual labels:  api
Dito
Dito.js is a declarative and modern web framework with a focus on API driven development, based on Objection.js, Koa.js and Vue.js – Released in 2018 under the MIT license, with support by Lineto.com
Stars: ✭ 44 (-4.35%)
Mutual labels:  api
Api
Convo's RESTful API
Stars: ✭ 43 (-6.52%)
Mutual labels:  api
Cl Rest Server
Serve REST APIs from Common Lisp
Stars: ✭ 44 (-4.35%)
Mutual labels:  api
Contentjet Ui
Headless API-first content management system
Stars: ✭ 42 (-8.7%)
Mutual labels:  api
Yii2 Nested Rest
Nested routing support to the Yii RESTful API framework
Stars: ✭ 45 (-2.17%)
Mutual labels:  api
Python Api Development Fundamentals
Develop a full-stack web application with Python and Flask
Stars: ✭ 44 (-4.35%)
Mutual labels:  api
Vaxic
Node HTTP server framework
Stars: ✭ 45 (-2.17%)
Mutual labels:  api
Bear.resource
A hypermedia framework for object as a service
Stars: ✭ 43 (-6.52%)
Mutual labels:  api
Public Instagram
Tool to fetch Instagram's public content.
Stars: ✭ 43 (-6.52%)
Mutual labels:  api
Dbd Api
Dead By Daylight API
Stars: ✭ 45 (-2.17%)
Mutual labels:  api
Intro To Apis Course
Introduction to APIs course
Stars: ✭ 1,009 (+2093.48%)
Mutual labels:  api
Https
Secure HTTP client with SSL pinning for Nativescript - iOS/Android
Stars: ✭ 45 (-2.17%)
Mutual labels:  api
Psraw
PowerShell Reddit API Wrapper
Stars: ✭ 42 (-8.7%)
Mutual labels:  api
Google Analytics Api Symfony
Google Analytics API Symfony Bundle
Stars: ✭ 43 (-6.52%)
Mutual labels:  api
Activity
A PHP API to log anything anywhere
Stars: ✭ 44 (-4.35%)
Mutual labels:  api
Swat
Simple Web Application Test
Stars: ✭ 45 (-2.17%)
Mutual labels:  api

codePost API Python SDK

Gitter chat Build Status Coverage Status

This package provides a Python library to conveniently access the codePost API from any application or script written in the Python language.

You can learn more about codePost, the best tool for educational code feedback, or check out the documentation for powerful, best-in-class REST API that this Python SDK allows you to control.

You can also dive in directly with the codePost API Python SDK cheatsheet.

Quickstart

This section provides a quick overview of how to install the library and getting started, for more complete information, you can reference our First Steps with the codePost API Python SDK.

  1. This codePost API Python SDK is available on the Python package manager PyPi, and can be installed from all usual sources, such as with pip:
    sudo pipenv install codepost
    
    You can also install the package just for your account (pip install --user codepost) or using a tool such as pipenv which will install the library in a virtual environment (pipenv install codepost).
  2. Once you've import the codepost package, you need to configure it with the API key you've obtained from your Settings page (for other means of setting the API key, read here):
    import codepost
    codepost.configure_api_key("ddafde24389de98434f8df3ee482389de98432afde24482f3428923491344f8df3eef34892349134")
    
  3. You can then directly access the codePost objects:
    course = codepost.course.list_available(name="CS101", period="Spring 2020")[0]
    assignment = course.assignments.by_name("Hello World")
    submissions = assignment.list_submissions()
    for submission in submissions:
        print("{student},{grade}", student="+".join(submission.students), grade=submission.grade)
    
    to print the grades of all submissions of the assignment "Hello World" of the course CS101 in Spring 2020.

Development

The codePost API Python SDK is under active development. At this time, we are welcoming all issues, suggestions and feature requests. Please either post a GitHub issue on this repository, or join our Gitter channel to ask a question.

Running tests

To start developing, install pipenv, then install all dependencies (including development dependencies, with the flag --dev) for this project:

git clone https://github.com/codepost-io/codepost-python
cd codepost-python
pipenv install --dev

Run all tests on all supported versions of Python which you have locally installed:

make test

Run all tests for a specific Python version (modify -e according to your Python target):

pipenv run tox -e py37

Run all tests in a single file for a specific Python version:

pipenv run tox -e py37 -- tests/util/test_misc.py
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].