Skip to main content

Batch testing and similarity checking of python code.

Project description

unicity

I wrote this library to test and debug code from hundreds of Python files submitted by my programming class. It can also be used to find code submissions that are suspiciously similar (Python and MATLAB).

To get started, install unicity using pip.

pip install unicity

Then, download the and run the scripts in the example folder above. Start with loading_projects.py, batch_testing.py and similarity_check.py.

Some disclaimers:

  • I have discovered that when students are learning to code, they are very innovative in the ways they will find to break your workflow. So far, I have built support to catch and handle directory changes and infinite loops, but I'm sure there are more surprises out there! You can catch and handle these yourself in the way you define a test function, but I'd also like to hear if you think something should be added to make unicity testing more robust.

  • Similarity checking should be treated as a screening tool to highlight potential instances of copying. It does not (it cannot) assert that copying has in fact occurred. The best way to do that is by a follow up interview.

More documentation at readthedocs.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

unicity-0.5-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file unicity-0.5-py3-none-any.whl.

File metadata

  • Download URL: unicity-0.5-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.4

File hashes

Hashes for unicity-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 44d11f1a1c6d6d937afa945070d9885790e2705076b68c23ea3e8277579abd88
MD5 d8a81ab3ab89d58a4b26c7fd16a96f3d
BLAKE2b-256 af32693aa215fa56f2420c7aedd9386166a0943e70c9537a87d1466e6b16f6e8

See more details on using hashes here.

Supported by

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