XBlock
XBlock Core Library
Decision gist · record as of 2026-08-14
Yes, if you are developing for Open edX or a compatible platform. XBlock is the standard component architecture for edX courseware and is actively maintained with no known vulnerabilities. Install friction is low and dependencies are well-established. Not recommended for standalone use outside an Open edX environment—it is a framework component, not a general-purpose library.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later; intended for use within Open edX or compatible runtime environments.
- Low install friction with a pure-Python wheel distribution.
- Active maintenance with a recent release (37 days old) and ongoing repository activity.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
last release 2026-07-08 (37 days) · last repo commit 2026-08-10 · 468 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 78,142 downloads/mo, #14,466 on PyPI
Alternatives
Verify before relying
pip install xblock
from xblock.core import XBlock
class MyXBlock(XBlock):
pass- Whether this package is usable standalone or requires a full Open edX deployment to function.
- Specific runtime environment requirements beyond Python 3.12 (e.g., database, web server setup).
- How the 10 runtime dependencies (lxml, mako, webob, etc.) interact and whether they impose additional constraints.
What it is and what it does
XBlock is the core component architecture used by Open edX to build courseware. It provides a Python-level API and framework for creating educational content blocks—such as video players, problem sets, and learning sequences—that can be combined hierarchically to form complete courses. Unlike standards like LTI or SCORM, XBlock is designed for direct deployment: you provide the Python code, and it can be embedded directly into edX courseware without requiring external virtual machines or complex integration layers.
The package includes both the XBlock interface layer (which third-party developers use to write custom blocks) and runtime code (the behind-the-scenes infrastructure that edX uses to execute blocks). It depends on 10 runtime libraries including lxml for XML handling, mako for templating, webob for HTTP utilities, and others for data serialization and timezone support. The framework is production-stable, actively maintained, and designed to work within the Open edX ecosystem.
Use it for
- Building custom educational content blocks (video players, quizzes, simulations) for Open edX courses.
- Creating reusable problem components that can be embedded across multiple courses in an edX instance.
- Developing interactive learning experiences that integrate with edX's data storage and runtime.
- Extending Open edX with domain-specific educational tools (labs, simulations, assessments).
- Packaging educational content as deployable Python components rather than external LTI tools.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing for Open edX or a compatible platform.
XBlock is the standard component architecture for edX courseware and is actively maintained with no known vulnerabilities. Install friction is low and dependencies are well-established. Not recommended for standalone use outside an Open edX environment—it is a framework component, not a general-purpose library.
Install
xblock on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release (37 days old) and ongoing repository activity. Requires Python 3.12 or later.
Requires Python 3.12 or later; intended for use within Open edX or compatible runtime environments.
License in practice
Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install xblock
from xblock.core import XBlock
class MyXBlock(XBlock):
pass
Verify before relying
- Whether this package is usable standalone or requires a full Open edX deployment to function.
- Specific runtime environment requirements beyond Python 3.12 (e.g., database, web server setup).
- How the 10 runtime dependencies (lxml, mako, webob, etc.) interact and whether they impose additional constraints.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 10 packagesedx-opaque-keysfslxmlmakomarkupsafepython-dateutilpytzpyyamlsimplejsonwebob |
| Maintenance | Actively maintained 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 78,142 / month, #14,466 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.2Intended Audience :: DevelopersNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.12 |
Evidence: xblock-6.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “open edx courseware components”
- XBlockXBlock is a Python component architecture for building and embedding…
- openedx-eventsProvides event definitions and tooling for the Open edX Hooks…
- edx-rest-api-clientProvides OAuth2 and JWT utilities for communicating with Open edX…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also openedx-events · edx-enterprise · edx-ccx-keys · edx-django-utils · xformers · pyblock-builder · edx-rest-api-client · edx-toggles · sphinxcontrib-video