algobowl

View on PyPIReverse Dependencies (0)

2025.2.17.0 algobowl-2025.2.17.0-py3-none-any.whl

Wheel Details

Project: algobowl
Version: 2025.2.17.0
Filename: algobowl-2025.2.17.0-py3-none-any.whl
Download: [link]
Size: 68787
MD5: b44bac5d5d7bb3a20315e5fc3888bf79
SHA256: 9bc71597fe273cfbc9561c50b13beabef19f2c3dc04103a72eb81e16414cd3c4
Uploaded: 2025-02-17 17:28:40 +0000

dist-info

METADATA

Metadata-Version: 2.2
Name: algobowl
Version: 2025.2.17.0
Summary: Competition-based group project for Algorithms courses
Author: Jack Rosenthal
Author-Email: jack[at]rosenth.al
Home-Page: https://github.com/jackrosenthal/algobowl
Requires-Python: >=3.9,<4
Requires-Dist: click (>=8.0)
Requires-Dist: pytest (>=4.6)
Requires-Dist: pytest-cov (>=4.1.0)
Requires-Dist: requests (>=2.0)
Requires-Dist: tabulate (>=0.8)
Requires-Dist: toml (>=0.10)
Requires-Dist: typing-extensions
Requires-Dist: TurboGears2 (>=2.3.12); extra == "web"
Requires-Dist: tgext.admin-jmr; extra == "web"
Requires-Dist: decorator; extra == "web"
Requires-Dist: google-api-python-client; extra == "web"
Requires-Dist: google-auth-oauthlib; extra == "web"
Requires-Dist: tw2.forms; extra == "web"
Requires-Dist: Beaker (>=1.8.0); extra == "web"
Requires-Dist: Kajiki (>=0.6.3); extra == "web"
Requires-Dist: filedepot (>=0.6.0); extra == "web"
Requires-Dist: zope.sqlalchemy (>=1.2); extra == "web"
Requires-Dist: sqlalchemy (<1.4,>=1.3); extra == "web"
Requires-Dist: alembic (>=0.8.8); extra == "web"
Requires-Dist: repoze.who; extra == "web"
Requires-Dist: WebHelpers2; extra == "web"
Requires-Dist: requests; extra == "web"
Requires-Dist: TurboGears2 (>=2.3.12); extra == "dev"
Requires-Dist: tgext.admin-jmr; extra == "dev"
Requires-Dist: decorator; extra == "dev"
Requires-Dist: google-api-python-client; extra == "dev"
Requires-Dist: google-auth-oauthlib; extra == "dev"
Requires-Dist: tw2.forms; extra == "dev"
Requires-Dist: Beaker (>=1.8.0); extra == "dev"
Requires-Dist: Kajiki (>=0.6.3); extra == "dev"
Requires-Dist: filedepot (>=0.6.0); extra == "dev"
Requires-Dist: zope.sqlalchemy (>=1.2); extra == "dev"
Requires-Dist: sqlalchemy (<1.4,>=1.3); extra == "dev"
Requires-Dist: alembic (>=0.8.8); extra == "dev"
Requires-Dist: repoze.who; extra == "dev"
Requires-Dist: WebHelpers2; extra == "dev"
Requires-Dist: requests; extra == "dev"
Requires-Dist: tg.devtools; extra == "dev"
Provides-Extra: web
Provides-Extra: dev
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary
License-File: LICENSE
[Description omitted; length: 1052 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.8.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
algobowl/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/model.py sha256=rCGVQNIDXhYozCNNIJZ0LVKvBk3UEAIwOYZiGqqgR5g 12802
algobowl/cli/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/cli/__main__.py sha256=Ql0IGF2Xo5Vn0GwJxth_CHilWrxvJh7QwxDYll_M6EA 1476
algobowl/cli/admin.py sha256=llR5nQIsEg8e6RYExZZFk6ybdaNX7KTHmsa98UsIT9M 4516
algobowl/cli/auth.py sha256=9-LOS9060sdOmeEeq2BEob6557ktr6jo7K3N1qe4G5U 3448
algobowl/cli/config.py sha256=jO5wOYestbukoK71mc7gyPaLPGlUanFQ2rucZRZHP9k 3430
algobowl/cli/formatter.py sha256=nwZHZ_6TF4Oc_ybZ2bndF9_DoG0VrIYoYXYZCxQgjhQ 1026
algobowl/cli/group.py sha256=y-2z3xU8q84mo6KtC2-9Hxm_aXmef3c1_rDc5itDkmQ 5616
algobowl/cli/problem.py sha256=YjEaJ9TCsn-WB_jAAkmByvwyPe1LKIOik6JE3cv89Ao 3517
algobowl/config/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/config/app_cfg.py sha256=d90pDHjatOHZ41LU8Ytkx_2pX62bI29njanap4c9UYU 4420
algobowl/config/auth.py sha256=ntIuQ4N2eJ5UwC6InUAT8S9Mtz12St2kKS--Cdk3Ha4 8658
algobowl/config/environment.py sha256=NGV9a7TN3zoWadI7WGZhpkUiF_bFT4IAOhr2kvcJfq0 239
algobowl/config/middleware.py sha256=XgEqAU-4XRAeBD1Xhmww9B6egwQnlFi78Ork1qidFBo 1906
algobowl/controllers/__init__.py sha256=YLNJdLGifI5PY5KOGCl82qC56RHS70eMjlqCi9ekq6A 48
algobowl/controllers/competition.py sha256=hUaNpGo0QThIyJcLquOYiAjyUlbJ6gMYgeLJ38mwOPk 19550
algobowl/controllers/error.py sha256=q37spoAold0New2VVbGIiCTeg4DcY7dqHmraXBtqbVI 1247
algobowl/controllers/file_redirector.py sha256=qVr_I6w4ko5y0ZDrIZLqt8pfDr5w8Pl9lDudnxcGdkw 2569
algobowl/controllers/group.py sha256=tpr4Y9wz7TClUyQn-izRF_6l_vTh6QnlDDvHKatJ2E0 14774
algobowl/controllers/pref.py sha256=02IrB2kzPlC8dQu6Ex9rzC_6TuYhYvwOWhYiQOM3ZGA 2712
algobowl/controllers/root.py sha256=AEoPX6TGL1ZJbACpHdl34FyrzqfZHZ-HFUOBhYW4ZYU 3361
algobowl/controllers/setup.py sha256=mNqVSDy3UYpWou042UQoBiZADZNZbSwSo8eFy1VzHCA 3775
algobowl/controllers/api/__init__.py sha256=DiQw3VYKaJ7-Zdr10bU268GxeMzJ40KTX8uWdtFNAJg 174
algobowl/controllers/api/user.py sha256=NFFjHKL8JlW3nFMx9evOLfj_wE-lrbxpyXSuGLYcpjY 1580
algobowl/lib/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/lib/algocdn.py sha256=Jst70zzIzNLOOZ2NM9tR5mutTP0l2c2z-6jd0bwBcik 6036
algobowl/lib/app_globals.py sha256=RUq29RROkm0_4imOq8ThP-sISGcLBrb2ZT3NmMlXoq0 354
algobowl/lib/base.py sha256=MHQ7V_zZEyb3Mv7XnLAFFArEQHuyvgEPsZrSKpa9xIk 685
algobowl/lib/constants.py sha256=i2aILcIzA1urkpRxCVjW6Vf3R7F4BDfMAGZrLf6Qdww 109
algobowl/lib/helpers.py sha256=q62P1VYke-R0jeY5dtZPK-A-9krMLfP5HYvPS0K3Dd8 1429
algobowl/lib/logoutput.py sha256=FMNfDgQOSBAuOCCZfhfk2DnltcH3BTwm9DODvuAZguE 427
algobowl/lib/problem.py sha256=wA11UYumv9_J8ZJsXtVMbCBzubNgCCiOMuXUKCk5ozY 7458
algobowl/lib/problem_tester.py sha256=PNVT1f3Sk2260q5BBg1iBGkqoZg1Wi2o1BbD9-6xmxo 6104
algobowl/templates/__init__.py sha256=KdGHp1ICBjSNnUIC1iK_mrUq9XeJtyD19pzVcWoq_jM 45
algobowl/templates/cli_setup.xhtml sha256=_ErfN5Nm_lrmj2lQJzXESx7SRu8Gf2MTNsM8Eg1EOvA 1446
algobowl/templates/edu_landing.xhtml sha256=OJOZihCsDa3NwqggdFizNirCwsUp3n9EEeBA8hKGqYI 5695
algobowl/templates/error.xhtml sha256=GBxBkLceoxlzLGftd-iadBHi0tkQuJLp4HuKICfu7xo 640
algobowl/templates/index.xhtml sha256=-i05Kz0Bi5PYqb-XGO1nPdt9Vc57vqLwOA9w3LFap_8 364
algobowl/templates/logoutput.xhtml sha256=0ORTIYHfofogbTDjHMP9Z8sYPMPonJlABwApmr8auc0 276
algobowl/templates/master.xhtml sha256=BWKs5lrE94PIRgdUaT2xRvOLeDcQ_wxUl-0oaKzkcBY 6034
algobowl/templates/nonedu_landing.xhtml sha256=gwtNPn-pu6C7SietZNzhcfwKMJ9wB1h9O65ALN8PW9s 170
algobowl/templates/privacy.xhtml sha256=N9fCkES0-Jobpn9v-V20ZIyVSZxuU2YjRveE0G968FM 1767
algobowl/templates/tos.xhtml sha256=ec6Izd-_XgLubk5onlTZgrZSFkLfnDKc7BSR_EnniIQ 597
algobowl/templates/admin/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/templates/admin/edit.xhtml sha256=FryGpZcNYxfaT9nDJ4ZnCUzUgn7X4yLpUT2cypiCvuI 374
algobowl/templates/admin/get_all.xhtml sha256=3dRPaM9L3GMtOY9auMeukAJV-Xwqxc-238TgxA-pQwc 2987
algobowl/templates/admin/index.xhtml sha256=0zJ3xIYk8GrEv26Gpg9LqEqTyiOKsgFtaxRDVAJ3eAk 810
algobowl/templates/admin/new.xhtml sha256=f1VWPkuWOKPRRIjR2SYx2-iJfVtsjAC9tlq1CvNzekw 372
algobowl/templates/competition/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/templates/competition/archive.xhtml sha256=aD-Rl-yE92J73Vq0W_IEyPHXccOstwc1_AQyMeJgJrc 702
algobowl/templates/competition/grade.xhtml sha256=-Qhuwgo71YKZFOxf9FgOhHxwVnWrJSR4O73eRFwHvlM 2888
algobowl/templates/competition/list.xhtml sha256=ga1-YIWkLuptyrEYfVnkbBW1pBJ6Tq2X0KPiQ0dwVnQ 874
algobowl/templates/competition/ov.xhtml sha256=_Run-SfJqm57NWOsIPjYOtLeJ4IX72dxqIppcwwpGto 2957
algobowl/templates/competition/rankings.xhtml sha256=VI3irkxPaGmSPiesK7qeLEd5mr5RUsLPVTW6OLTFZsM 6216
algobowl/templates/group/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
algobowl/templates/group/evaluation.xhtml sha256=_K5KmudUeegJ_Nuo28Vo5Sl2h-BULUM1KglAjHiVEoA 1852
algobowl/templates/group/index.xhtml sha256=kZLlNdW-WedWvcGFeOW83BrvdQ7yiWCYpgrkrS6Hlts 3550
algobowl/templates/group/input_upload.xhtml sha256=11tzv9LU1RpaSxBp82N6tnKPfNZRHhfoUQFtfveHTSo 1531
algobowl/templates/group/output_upload.xhtml sha256=DkghClPnSZC9iOTQYMlqVmbu_M6Kcm5a7_6fzM_-JzE 2221
algobowl/templates/group/resolution.xhtml sha256=RLerTK19OVi5qnlPcQx2lUhRmmFmP1x6Wohm83sseS4 6003
algobowl/templates/group/select.xhtml sha256=1xSKGbpxa-xWCI9-QZeOsT7oB9znzkPjk3z5pn8fQpQ 1257
algobowl/templates/group/verification.xhtml sha256=ibBodx2oGToGnGoW7ctEMPpDsbTawj14Wc-Cg8bU5gc 3109
algobowl/websetup/__init__.py sha256=AXGNCa-u8El6CDz_Qnxq8sNeXGoXMPQ7UlfXeMN6cY4 355
algobowl/websetup/bootstrap.py sha256=gGHQVUkbSeJdHN0VptTxpZ-iXQSi6ZgrbKr_lutenes 84
algobowl/websetup/schema.py sha256=7durx-vN1XqWhu4tz8AsMSqF0_fWQ8KpKgpijrMr5gk 897
algobowl-2025.2.17.0.dist-info/LICENSE sha256=kaGb2__DiN_c6PBpzeo804O_Lvr_ZxLDq3ad0jgadiA 1066
algobowl-2025.2.17.0.dist-info/METADATA sha256=Uz66wY1r_qSLMQ2IQaQ8gmoBHpzF-GfkNhICUaK5-FA 3258
algobowl-2025.2.17.0.dist-info/WHEEL sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8 91
algobowl-2025.2.17.0.dist-info/entry_points.txt sha256=oIwAKRwkjKyOIIHFChqh1-Wg5PkB7FjOpDZHTwwXYkI 173
algobowl-2025.2.17.0.dist-info/top_level.txt sha256=jiMRJgjOLOPPMiYMDIoXb5RjfValP01SXEqsvRAmPsU 9
algobowl-2025.2.17.0.dist-info/RECORD

top_level.txt

algobowl

entry_points.txt

algobowl = algobowl.cli.__main__:main
turbogears-devtools = tg.devtools
main = algobowl.config.middleware:make_app