Skip to main content

submit — Homework submission tools

Small Python tools to prepare and submit homework assignments:

  • Online submission: uploads a (optionally encrypted) bundle as a private GitHub Gist via the GitHub CLI (gh).
  • Offline submission: creates a ZIP file you can upload manually.

Implementation:


Workspace files


Requirements

  • Python >= 3.10 (see .python-version)
  • Online submission:
    • curl installed
    • gh installed (the github cli)
    • authenticated (gh auth login) or run submit --authorize or provide a token from github via the environment variable GH_TOKEN
  • Encryption:
    • gpg installed

The online tool checks required CLIs in submit.submit.check_tools and installs/verifies the default public key via submit.submit.check_default_gpg_key.


Installation

This project defines a console script entrypoint in pyproject.toml:

Install into your environment using your preferred tool (pip/uv/etc.), then run submit from the directory that contains your assignment’s submit.cfg.


Configuration (submit.cfg)

Place a submit.cfg in the directory you want to submit from.

Minimal example (same structure as submit.cfg):

[Uebung]
aufgabe = 99

[Abgeben]
datei1 = testdatei1.txt
datei2 = testdatei2.txt

Notes:


Usage

Online (default)

From the directory containing submit.cfg:

submit

This will:

  1. copy the files listed in [Abgeben] to a temp directory (see submit.submit.copy_files)
  2. encrypt them by default (see submit.submit.encrypt)
  3. create a private gist upload (see submit.submit.submit)

Offline (create ZIP for manual upload)

This mode should only be used when promped by the lecture.

From the directory containing submit.cfg:

submit --offline

This will:

  1. copy the files listed in [Abgeben] to a temp directory (see submit.submit_offline.copyfiles)
  2. (by default) encrypt them (see submit.submit_offline.encrypt)
  3. create a ZIP in your current directory (see submit.submit_offline.submit)

Disable encryption (offline only):

submit --offline --no-encryption

Metadata

Release files for submit-sebastian-stigler 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for submit-sebastian-stigler 1.3.0
File Size Uploaded Provenance Actions
submit_sebastian_stigler-1.3.0.tar.gz 8.5 kB Without provenance Details for submit_sebastian_stigler-1.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for submit-sebastian-stigler 1.3.0
File Interpreter ABI Platform Actions
submit_sebastian_stigler-1.3.0-py3-none-any.whl Python 3 none any Details for submit_sebastian_stigler-1.3.0-py3-none-any.whl

Total release size: 19.7 kB

Release files / submit_sebastian_stigler-1.3.0.tar.gz

Download URL submit_sebastian_stigler-1.3.0.tar.gz
Size 8.5 kB
Tags Source
SHA-256 checksum
How to use checksums
882b269b1b5d5cc11c0b5f1536c3aa87bf96b910b7de7eb6da40dd86ae076ed6
BLAKE2b-256 checksum
How to use checksums
f8745cd349abaf6c2896f4028bb53c2e6f7465ba0bbc1707216547530034f9e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / submit_sebastian_stigler-1.3.0-py3-none-any.whl

Download URL submit_sebastian_stigler-1.3.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f8aa9860c7abf38cd31cbc0dcbf79d5f2bbf65ebb5f5abaebf78a810e1dda627
BLAKE2b-256 checksum
How to use checksums
8eed5ad1c917698d6013a222ab42c63602636839ae4054f919bef445fb29a954
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for submit-sebastian-stigler 1.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page