{"id":15043314,"url":"https://github.com/okpy/ok-client","last_synced_at":"2025-04-12T18:50:04.087Z","repository":{"id":25597730,"uuid":"29032660","full_name":"okpy/ok-client","owner":"okpy","description":"A Python client for the OK autograding system","archived":false,"fork":false,"pushed_at":"2025-03-31T21:11:31.000Z","size":1165,"stargazers_count":57,"open_issues_count":53,"forks_count":43,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-04-03T22:10:01.626Z","etag":null,"topics":["autograder","cs-education","jupyter-notebook","python","python3"],"latest_commit_sha":null,"homepage":"https://okpy.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-09T19:53:07.000Z","updated_at":"2025-03-31T21:11:35.000Z","dependencies_parsed_at":"2023-02-18T00:30:35.461Z","dependency_job_id":"2e362d7f-7519-4f04-8869-98929a17b38f","html_url":"https://github.com/okpy/ok-client","commit_stats":{"total_commits":762,"total_committers":41,"mean_commits":"18.585365853658537","dds":0.7073490813648293,"last_synced_commit":"0d409b53a55bedab5e1d23017207172e3ea2ed74"},"previous_names":[],"tags_count":134,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okpy%2Fok-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okpy%2Fok-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okpy%2Fok-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okpy%2Fok-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okpy","download_url":"https://codeload.github.com/okpy/ok-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618219,"owners_count":21134199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autograder","cs-education","jupyter-notebook","python","python3"],"created_at":"2024-09-24T20:48:50.758Z","updated_at":"2025-04-12T18:50:04.053Z","avatar_url":"https://github.com/okpy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ok client\n=========\n\nThe ok client script (written in Python) supports programming projects\nby running tests, tracking progress, and assisting in debugging.\n\nVisit [http://okpy.org](http://okpy.org) to use our hosted service for\nyour course.\n\nThe ok client software was developed for CS 61A at UC Berkeley.\n\n[![Build Status](https://travis-ci.org/okpy/ok-client.svg?branch=master)](https://travis-ci.org/okpy/ok-client)\n[![PyPI Version](http://img.shields.io/pypi/v/okpy.svg)](https://pypi.python.org/pypi/okpy)\n\n## Developer Instructions\n\n### Installation\n\n1. Clone this repo\n2. Install [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/)\n3. Create a virtual environment:\n\n        virtualenv -p python3 env\n4. Activate the virtual environment:\n\n        source env/bin/activate\n5. Install requirements and set up development environment:\n\n        pip install -r requirements.txt\n        python3 setup.py develop\n\n## Contributing\n\nEvery time you begin, you should activate the virtual environment:\n\n    source env/bin/activate\n\nAll code for the client is found in the `client/` directory.\n\nThere is an executable called `ok` in the virtualenv path that will run your\ncode locally. You can use the example assignments in the `demo/` directory to\nplay around:\n\n    cd demo/ok_test\n    ok -q q2\n\nThe `tests/` directory mirrors the directory structure of the `client/`\ndirectory. Every component of the client should have plenty of tests.\nTo run all tests, use the following command:\n\n    nose2\n\n## Releasing an ok-client version\n\nFirst make sure that\n\n* Your virtualenv is activated and you are on the master branch.\n* Your `~/.pypirc` contains okpy's PyPI credentials.\n* A file `.github-token` contains a\n  [GitHub access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/)\n  with the \"repo\" scope.\n\nTo deploy a new version of ok-client, change to the `master` branch and run\n\n    ./release.py vX.X.X\n\nwhere `vX.X.X` is the new version. This will:\n\n* Change the version number\n* Create a GitHub release\n* Change the ok-client version on https://okpy.org/admin/versions/ok-client\n* Upload the release to PyPI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokpy%2Fok-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokpy%2Fok-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokpy%2Fok-client/lists"}