Skip to main content

A python wrapper for a LearnDash API

Project description

LearnDash Python Library

Warning, early alpha. Most functionality is missing. The LearnDash Python Library provides a simple wrapper for a LearnDash API.

Documentation

See the LearnDash API V2 Docs.

Installation

pip install learndash

Usage

import learndash
learndash.api_host = https://my-learndash-website.com

# Auth is provided via wordpress user credentials when needed
import os
learndash.wordpress_un = os.environ.get('WORDPRESS_UN')
learndash.wordpress_pw = os.environ.get('WORDPRESS_PW')

# list Courses
courses = learndash.Course().list()
print(courses)

# retrieve specific Course
course = learndash.Course(12).retrieve()
print(course)

# add user to a course
course_id = 1
learndash.Course(1).users().update({'user_ids': [course_id]})

Supported Resources

The Learndash V2 API is still in beta, and this library is still in development. Supported resources and examples are listed below.

  • Course
    • Retrieve
      learndash.Course(1).retrieve()
    • List
      learndash.Course().list()
  • Course Step
    • List
      learndash.Course(1).steps().list()
    • Update
      learndash.Course(1).steps().update({})
  • Course Prerequisite
    • List
      learndash.Course(1).prerequisites().list()
  • Course User
    • List
      learndash.Course(1).users().list()
    • Update
      learndash.Course(1).users().update({'user_ids': []})
  • Course Group
    • List
      learndash.Course(1).groups().list()
    • Update
      learndash.Course(1).groups().update()
  • User
    • Retrieve
      learndash.User(1).retrieve()
    • List
      learndash.User().list()
  • User Course Progress
    • List
      learndash.User(1).course_progress().list()
  • User Course
    • List
      learndash.User(1).courses().list()
    • Update
      learndash.User(1).courses().update({'user_ids': []})
  • User Group
    • List
      learndash.User(1).groups().list()
    • Update
      learndash.User(1).groups().update({})
  • User Quiz Progress
    • List
      learndash.User(1).quiz_progress().list()

Configuring API Paths

The LearnDash Wordpress plugin allows admins to configure the paths for each API resource. By default, this library will use the LearnDash plugin's default paths, but you can reconfigure those paths.

How To Configure

Simply import the learndash module and overwrite the default path for an endpoint.

import learndash
learndash.path_courses = 'courses'  # Leave out slashes

Configurable Paths

All configurable paths and their default values are below. From learndash/__init__.py.

path_assignments = 'sfwd-assignment'
path_courses = 'sfwd-courses'
path_course_steps = 'steps'
path_course_prerequisites = 'prerequisites'
path_course_users = 'users'
path_course_groups = 'groups'
path_essays = 'sfwd-essays'
path_groups = 'groups'
path_group_courses = 'courses'
path_group_leaders = 'leaders'
path_group_users = 'users'
path_lessons = 'sfwd-lessons'
path_price_types = 'price-types'
path_questions = 'sfwd-question'
path_question_types = 'question-types'
path_quizzes = 'sfwd-quiz'
path_quiz_statistics = 'statistics'
path_quiz_statistics_questions = 'questions'
path_topics = 'sfwd-topic'
path_users = 'users'
path_user_course_progress = 'course-progress'
path_user_courses = 'courses'
path_user_groups = 'groups'
path_user_quiz_progress = 'course-progress'

Dependencies

Requires the requests library.

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

learndash-0.0.7.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

learndash-0.0.7-py3-none-any.whl (12.4 kB view hashes)

Uploaded Python 3

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