4.0.0-beta1
Pre-release
Pre-release
Install with:pip install --pre --upgrade ralph-malph
Features
Added
- Backends: Add
WritableandListableinterfaces to distinguish supported
functionalities amongdatabackends - Backends: Add
max_statementsoption to data backendsreadmethod - Backends: Add
prefetchoption to async data backendsreadmethod - Backends: Add
concurrencyoption to async data backendswritemethod - Backends: Add
get_backendsfunction to automatically discover backends
for CLI and LRS usage - Backends: Add client options for WSDataBackend
- Backends: Add
READ_CHUNK_SIZEandWRITE_CHUNK_SIZEdata backend settings - Models: Implement Pydantic model for LRS Statements resource query parameters
- Models: Implement xAPI LMS Profile statements validation
- Models: Add
EdXtoxAPIconverters for enrollment events - Project: Add aliases for
ralph-malphextra dependencies:backendsandfull
Changed
- Arnold: Add variable to override PVC name in arnold deployment
- API:
GET /statementsnow has "mine" option which matches statements that
have an authority field matching that of the user - API: Invalid parameters now return 400 status code
- API: Forwarding PUT now uses PUT (instead of POST)
- API: Incoming statements are enriched with
id,timestamp,stored
andauthority - API: Add
RALPH_LRS_RESTRICT_BY_AUTHORITYoption making?mine=True
implicit - API: Add
RALPH_LRS_RESTRICT_BY_SCOPEoption enabling endpoint access
control by user scopes - API: Enhance 'limit' query parameter's validation
- API: Variable
RUNSERVER_AUTH_BACKENDbecomesRUNSERVER_AUTH_BACKENDS, and
multiple authentication methods are supported simultaneously - Backends: Refactor LRS Statements resource query parameters defined for
ralphAPI - Backends: Refactor
database,storage,httpandstreambackends under
the unifieddatabackend interface [BC] - Backends: Refactor LRS
query_statementsandquery_statements_by_ids
backends methods under the unifiedlrsbackend interface [BC] - Backends: Update
statementIdandvoidedStatementIdto snake_case,
with camelCase alias, inLRSStatementsQuery - Backends: Replace reference to a JSON column in ClickHouse with
function calls on the String column [BC] - CLI: User credentials must now include an "agent" field which can be created
using the cli - CLI: Change
pushtowriteandfetchtoread[BC] - CLI: Change
-c --chunk-sizeoption to-s --chunk-size[BC] - CLI: Change websocket backend name
-b wsto-b async_wsalong with it's
uri option--ws-urito--async-ws-uri[BC] - CLI: List cli usage strings in alphabetical order
- CLI: Change backend configuration environment variable prefixes from
RALPH_BACKENDS__{{DATABASE|HTTP|STORAGE|STREAM}}__{{BACKEND}}__{{OPTION}}
toRALPH_BACKENDS__DATA__{{BACKEND}}__{{OPTION}} - Models: The xAPI
context.contextActivities.categoryfield is now mandatory
in the video and virtual classroom profiles. [BC] - Upgrade base python version to 3.12 for the development stack and Docker
image - Upgrade
bcryptto4.1.2 - Upgrade
cachetoolsto5.3.2 - Upgrade
fastapito0.105.0 - Upgrade
sentry_sdkto1.39.1 - Upgrade
uvicornto0.24.0.post1
Fixed
- API: Fix a typo ('attachements' -> 'attachments') to ensure compliance with
the LRS specification and prevent potential silent bugs
Removed
- Project: Drop support for Python 3.7
- Models: Remove
school,course,modulecontext extensions in Edx to xAPI
base converter - Models: Remove
namefield inVideoActivityxAPI model mistakenly used invideoprofile - CLI: Remove
DEFAULT_BACKEND_CHUNK_SIZEenvironment variable configuration