Skip to main content

Submit Assignments encrypted as github gist

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

submit_sebastian_stigler-1.3.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

submit_sebastian_stigler-1.3.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file submit_sebastian_stigler-1.3.0.tar.gz.

File metadata

  • Download URL: submit_sebastian_stigler-1.3.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for submit_sebastian_stigler-1.3.0.tar.gz
Algorithm Hash digest
SHA256 882b269b1b5d5cc11c0b5f1536c3aa87bf96b910b7de7eb6da40dd86ae076ed6
MD5 7549e42b0435d9f52828072ff5622cfc
BLAKE2b-256 f8745cd349abaf6c2896f4028bb53c2e6f7465ba0bbc1707216547530034f9e3

See more details on using hashes here.

File details

Details for the file submit_sebastian_stigler-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: submit_sebastian_stigler-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for submit_sebastian_stigler-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8aa9860c7abf38cd31cbc0dcbf79d5f2bbf65ebb5f5abaebf78a810e1dda627
MD5 c439b97ffecf103ac47b76a7945da658
BLAKE2b-256 8eed5ad1c917698d6013a222ab42c63602636839ae4054f919bef445fb29a954

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page