otter-grader

View on PyPIReverse Dependencies (4)

6.1.0 otter_grader-6.1.0-py3-none-any.whl

Wheel Details

Project: otter-grader
Version: 6.1.0
Filename: otter_grader-6.1.0-py3-none-any.whl
Download: [link]
Size: 142297
MD5: bc2a167384150d2cb633dc4c303988b3
SHA256: 9c2ae522f6b27dabd8d1bec49262bc1e227816d1912b2dff0c0de9bc8e3f96e7
Uploaded: 2025-01-27 00:38:12 +0000

dist-info

METADATA

Metadata-Version: 2.3
Name: otter-grader
Version: 6.1.0
Summary: A Python and R autograding solution
Author: Christopher Pyles
Author-Email: cpyles[at]berkeley.edu
Project-Url: Documentation, https://otter-grader.readthedocs.io/
Project-Url: Homepage, https://otter-grader.readthedocs.io/
Project-Url: Repository, https://github.com/ucbds-infra/otter-grader
License: BSD-3-Clause
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9,<4.0
Requires-Dist: click (<9.0.0,>=8.1.7)
Requires-Dist: dill (>=0.3.0)
Requires-Dist: fica (>=0.4.1)
Requires-Dist: google-api-python-client; extra == "plugins"
Requires-Dist: google-auth-oauthlib; extra == "plugins"
Requires-Dist: gspread; extra == "plugins"
Requires-Dist: ipykernel; extra == "grading"
Requires-Dist: ipylab (<2.0.0,>=1.0.0)
Requires-Dist: ipython
Requires-Dist: ipywidgets (<9.0.0,>=8.1.5)
Requires-Dist: jinja2 (<4.0,>=3.1)
Requires-Dist: jupyter_client; extra == "grading"
Requires-Dist: jupytext (<2.0.0,>=1.16.4)
Requires-Dist: nbconvert[webpdf] (>=6.0.0); sys_platform != "emscripten" and sys_platform != "wasi"
Requires-Dist: nbformat (>=5.0.0)
Requires-Dist: pandas (>=2.0.0)
Requires-Dist: pypdf; extra == "grading"
Requires-Dist: python-on-whales (<1.0.0,>=0.72.0)
Requires-Dist: pyyaml (<7,>=6)
Requires-Dist: requests (<3.0,>=2.31)
Requires-Dist: rpy2 (<4.0.0,>=3.5.16); extra == "r"
Requires-Dist: six; extra == "plugins"
Requires-Dist: wrapt (<2.0.0,>=1.16.0)
Provides-Extra: grading
Provides-Extra: plugins
Provides-Extra: r
Description-Content-Type: text/markdown
[Description omitted; length: 2017 characters]

WHEEL

Wheel-Version: 1.0
Generator: poetry-core 2.0.1
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
otter/__init__.py sha256=tulQv671GKIGG5lv_BWG4hwaB9Vfykz2XLIMUZvrTrA 193
otter/__main__.py sha256=4nS-LYBLFP0epiR7Ulym6N5qASdkPU_FmHW1YM6HauA 87
otter/api.py sha256=JELiw-2FAmW6nHLVWa7xghtEAkfkcK482LP18XwGjxU 2230
otter/assign/__init__.py sha256=rEMxy13z6q0cpd3PTKa3tKulUJ9GsNXyaVgZt8OaoLs 6069
otter/assign/assignment.py sha256=piF0e2T_Bts4pdmyPCi5Iu0l3NWk_3p_0w8060-v6JE 12766
otter/assign/blocks.py sha256=OqJ03L20e0gXBTe3EcYC0PtPPqL7iJpsHhu_vc9J1tM 3694
otter/assign/cell_factory.py sha256=LZDaG9Qy-ijzwGOB45nIAS8oB0_CYH9WCZjVsLBmhV0 6363
otter/assign/feature_toggle.py sha256=qQSbh1W7WcGwsOm6FI3gn9hQdm3vZ6n4tc54CoMKZis 933
otter/assign/notebook_transformer.py sha256=oDLkfpoyG1iXBnlE4HLw2qVHhC61g8uJErrFckEUsxA 19926
otter/assign/output.py sha256=jtunKW1Z0oQnTYjQLTHvZ3Uy3xtjgLEgkT8_Ou6nAqc 5581
otter/assign/plugins.py sha256=rY-qfTAn2ctYu_e9vn51Ivt4me5HItwpuwuzevOm-w4 2662
otter/assign/question_config.py sha256=4ChpshkkNLKI78p2Mj7xdUJimeupKLZ_2UmnqxK6s8U 1510
otter/assign/r_adapter/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
otter/assign/r_adapter/cell_factory.py sha256=BsmzWZR_8CQPsA1A-92YoUuL2a9r8Ac_mZk_nPIopqI 2245
otter/assign/r_adapter/rmarkdown_converter.py sha256=vo5qias8f1iRD5GhfAasbKQWqP2X_bAWGsmsGLrJZBg 5507
otter/assign/r_adapter/solutions.py sha256=J6h0WkcDRULChyls3r9y37bHWERbdVo56dzAzV1aJD8 801
otter/assign/r_adapter/tests_manager.py sha256=uYhxPufO_FLOOddOQ6TiDhkNQ3v0Nk4TPobIQ07r_W4 3087
otter/assign/solutions.py sha256=ZpmXxT7fq2CppJ5vcQF4hqwwIyyjVgByzlP0TE8u8Z0 7291
otter/assign/tests_manager.py sha256=9SBgP0bQOgzEVojfuH_bcMokFfUNRMTOlU-U029EiqI 17346
otter/assign/utils.py sha256=RG3Zn4nmewyFpLJHAMwBCi2SLgbryD-zZPDgB7EEvMc 12567
otter/check/__init__.py sha256=lfP09i-UIVpkUDfvAslTBLaFUlgs1DrC7gOZiVultz0 3648
otter/check/logs.py sha256=sFAm9P7bJBOWLiFc57uvURS4hABtus0oyZLG42icemo 18674
otter/check/notebook.py sha256=ry2MINX9mPA8NzOsujOAkhjo5sKgdiIRyZaRfiwNmkg 22753
otter/check/utils.py sha256=T8MadotEshemToVGIH4gYgVzr2UpF7PD6lolKFwuWyU 11837
otter/check/validate_export/__init__.py sha256=CyHw62KSvpaRsMTMXD93YwOhOzqeAFX9TNkskyaOpEs 76
otter/check/validate_export/__main__.py sha256=1yxUT6nTF_WXhQ3oUANRpGrFsuMxgVUmg3HKb_Uxy7g 1278
otter/cli.py sha256=eFSoNQVLsCEY8GoJ9GdFCf9PRmHK_IOUhvteFCb2Ks4 9544
otter/execute/__init__.py sha256=JZT3N81OuDEpmHVXS6BhWBH4dhAKg59mk7thjsrmpk8 4737
otter/execute/checker.py sha256=Kn9e5RCgjDY9bqQyiQqcqNgENfoJUTT3vDBDtfybVBM 3740
otter/execute/logging.py sha256=bY2fGskGvoFrE1_FRRJGcqRwEBamYP3eQmZ5_9FRfzY 3474
otter/execute/preprocessor.py sha256=O3-6kayxObwjU_4wH7V86_EJBet5qmhVnLKOntgEago 7748
otter/export/__init__.py sha256=NYLo9Nv5ogc7jhtoaMt66arJqdNpCQ17KdYs2z1BPyA 2361
otter/export/exporters/__init__.py sha256=8Tr5--4LVaAM6tWO2ZWeRW1wRW-cVkqdywtidApf08A 1392
otter/export/exporters/base_exporter.py sha256=46Ic5OKlx6L6PNOvhofG6ZBQzeXod7VOvzEidnb7eqw 5403
otter/export/exporters/templates/via_html/conf.json sha256=wMAEUGIRglxKz9u4KzBKgpKvRpMMiOSROKDPRQ7aZXM 285
otter/export/exporters/templates/via_html/index.html.j2 sha256=R7rvTBQ5CKbJs6M6Rkt_cZ7k88UkFg5K9DSXA7qJaVU 793
otter/export/exporters/templates/via_latex/conf.json sha256=98qrmoMfbOdpAog2eoahvXPvWGC5LGNQv1vCUxtrXt0 144
otter/export/exporters/templates/via_latex/index.tex.j2 sha256=lFZMTeubNQb4rmhUBKuvTA22q_om752HEQQBdsjOYaM 896
otter/export/exporters/templates/via_latex_xecjk/conf.json sha256=98qrmoMfbOdpAog2eoahvXPvWGC5LGNQv1vCUxtrXt0 144
otter/export/exporters/templates/via_latex_xecjk/index.tex.j2 sha256=SHyG9fBndgcc3GOp6XFgc1pMZyOo-6kBM8jL4xSbuzw 916
otter/export/exporters/utils.py sha256=-5HLrucPmRUaUfadwzqKbyaq48iKLI2ObmPM-HcTUi4 2019
otter/export/exporters/via_html.py sha256=FVXJrZ3jFb4WVYtU2cxSTs6KhDK7cZb0JET5W98ZhZ0 2068
otter/export/exporters/via_latex.py sha256=zyQpR8WZ5zwY2C0axIIE2ozzkXcz5fS016d-VtNiDrc 2936
otter/generate/__init__.py sha256=0iY5u41Hb93ITUPt9Lb6Qul1TvRHqIH61xnaV6bED4Q 11755
otter/generate/templates/common/run_autograder sha256=j8z0TUYqRP8xFK6122cMpPtxk_DZlgZtFiz78sSTrLY 239
otter/generate/templates/common/run_otter.py sha256=9sWpLWJlN-wYG0gnrvtiNKQa_05DFKKq-r9r2xRaU3s 524
otter/generate/templates/python/setup.sh sha256=6SDhmcyoNgAogd1FUha-7gCjmVpxJWmxg-4ZDPLNvrk 1287
otter/generate/templates/r/setup.sh sha256=fTmb8B4Ax8krztel5nlmoHhF41niV7hl5KRjYS5CNgA 1881
otter/generate/token.py sha256=MeXNFkFMWO1wFAntStdgGBUZLxW5efPsqv-NdAC9ZMM 3276
otter/generate/utils.py sha256=b8p9Mtsf3nUjf9F2GQ-CJ5G80JVyOL_EsPsVJ04C9Tk 3360
otter/grade/Dockerfile sha256=ShVtPv4s5FAimDzjyfhGBzivknbDT-JmD_mMJEtP8XI 978
otter/grade/__init__.py sha256=pOAkFzlnQqgzJweclP9_mqCzt1J4j3ishStwK4tb52I 5838
otter/grade/containers.py sha256=CNUTDz0Ocgzk-doK4_fcILtJ4UxhoFYFvmKRmoxE_BI 8941
otter/grade/utils.py sha256=uo_IIpm3gY6NOQPijqJB7GpH_fVAhBq9R2Ojv41w2GY 5450
otter/logging.py sha256=SWRPtB0arXZWpGvBynEQO8C40xeyXrd216Kb_B2xUNQ 4775
otter/nbmeta_config.py sha256=l8aB7BhLj6CdjerIi0q4MnTcluaqEFoszIqzEvyc3Jo 2449
otter/plugins/__init__.py sha256=vsfkzsLZZyld83Oh5X0tQ41FRTgCi9m4LYLV8LKTYRg 8255
otter/plugins/abstract_plugin.py sha256=K_MmDCRXsdVk5n0mqDbc62FYLmxpqkaJIkLeOw0FD38 8525
otter/plugins/builtin/__init__.py sha256=CeIRXTh5Zevl5utap9GlzqD1Zo6z8UC_vEI9z740hio 257
otter/plugins/builtin/gmail_notifications/__init__.py sha256=QBSItbXTtx8xS90FOMHc9CPswtahd_eufuZUpWYh26s 6298
otter/plugins/builtin/gmail_notifications/bin/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
otter/plugins/builtin/gmail_notifications/bin/gmail_oauth2.py sha256=i4CLvGCbOdoLrqs6sNNTC0d8vFCoqIj3EWmmfljn1DU 12868
otter/plugins/builtin/grade_override.py sha256=_7Hf_G9oQ1UN5xqbWo-J-QGQnAU-EExg8ellVNs8TmI 5973
otter/plugins/builtin/rate_limiting.py sha256=AwasfnS6P75ar2XYzzknfldLwU1tutckzzwrRtiMUjc 4908
otter/run/__init__.py sha256=ZlwP8mKuCF3S5ru9EcKTQhOo6R_V0VOk9VZ3GwM03-E 3343
otter/run/run_autograder/__init__.py sha256=ehHO22Tx-uWiFTBgXw4rBvzkmbr30xM8d-DsszGciF4 4704
otter/run/run_autograder/autograder_config.py sha256=hzFcJ3huj_QZRQdcZkEBTLCmZwbb08Au8lWJPYLicsE 5715
otter/run/run_autograder/runners/__init__.py sha256=YVH0AGptbyMLMqqniROwB_9bM5lsXI4MiMy4803uqUU 730
otter/run/run_autograder/runners/abstract_runner.py sha256=9XNVcHz3verpb9V8wKGxx5WgILsoVyEbwIF_ajYMfeY 8922
otter/run/run_autograder/runners/python_runner.py sha256=Z_fjy57e4uupf-TWoodLgz5a4hfZKrxuozwaqJUKmWc 6015
otter/run/run_autograder/runners/r_runner.py sha256=ZCM2hIEWkc6R0Ff_EBv_AVBC1wXiSV-IQVXJU5j-JXc 6953
otter/run/run_autograder/utils.py sha256=_2BseWQMy7Sj6tAOabb5HzyGxfDV16Eb90jKBVRsY3E 1471
otter/test_files/__init__.py sha256=3mSwTZMNGGhfBFXpMeTSpLvDHX5ET6aPgr5ykDNV4y0 18831
otter/test_files/abstract_test.py sha256=8208EYIix8xl-pdCr_VZTl_YNPVqLzKW-Yjn-ST7dY4 12335
otter/test_files/exception_test.py sha256=9I18ZI-niE9OlN-8YcCr3yrx-OgFC899I6JviproGnA 9812
otter/test_files/metadata_test.py sha256=GUYeX63u2Zo_gsTPo_RBQTe9__h_G064dXfG5IzyZsU 2998
otter/test_files/ok_test.py sha256=iBdIs7uXYy87Tb7uLX0afk3BaNhVK2aIFQefVb6X_UA 5730
otter/test_files/ottr_test.py sha256=_3lNXId9fYxkoG_1LUnE080bBcA-sq7Sj_O5GwaSYzk 625
otter/utils.py sha256=oD7Oza_QRdHmDSHSjXBuHojR0WVcU_-L2sby7L2PZc0 8686
otter/version.py sha256=MV24dwCuOI5Y5xhyBsfG_XXqpRF9-2-Hm75tw2b_yMU 1765
otter_grader-6.1.0.dist-info/LICENSE sha256=avID1BoB3wjOvxdBCRJzEFRK5PXze2p_aW0oezjThY4 1560
otter_grader-6.1.0.dist-info/METADATA sha256=Di-wkfLx0XtBWAtINlbc_xJ_9QsVNK-SrUxH42wZhBg 3928
otter_grader-6.1.0.dist-info/WHEEL sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM 88
otter_grader-6.1.0.dist-info/entry_points.txt sha256=q-MB1EZ1q7rj0RBke8aLrPCPxAjx-S-kTF22mNZVWgY 116
otter_grader-6.1.0.dist-info/RECORD

entry_points.txt

gmail_oauth2 = otter.plugins.builtin.gmail_notifications.bin.gmail_oauth2:main
otter = otter.cli:cli