ralph-malph

View on PyPIReverse Dependencies (2)

5.0.1 ralph_malph-5.0.1-py2.py3-none-any.whl

Wheel Details

Project: ralph-malph
Version: 5.0.1
Filename: ralph_malph-5.0.1-py2.py3-none-any.whl
Download: [link]
Size: 201079
MD5: 6820cf4ad19e06398323c7e69521fa0e
SHA256: cab766cb27e9356dca4db5773a02774c944ae61902c064e0c99cfd6bbbcf2d2a
Uploaded: 2024-07-11 09:41:22 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: ralph-malph
Version: 5.0.1
Summary: Ralph, the ultimate Learning Record Store (and more!) for your learning analytics.
Author-Email: "Open FUN (France Université Numérique)" <fun.dev[at]fun-mooc.fr>
Project-Url: Homepage, https://openfun.github.io/ralph/
Project-Url: Bug Tracker, https://github.com/openfun/ralph/issues
Project-Url: Changelog, https://github.com/openfun/ralph/blob/main/CHANGELOG.md
Project-Url: Repository, https://github.com/openfun/ralph
License: MIT License Copyright (c) 2020-present France Université Numérique Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Keywords: LRS,Analytics,xAPI,Open edX
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Requires-Dist: importlib-metadata (<8.0,>=7.0.1)
Requires-Dist: langcodes (>=3.2.0)
Requires-Dist: pydantic[email] (<3.0,>=2.5.3)
Requires-Dist: pydantic-settings (<3.0,>=2.1.0)
Requires-Dist: rfc3987 (>=1.3.0)
Requires-Dist: clickhouse-connect[numpy,pandas] (<0.6); extra == "backend-clickhouse"
Requires-Dist: python-dateutil (>=2.8.2); extra == "backend-clickhouse"
Requires-Dist: elasticsearch[async] (>=8.0.0); extra == "backend-es"
Requires-Dist: ovh (>=1.0.0); extra == "backend-ldp"
Requires-Dist: requests (>=2.0.0); extra == "backend-ldp"
Requires-Dist: httpx (<0.25.0); extra == "backend-lrs"
Requires-Dist: motor[srv] (>=3.3.0); extra == "backend-mongo"
Requires-Dist: pymongo[srv] (>=4.0.0); extra == "backend-mongo"
Requires-Dist: python-dateutil (>=2.8.2); extra == "backend-mongo"
Requires-Dist: boto3 (>=1.24.70); extra == "backend-s3"
Requires-Dist: botocore (>=1.27.71); extra == "backend-s3"
Requires-Dist: requests-toolbelt (>=1.0.0); extra == "backend-s3"
Requires-Dist: python-keystoneclient (>=5.0.0); extra == "backend-swift"
Requires-Dist: python-swiftclient (>=4.0.0); extra == "backend-swift"
Requires-Dist: websockets (>=10.3); extra == "backend-ws"
Requires-Dist: ralph-malph[backend-clickhouse,backend-es,backend-ldp,backend-lrs,backend-mongo,backend-s3,backend-swift]; extra == "backends"
Requires-Dist: twine (==5.1.0); extra == "ci"
Requires-Dist: bcrypt (>=4.0.0); extra == "cli"
Requires-Dist: click (>=8.1.0); extra == "cli"
Requires-Dist: click-option-group (>=0.5.0); extra == "cli"
Requires-Dist: sentry-sdk[fastapi] (>=1.9.0); extra == "cli"
Requires-Dist: anyio (<4.4.1); extra == "dev"
Requires-Dist: black (==24.4.2); extra == "dev"
Requires-Dist: cryptography (==42.0.7); extra == "dev"
Requires-Dist: factory-boy (==3.3.0); extra == "dev"
Requires-Dist: logging-gelf (==0.0.32); extra == "dev"
Requires-Dist: mike (==2.1.1); extra == "dev"
Requires-Dist: mkdocs (==1.6.0); extra == "dev"
Requires-Dist: mkdocs-click (==0.8.1); extra == "dev"
Requires-Dist: mkdocs-material (==9.5.25); extra == "dev"
Requires-Dist: mkdocstrings[python-legacy] (==0.25.1); extra == "dev"
Requires-Dist: moto (==5.0.9); extra == "dev"
Requires-Dist: mypy (==1.10.0); extra == "dev"
Requires-Dist: neoteroi-mkdocs (==1.0.5); extra == "dev"
Requires-Dist: polyfactory (==2.16.0); extra == "dev"
Requires-Dist: pyfakefs (==5.5.0); extra == "dev"
Requires-Dist: pymdown-extensions (==10.8.1); extra == "dev"
Requires-Dist: pytest (<8.0.0); extra == "dev"
Requires-Dist: pytest-cov (==5.0.0); extra == "dev"
Requires-Dist: pytest-httpx (<0.23.0); extra == "dev"
Requires-Dist: requests-mock (==1.12.1); extra == "dev"
Requires-Dist: responses (==0.24.1); extra == "dev"
Requires-Dist: ruff (==0.4.7); extra == "dev"
Requires-Dist: types-python-dateutil (==2.9.0.20240316); extra == "dev"
Requires-Dist: types-python-jose (==3.3.4.20240106); extra == "dev"
Requires-Dist: types-requests (<2.32.0.20240603); extra == "dev"
Requires-Dist: types-cachetools (==5.3.0.7); extra == "dev"
Requires-Dist: ralph-malph[backends,cli,lrs]; extra == "full"
Requires-Dist: bcrypt (==4.1.3); extra == "lrs"
Requires-Dist: fastapi (==0.111.0); extra == "lrs"
Requires-Dist: cachetools (==5.3.3); extra == "lrs"
Requires-Dist: httpx (<0.25.0); extra == "lrs"
Requires-Dist: sentry-sdk (==2.4.0); extra == "lrs"
Requires-Dist: python-jose (==3.3.0); extra == "lrs"
Requires-Dist: uvicorn[standard] (==0.30.1); extra == "lrs"
Provides-Extra: backend-clickhouse
Provides-Extra: backend-es
Provides-Extra: backend-ldp
Provides-Extra: backend-lrs
Provides-Extra: backend-mongo
Provides-Extra: backend-s3
Provides-Extra: backend-swift
Provides-Extra: backend-ws
Provides-Extra: backends
Provides-Extra: ci
Provides-Extra: cli
Provides-Extra: dev
Provides-Extra: full
Provides-Extra: lrs
Description-Content-Type: text/markdown
License-File: LICENSE.md
[Description omitted; length: 6856 characters]

WHEEL

Wheel-Version: 1.0
Generator: bdist_wheel (0.43.0)
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

RECORD

Path Digest Size
ralph/__init__.py sha256=bJvegSlOwGTKTWZUA_RgDm_EjbCI6oR3FhaXeDuGdiA 43
ralph/__main__.py sha256=of1sivn7zxMY3-phUU4mmxhR1LaK52nJi9agebe3d5k 523
ralph/cli.py sha256=EWc_vVgwu4kS2twEhjOmqc1tVaHqRUfDTg1U6uTkJ-s 27061
ralph/conf.py sha256=o-Nah5raCUUPtbJ2T4iZRfQI3BD-g11NcEFIEnmSI5M 7415
ralph/exceptions.py sha256=adSs2tveX0QkZ8Gj5WyAp5AdrC2L0jgxjyxBgnJT8GQ 940
ralph/filters.py sha256=lW8Gnb1V1NRhHNH8xCg9gHeRTsyxe7ASDbZ_FxogAwE 617
ralph/logger.py sha256=zQ_ThPU5B0cFiYzHPOCmZJvaOmFhTjaSE_W9-2rMqqA 392
ralph/parsers.py sha256=02TkUTCAxQNalL50_XMXPvxJKu4MPQqb7E3itUztZ4k 2896
ralph/utils.py sha256=wEbfEni2x124xAL69DdqXQcmJIMkrnjhqNcxu71qhCg 10245
ralph/api/__init__.py sha256=G5WeaVI8vAP7tVDEEVZrLD_LdG9aiA1emWihRh39zYA 1580
ralph/api/forwarding.py sha256=I5K7a08gi-KgQ58eKlrSKSHSOH_kGNnFPfEu_EhVXvQ 2164
ralph/api/models.py sha256=RQzHk5r7qJpiGLlcFsgOyp69qMLUp_H6amPOfdq8N7s 1567
ralph/api/auth/__init__.py sha256=4oAhaf3TqZDvbKkVSHsPGRyRxqZa6vHnutWiA9YEq1I 1948
ralph/api/auth/basic.py sha256=7DwoJMhA2gRrBIlyrRumk0LkKY59akuszQtL-EM49z8 5845
ralph/api/auth/oidc.py sha256=tb7QDxYRrrQDWUlQ38ONN-wdpIZC5j12cr-dpHrfwK8 5178
ralph/api/auth/user.py sha256=_k9MACUSqhWYhF65nRROiJDO8Q_ixJ_Y3nCNzox1Z3s 1899
ralph/api/routers/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/api/routers/health.py sha256=mvQe6EDVKVE7oS-Tv_VWcXJiCJtd9K2xlpgxadjZUUc 1507
ralph/api/routers/statements.py sha256=pFkYIAm8vmmQka8hkMD5-biF24XN6RJpam-ZEICseUw 23807
ralph/backends/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/backends/loader.py sha256=ri2QrlyGSazKK_6Yw9khqdHx__DJi6ggEge5uEAvFzY 2826
ralph/backends/data/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/backends/data/async_es.py sha256=qoZb1kdHrQVi-2L0D7Ujz63IE6ZSfntBB9s8rnhETc4 11863
ralph/backends/data/async_lrs.py sha256=BJvFR7Q1E9yZx54cvlqjIAJ0JXhBlZQP_hy3DBWDxDg 10326
ralph/backends/data/async_mongo.py sha256=DdWIyWr9niE7dVmGG9LewNG76YOBxabCW_8WRlwgiJo 14111
ralph/backends/data/async_ws.py sha256=u-P4-hQQUKdWuwhQ4LalaC2G7feVu7t5msk-de_0u94 9036
ralph/backends/data/base.py sha256=_H3SDFIB6-AoIewn0pzgg8dkJmZYB_OwSJbuNItt0-M 26715
ralph/backends/data/clickhouse.py sha256=P-bTX9wyIxd0aqJ7lM9GRdY2W6T18HNc8rgm6gAA7nY 15976
ralph/backends/data/es.py sha256=HtrdBoV5cugRLTWmr7tCObl2svr9uRB9aBVa7hdJnsI 16337
ralph/backends/data/fs.py sha256=zw7kjxWEI0vN7gFVKorkKTGqLnjwgLmBn3DAXvIyIAk 15328
ralph/backends/data/ldp.py sha256=ZfoPgi23R7WJoSMFQ__Sc2Dy0tTAxeQg-nkZxExW49Y 11598
ralph/backends/data/lrs.py sha256=e0HaGNq2TMkIq4NLmFRwUrOwWUCIuZqd9cWycxGCkpg 11294
ralph/backends/data/mixins.py sha256=VCTJMKu0Zn7ct65zJGfGPLH89sBfEmfl-TC8xRHGJ3Y 2301
ralph/backends/data/mongo.py sha256=puIxyk1xB59oY6LfS_5YatZ9CjxssJzSkREw1TZdJu0 18096
ralph/backends/data/s3.py sha256=JPW_aLKJdDvYMIbuuZaU0NyjvtHQ9AMcDyAtLK95uf8 15991
ralph/backends/data/swift.py sha256=kytkdezpWKHONjdchLxK3u6RI4or6_CyKunhT7Bf4l8 16601
ralph/backends/lrs/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/backends/lrs/async_es.py sha256=G2keLV-KHl9d7RJA9O8Ou3YkYrgZst9t6u13J6wLooE 2030
ralph/backends/lrs/async_mongo.py sha256=YgJAGUcvfn6GNgTC0Vuinxe5k7NrU803ELWPZSqmC_M 2120
ralph/backends/lrs/base.py sha256=u2RC-iEG7dHRdWdtNA9TPvbK91K3IBSQ5I5d-3L7wvI 4750
ralph/backends/lrs/clickhouse.py sha256=5oe3IWdNDZvUblC606FvHzIsfKtuecmHUtIjIw4fyo8 7205
ralph/backends/lrs/es.py sha256=bB5wTITjrfuolU1TDtUWshfnHKh07m4q01H_ogu9pT4 5172
ralph/backends/lrs/fs.py sha256=hUn6s5bAzFRZsKSEKkAjDNbqB1kuBvT_UXQarCT_Mng 15765
ralph/backends/lrs/mongo.py sha256=pWjNMnwkByGmE9joIp3LcLRp3B0cv0arulpTMSuO0YY 5623
ralph/models/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/converter.py sha256=BScr73hTcfxcBHK-ljnrtc5aFj7GXtxtpisLbEF5XJc 9385
ralph/models/selector.py sha256=92PgRrsY2pZoiXCTK04FP3-XTEs0il2JH4EBoO9jGuU 5250
ralph/models/validator.py sha256=XZNuR0KqIQ19E_4GvXiNtXtEIUi_R9_HgD1SA_RA4Zs 3114
ralph/models/edx/__init__.py sha256=zMF6TLqppelBqAUo3rZ5woh7hP6zGiEgIP5ZC4BwduU 3670
ralph/models/edx/base.py sha256=91N6ZO_3AYg9S1PBBWnEjALtExc3LVfy-61Q9ENBE8w 6675
ralph/models/edx/browser.py sha256=wEUUtIlpfofuEVOuzUpsyfgyQij0BZjiV0937EnP3Xo 1014
ralph/models/edx/server.py sha256=1-pjgWdEsG2Dn1nvaUFWClYozo1cJfoGXjcV8Ui8ECA 1927
ralph/models/edx/bookmark/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/bookmark/statements.py sha256=ZedQF7u72hh1_J4hTFZf2LVBXi6_XmUJNj14Jker6kc 4450
ralph/models/edx/bookmark/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/bookmark/fields/events.py sha256=ilBIGU9435ROKvDcQhGgiNIu6fioISD9fcosbDpHMfs 3085
ralph/models/edx/certificate/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/certificate/statements.py sha256=n9TBPhiD4GWj4tHyJgN5h28IhP1CayCgLJdLDSOsHss 4288
ralph/models/edx/certificate/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/certificate/fields/events.py sha256=3JWb4I-6aRS8SEaw2CEhv4o9xSWHW3VLCYcCfHo1xPY 2967
ralph/models/edx/cohort/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/cohort/statements.py sha256=-A1fuQYRaevgpfOoidmT2AsHirbhmixQG-aHcOfOmAY 2351
ralph/models/edx/cohort/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/cohort/fields/events.py sha256=bcW7umyKnUDyJzEw_tJWr4cFkLYJ19_5iaLPFOIdpOs 597
ralph/models/edx/content_library_interaction/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/content_library_interaction/statements.py sha256=VAo8g2hzQbfwwj4BDxWwF0R6KTf5Y99g3nNfoPTwx1U 2543
ralph/models/edx/content_library_interaction/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/content_library_interaction/fields/events.py sha256=PWcI4gwTpv88pJP3InBPs8wNnuwRFkgUyQlzH5fi-Kc 3191
ralph/models/edx/converters/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/converters/xapi/__init__.py sha256=Qeb015JvA2DkQ4Pw7Nv35M0N8Fb__fn5O-ukcXBhLPc 475
ralph/models/edx/converters/xapi/base.py sha256=LyQmRp-3ixTlvIJq5SIvvgLIypLO1GmNzKqe33yRupo 1795
ralph/models/edx/converters/xapi/enrollment.py sha256=mh6YprG5xUG02mU8z4PD2YJevfIezYVTWGbQoaENJbQ 1720
ralph/models/edx/converters/xapi/navigational.py sha256=1gMTTPPSFxARlW6IiBzWXqBlZtiJPvcwraX1lNYRYXE 958
ralph/models/edx/converters/xapi/server.py sha256=7R8MTSWX3JpopB74ouyl1zXWle8uOZfYmw6VtBukYEM 944
ralph/models/edx/converters/xapi/video.py sha256=Y66f2OTUjAhk2i9wrFWPCiojBsF30FOE6WxobCnVb_s 7566
ralph/models/edx/course_content_completion/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/course_content_completion/statements.py sha256=q7QvSMlrXvzKHyCDPO66142Xo3i05BAp1nAXcfx5-UE 1984
ralph/models/edx/course_content_completion/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/course_content_completion/fields/events.py sha256=nzdk5DtvG7vv-ExrSD17kA4y88ty1zWgBd85bSGnXsA 471
ralph/models/edx/drag_and_drop/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/drag_and_drop/statements.py sha256=4BQTMya85Vq2Y0K9H8dQHJ7CuDIgAhf0KBtW9qlIFS4 4729
ralph/models/edx/drag_and_drop/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/drag_and_drop/fields/events.py sha256=sUtPE1HlVulsL_118Ur_JMfnvKjo8E4NgeibOCR5WHA 2454
ralph/models/edx/enrollment/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/enrollment/statements.py sha256=o10fwLBzUg88pskH1PJYfbvF-WWlUpeMXrXZ2xevpuo 4859
ralph/models/edx/enrollment/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/enrollment/fields/contexts.py sha256=j7DS-gM7rUGGTq6qJI0lakql5owu8PSLitfq4iqJ43g 1117
ralph/models/edx/enrollment/fields/events.py sha256=RiIU4NgIVc8n1drYnaZtWWxO7UvtuRp4mTF5YFOBTwU 957
ralph/models/edx/navigational/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/navigational/statements.py sha256=NtbDL4ZCMC-cywX_hHPZzfGP5xyeupOi-BCQmP2BxI0 3737
ralph/models/edx/navigational/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/navigational/fields/events.py sha256=vbtnAUWcSLG9NvvhHkbG6u7oRFjSBj_sFJPzMIv102c 1100
ralph/models/edx/notes/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/notes/statements.py sha256=tBdYpGvTkMZ2xc-kdo47VqD6S4a7QQ-HenCoPcaRZzo 6788
ralph/models/edx/notes/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/notes/fields/events.py sha256=XDYujMXZi-nNXbAbfyeTX4SaYHK5IY8GIi9TvMNHWIQ 3484
ralph/models/edx/open_response_assessment/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/open_response_assessment/statements.py sha256=axgDofsCru3HPE2C9EqfQ3QOMtz0w4bPdLiRP6IX6MA 8201
ralph/models/edx/open_response_assessment/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/open_response_assessment/fields/events.py sha256=n6sVG1vlB-OTRQH4KnB5tpvYPlU9k27F1VYHVR9XMmA 10120
ralph/models/edx/peer_instruction/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/peer_instruction/statements.py sha256=Dy8QREBMoDTWV16GJiki5d8LEchFf9mXYeecUHwb-6M 2905
ralph/models/edx/peer_instruction/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/peer_instruction/fields/events.py sha256=rZvjYdRK9x103xKtesI_f0rTOljIAAMp3HS1Cf50Acc 804
ralph/models/edx/poll/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/poll/statements.py sha256=NJR_o90NTQ94zKethUWWLBwP8VCn9ZE-P08gz4-_Z5g 1684
ralph/models/edx/poll/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/poll/fields/events.py sha256=Yg_q_A2FUpgJkwfCsxxlSmooD3q0VJVTK02-CGdcXpk 471
ralph/models/edx/problem_interaction/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/problem_interaction/statements.py sha256=MM_17xGZNgBe_6iI0n_fCTktg5ZGLP1xgmTwlKXGq5A 10544
ralph/models/edx/problem_interaction/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/problem_interaction/fields/events.py sha256=U0O0c0Ty4HsfM-JpkyUDaqg0K6P0GGHhjgGVihUBcN8 13185
ralph/models/edx/survey/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/survey/statements.py sha256=1ugRUjshYZ-IufV96505fS9CUCAf0acPzRWWvDCrXME 1728
ralph/models/edx/survey/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/survey/fields/events.py sha256=YVltw8-7IMJwIngfBwtg-w2DOauQbXjRIODf-T5P8kQ 513
ralph/models/edx/teams_related/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/teams_related/statements.py sha256=RTuqLpuujfsQ33Z7HJOHrY0Hhkumw7dcF89A1heo6fM 5549
ralph/models/edx/teams_related/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/teams_related/fields/events.py sha256=hU5mIxx3H5dJb9ZOnmK4uYdIYz5lvbdCP0HYEX4CqNA 4019
ralph/models/edx/textbook_interaction/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/textbook_interaction/statements.py sha256=pkc962kr3xo2j5j2p7cdE0Cgoa4-OwMrdXm8u9Z_bYo 12455
ralph/models/edx/textbook_interaction/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/textbook_interaction/fields/events.py sha256=1o-HfyIJm4IAAdASrVJME_Q15lP_ijbKOJcGE5ZCeh4 10266
ralph/models/edx/video/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/video/statements.py sha256=gH0f7XoRVt-RRl9UIIEtYAKZYlVEdj7-KbOtSswA1eo 7827
ralph/models/edx/video/fields/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/edx/video/fields/events.py sha256=a3T3MB59Wy0SYPr0nNDR1sZvabtL7p6ZzgA3LgyfJOU 3169
ralph/models/xapi/__init__.py sha256=KXvERzamxCQtRgbIdohB8aPe4eL2ea_VmnPyze8Jte0 1204
ralph/models/xapi/config.py sha256=s7ge7dlq37eF8-l9uPAeT00ptQOduAOaaU6ITrDRBqY 534
ralph/models/xapi/constants.py sha256=O6dNZ0Cqmg7xQRqaqVte2XW49cSIH_nx2dIEpXx7QQ0 83
ralph/models/xapi/base/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/base/agents.py sha256=fSL6UoZMQd30jaSFVdEkdA5_C9RdkdLW0ncjeyZxffE 2127
ralph/models/xapi/base/attachments.py sha256=7JshLgcLGvCgfuiw7sZKZq00xDTy_VvQLaZTzUO936U 1001
ralph/models/xapi/base/common.py sha256=8wJGw5bABqr9_ukYX-P96wbyDEIG9uiopHe8aM1Hey0 1821
ralph/models/xapi/base/contexts.py sha256=_Swr_C0aWhadtTcZxnyQFh2lOeHa9U7z30BDpRtt-OU 2520
ralph/models/xapi/base/groups.py sha256=lHw5X7GazHJuplWEs-nn1Ha2Xn1iu4aIYPMGKTuLb0w 2459
ralph/models/xapi/base/ifi.py sha256=XVwIrfZ3yTgIUQeeKmHpy8Z1NmM6k-k_zTvx2USO4iw 1570
ralph/models/xapi/base/objects.py sha256=Zu37hsvl7yxzlNQVHhv9GE897r7rb1EhVEzGgLD_SjA 1507
ralph/models/xapi/base/results.py sha256=ABUscc5JszFMHrPxpo4-JEU_wUOyY3dMllmPmPHT17c 2370
ralph/models/xapi/base/statements.py sha256=WFFv9mc5upXwXPu_RrIUJDby9Zsv9dO_YmAk073R8Bc 3203
ralph/models/xapi/base/unnested_objects.py sha256=apwTgt8Z-IlymouPs496l24DRjKscEj5ZMD4V-Gkvco 4268
ralph/models/xapi/base/verbs.py sha256=khy6NH8qMjeCQJBem9rxtFM5wS7o6B9pH0QKuivzKOU 456
ralph/models/xapi/concepts/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/concepts/activity_types/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/concepts/activity_types/acrossx_profile.py sha256=pJSYlGgFOGTXPPjHHEJl4LI2_SBsuRcINxmL5-bbMUE 1566
ralph/models/xapi/concepts/activity_types/activity_streams_vocabulary.py sha256=wYYDU4EMyFVXcZ-_UX738nt-9tIVEawrDNRrV2i9A44 1404
ralph/models/xapi/concepts/activity_types/audio.py sha256=R_Zg0Z_QfFDMWBG9G7dKUvBKu8SPHR0WzMWtgbxCqO0 952
ralph/models/xapi/concepts/activity_types/scorm_profile.py sha256=jchFToQypw2CN5NqimfvBdo64tTbBYAhVraOhuniOXE 2933
ralph/models/xapi/concepts/activity_types/tincan_vocabulary.py sha256=-0_IDNHjpXR8q1ml7P7ZF1gR2QIKQ45Ng0uws-hVgWo 1520
ralph/models/xapi/concepts/activity_types/video.py sha256=s_1Wb6jD6qNYNg0Nr_itkZCw2owRBkekCxXLLRrQnqo 898
ralph/models/xapi/concepts/activity_types/virtual_classroom.py sha256=G27iUWjK8IxqsO1pmUg1OkVwkfMvQq22m2DLodtnqIs 1090
ralph/models/xapi/concepts/constants/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/concepts/constants/acrossx_profile.py sha256=AMI48jvhPuPirPH0Ruc0arUZhV0LBUnFHCV2PuaTXTA 252
ralph/models/xapi/concepts/constants/cmi5_profile.py sha256=pFLpMUbN8sEeb3xqcVHSs9pjuq4IG1k3kQ5GNDru44k 163
ralph/models/xapi/concepts/constants/lms.py sha256=suxO1owi4ap1W-VcX-nKrRyICqDN26NDtOHEd_vEzYw 304
ralph/models/xapi/concepts/constants/scorm_profile.py sha256=JNi7bcf4m3kEGojf1_c_pURu8qV4uuguJhI_fDqve3w 222
ralph/models/xapi/concepts/constants/tincan_vocabulary.py sha256=eT_DGc7wAlzJyXbmDZzalk0UyEcJ8fb24-ZTNmhsyKs 178
ralph/models/xapi/concepts/constants/video.py sha256=GXQcc8ZMXKSFhzdxJ8dicdmTfIZGJyOul4-xS5xk0pI 1689
ralph/models/xapi/concepts/verbs/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/concepts/verbs/acrossx_profile.py sha256=0WWj0TcZqayGC4N5xSINtYrJemyFndU1-VUAwTo8mvQ 753
ralph/models/xapi/concepts/verbs/activity_streams_vocabulary.py sha256=vU9_7Ejx3yDe9Q_vf_ps2KMb6vI2u4TJj0gjYZa63xI 1109
ralph/models/xapi/concepts/verbs/adl_vocabulary.py sha256=19_YMHu5nF7bbZ9Krr7fcyz7ETKznCgYIz75qjQDcTY 1680
ralph/models/xapi/concepts/verbs/navy_common_reference_profile.py sha256=VgO8VtcnfFVNQ_OsTae6LfVmN4V3c1AgSOhsmOeWP_4 1246
ralph/models/xapi/concepts/verbs/scorm_profile.py sha256=gB10ffymE65iGLHsI_siatEDUOubxrPV9loZyuelXBQ 2210
ralph/models/xapi/concepts/verbs/tincan_vocabulary.py sha256=a3Q2MsoT1BljQg9V52eqnW_-AwK386DDcY2jEaD1FgE 1700
ralph/models/xapi/concepts/verbs/video.py sha256=B2M0Jk7u4EHudM-0opI8Er3jHXeO-lfjWoQOLcz1iYo 1675
ralph/models/xapi/concepts/verbs/virtual_classroom.py sha256=iDqPhbQkfVZKjG6Ehje6W5evkjqXLZRNEPGZIjJhmmo 4733
ralph/models/xapi/lms/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/lms/contexts.py sha256=JBDGyffSDUiu6K1uhBnFefS6XOK7kq3uARRuZh8asNI 6080
ralph/models/xapi/lms/objects.py sha256=R1Zqp1Mr6gVzGBimUQ10DC86NUkNIe7A5BVLHdB3uPI 2392
ralph/models/xapi/lms/statements.py sha256=fxJon2nTZ0g8nd9AzorUbirO0zPT1y9FIqunbDo_8XE 8206
ralph/models/xapi/navigation/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/navigation/statements.py sha256=oTH2SSh1_QTxKPlacdjWptWhhIRj5YA6bvqP1HCbYSU 1308
ralph/models/xapi/video/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/video/contexts.py sha256=mIkdMZ2g3oc9N3aVr84evTsOU1tSGANiHY4VdpmCbCQ 9695
ralph/models/xapi/video/results.py sha256=E8xSovvYKXqPddajvGkPR7DU-DEliL5-ml_5EY8Fd0Q 5462
ralph/models/xapi/video/statements.py sha256=He21-9-pkLTtF9j1RgdklkEOFf0RotMfPt_WQ7jQsBE 6898
ralph/models/xapi/virtual_classroom/__init__.py sha256=0eVFfVd2aZXTZHFXcLZnFk8MftII4cMhRBBYt3Hm3LI 13
ralph/models/xapi/virtual_classroom/contexts.py sha256=uPCTVHHmwKdvfV_nBUH5w9LFC6to_8vHFksWD2wiHzo 8144
ralph/models/xapi/virtual_classroom/results.py sha256=OA9ev2X09X-GUABtalWq9sYkcD9RXlTi1plxwGbLeQo 416
ralph/models/xapi/virtual_classroom/statements.py sha256=3YQW7L8pgllyyWI_f1FQPgvbT4uMdj0dkON0cWh_r1o 12740
ralph_malph-5.0.1.dist-info/LICENSE.md sha256=COp3KR3pxw-ONoG5YGEBqhCO_fPou5MJGlZrQRd3Pi4 1094
ralph_malph-5.0.1.dist-info/METADATA sha256=sXvE1e_wOOQt83pLr5bvcrCwm4gSDIiMRJnCympnp4c 12969
ralph_malph-5.0.1.dist-info/WHEEL sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE 110
ralph_malph-5.0.1.dist-info/entry_points.txt sha256=wQJ_iiotWegOwiiP8xLuCtpQLl7HoAWKFGNyb-qjHM4 1042
ralph_malph-5.0.1.dist-info/top_level.txt sha256=FdGuAbK4AaJmmKygpIp1hr_oh_1ehuESEhM62CmCWvg 16
ralph_malph-5.0.1.dist-info/zip-safe sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs 1
ralph_malph-5.0.1.dist-info/RECORD

top_level.txt

helm
ralph
tray

entry_points.txt

ralph = ralph.__main__:cli.cli
async_es = ralph.backends.data.async_es:AsyncESDataBackend
async_lrs = ralph.backends.data.async_lrs:AsyncLRSDataBackend
async_mongo = ralph.backends.data.async_mongo:AsyncMongoDataBackend
async_ws = ralph.backends.data.async_ws:AsyncWSDataBackend
clickhouse = ralph.backends.data.clickhouse:ClickHouseDataBackend
es = ralph.backends.data.es:ESDataBackend
fs = ralph.backends.data.fs:FSDataBackend
ldp = ralph.backends.data.ldp:LDPDataBackend
lrs = ralph.backends.data.lrs:LRSDataBackend
mongo = ralph.backends.data.mongo:MongoDataBackend
s3 = ralph.backends.data.s3:S3DataBackend
swift = ralph.backends.data.swift:SwiftDataBackend
async_es = ralph.backends.lrs.async_es:AsyncESLRSBackend
async_mongo = ralph.backends.lrs.async_mongo:AsyncMongoLRSBackend
clickhouse = ralph.backends.lrs.clickhouse:ClickHouseLRSBackend
es = ralph.backends.lrs.es:ESLRSBackend
fs = ralph.backends.lrs.fs:FSLRSBackend
mongo = ralph.backends.lrs.mongo:MongoLRSBackend

zip-safe