Skip to main content

A convinent tool to check and submit your codes to "CS50".

Project description

pass50

pass50 is a convenient command-line tool designed to streamline the process of checking and submitting code assignments for Harvard's CS50 courses. It automates interactions with CS50's check50 and submit50 tools, making it easier to manage coursework directly from the terminal.

Features

  • Auto-check: Automatically run check50 on specified assignments.
  • Auto-submit: Automatically run submit50 for submissions.
  • Custom Path: Specify a relative or absolute path to the directory containing your project.
  • Identifier Selection: Choose whether to identify assignments by directory or file names.
  • Course Selection: Specify which CS50 course you are submitting for (e.g., x for CS50x).
  • Logging: Option to print detailed logs for debugging and verification purposes.
  • Environment Initialization: Prepare your environment for using pass50.

Installation

To install pass50, you can use pip

pip install pass50

, or pipx

pipx install pass50

Usage

usage: pass50 [-h] [-c] [-s] [-p PATH] [-i {d,f}] [-C {x,p}] [-l] [-upl] [-d] [-I]

options:
  -h, --help            show this help message and exit
  -c, --check           Only auto check50.
  -s, --submit          Only auto submit50.
  -p PATH, --path PATH  the path (Rel or Abs) of the dir you want to work with.
  -i {d,f}, --identifier {d,f}
                        choose the identifier (dir's name or files' name) to generate slug.
  -C {x,p}, --course {x,p}
                        choose the course from cs50 you're taking.
  -l, --logs            print the logs of check50 & submit50.
  -upl, --unpassedLogs  print all logs of unpassed works at the bottom.
  -d, --dev             run in developing mode, printing all logs.
  -I, --init            Init the env for the app.

Example Commands

  • Initialize the environment:
    pass50 --init
    
  • Check and Submit the current work directory:
    pass50 --course x
    
  • Only Submit assignment in the pset1/:
    pass50 --submit --path ./pset1/ --identifier f --course x
    

Contributing

Contributions to pass50 are welcome! Please feel free to fork the repository, make changes, and submit pull requests. You can also open issues if you encounter bugs or have suggestions for improvements.

License

pass50 is released under the GPLv3 License. See the LICENSE file in the repository for more details.

Contact

For more information, please visit the GitHub repository or contact the maintainers directly through GitHub issues.

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

pass50-0.0.1.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

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

pass50-0.0.1-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file pass50-0.0.1.tar.gz.

File metadata

  • Download URL: pass50-0.0.1.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pass50-0.0.1.tar.gz
Algorithm Hash digest
SHA256 5ca256c66bd749dab6f093d26477c0f186c317d9e7f153a66126ac8266fb2deb
MD5 ad3b3f8b5c3e459207052b68e63aa3f5
BLAKE2b-256 9348e5888ee2b056986b00516f89752a58fb6c8e47e06ea3b6000f8f3f9a8593

See more details on using hashes here.

File details

Details for the file pass50-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pass50-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pass50-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 507bff372f2f30c7ce1a19d3971a7cc79cc686bed7840c8d44d08e30a529af5c
MD5 1c9488abc26294adee3ab0f483cec5d3
BLAKE2b-256 1ecff1ed22e28d27594c6a763709d882010179d68fa01c34b5300616fc87726c

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