Skip to main content

Python wrapper for moodle web service.

Project description

moodlepy

PyPi Package Version Supported Python versions LICENSE Tests codecov pre-commit Mypy

Python wrapper for moodle web service.

Introduction

This library provide a pure Python interface for Moodle Web Service. It's compatible with Python versions 3.8+

Install moodlepy<=0.22.2 for python 3.6 support. Install moodlepy<=0.23.8 for python 3.7 support.

Installing

You can install or upgrade moodlepy with:

pip install moodlepy --upgrade

Or you can install from source with:

git clone https://github.com/hexatester/moodlepy
cd moodlepy
python setup.py install

Usage

Example usage

from moodle import Moodle
url = 'https://my.domain/webservice/rest/server.php'
token = 'super secret token'
moodle = Moodle(url, token)
dict_site_info = moodle('core_webservice_get_site_info')
site_info = moodle.core.webservice.get_site_info()  # return typed site_info

print(dict_site_info)
print(site_info)

# or
from moodle import Mdl
from moodle.core.webservice import BaseWebservice

moodle = Mdl(url, token)
webservice = BaseWebservice(moodle)
site_info2 = webservice.get_site_info()

assert site_info == site_info2

❗️ If the function area does not have a type in the support table, the return value is in accordance with the Moodle web service documentation, wich mostly dict.

In the future all of Web service functions will be covered by moodlepy.

Moodle Web Service support

Area Functions Types Tests Status
auth_email A A
block A A
core_auth A A
core_backup A A
core_badge A A A
core_blog A A A
core_calendar A A
core_cohort A A
core_comment A A
core_competency
core_completion A A
core_course
core_customfield A A
core_enrol
core_fetch
core_files
core_filters
core_form
core_get
core_grades A
core_grading
core_group
core_h5p
core_message A
core_notes A A
core_output
core_question
core_rating
core_role
core_search
core_session
core_tag
core_update
core_user
core_webservice A A A A
enrol_guest A A
enrol_manual A A
enrol_self A A
gradereport_overview
gradereport_user
gradingform_guide
gradingform_rubric
local_mobile
message_airnotifier
message_popup
mod_assign
mod_book
mod_chat A
mod_choice
mod_data A
mod_feedback
mod_folder A A
mod_forum
mod_glossary
mod_imscp
mod_label
mod_lesson
mod_lti
mod_page A A
mod_quiz
mod_resource A A
mod_scorm
mod_survey
mod_url A A
mod_wiki
mod_workshop A
report_competency
report_insights
tool_analytics
tool_lp
tool_mobile A A
tool_templatelibrary
tool_usertours
tool_xmldb

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

moodlepy-0.24.0.tar.gz (82.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moodlepy-0.24.0-py3-none-any.whl (153.0 kB view details)

Uploaded Python 3

File details

Details for the file moodlepy-0.24.0.tar.gz.

File metadata

  • Download URL: moodlepy-0.24.0.tar.gz
  • Upload date:
  • Size: 82.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for moodlepy-0.24.0.tar.gz
Algorithm Hash digest
SHA256 30fd715474a95c8d44f818f7932bbc904c7ee0e05a4514fa9239fcab74311c7d
MD5 da9fd1a06ed7b40e2fc239536b396179
BLAKE2b-256 d4e54f919cba9a0026b2a25d7c8bd73d834517e1a78870a1f4baf3f4a5f1963e

See more details on using hashes here.

File details

Details for the file moodlepy-0.24.0-py3-none-any.whl.

File metadata

  • Download URL: moodlepy-0.24.0-py3-none-any.whl
  • Upload date:
  • Size: 153.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.17 Linux/5.15.0-1041-azure

File hashes

Hashes for moodlepy-0.24.0-py3-none-any.whl
Algorithm Hash digest
SHA256 599e88cac56b1aeea39d7b85a2d3fd3a947e5ea90b68651996ebe7b4d2e6d6d2
MD5 e63613c7b4f8b8d70fae5cca37c0885b
BLAKE2b-256 0e2185da6db64962e785214f6046f2a1a92ab26b5285db39dc0397bfb58799cf

See more details on using hashes here.

Supported by

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