TMC course and assignment creation helper
Project description
TMC Course creation helper
tmc-course helps with managing (python-based) TestMyCode courses by allowing you to initialize, update and test them.
Installing
pip install tmc-course
Usage
usage: tmc-course [-h] [--version] [--quiet | --debug] ACTION ...
Helper for building TestMyCode python programming courses
positional arguments:
ACTION
init Initialize a new course, part or assignment
test Test a new course, part or assignment
update Update TMC-python-runner embedded in assignments
options:
-h, --help show this help message and exit
--version show program's version number and exit
--quiet, -q Only output warning
--debug, -d Output debugging information
tmc-course init - Initialize new courses, parts and assignments
Run the init command to initialize a new course, part of assignment from a project skeleton that contains the files required by TMC to function correctly.
Initialize new course
usage: tmc-course init course [-h] path [path ...]
positional arguments:
path Path(s) of the new course(s)
options:
-h, --help show this help message and exit
Initialize new part
Parts are collections of assignments
usage: tmc-course init part [-h] path [path ...]
positional arguments:
path Path(s) of the new part(s)
options:
-h, --help show this help message and exit
Initialize new assignment
Assignments are initialized in either English (-e) or Finnish (-f). The freshly initialized assignments are built with a skeleton structure which showcases the use of tests and points, and contains the additional files required by TMC.
usage: tmc-course init assignment [-h] (-e | -f) path [path ...]
positional arguments:
path Path(s) of the new assignment(s)
options:
-h, --help show this help message and exit
-e, --english Use English language templates
-f, --finnish Use Finnish language templates
tmc-course update Update TMC files
The update command updates the files required by TMC for all assignments
usage: tmc-course update [-h] path
positional arguments:
path Course root directory
options:
-h, --help show this help message and exit
tmc-course test Run tests for the course
Use the test command to run the tests for a course, part or assignment the same way the TMC server would run them. This verifies your model solutions pass the tests.
usage: tmc-course test [-h] [--details] path [path ...]
positional arguments:
path Path(s) to test (course, part or assignment)
options:
-h, --help show this help message and exit
--details Show more details about test results
By default, detailed information is only shown about assignments that fail
their tests. Use --details to show additional help.
As a pre-commit hook
tmc-course can be used as a pre-commit hook. When set up correctly, tmc-course test is ran for the repository on commit.
To use tmc-course as a pre-commit hook, add the the following config:
- repo: https://github.com/ljleppan/tmc-course
rev: v1.0.0b6
hooks:
- id: tmc-course
Development
Installing
pip install .[dev]
pre-commit install
Pre-commit hooks
The repo comes set up for a combination of mypy, black, flake8 and isort. These are all set up as pre-commit hooks. Assuming you run pre-commit install as shown above, these will automatically run whenever you attempt to commit code into git. I suggest running mypy using --strict.
Tox and tests
Run tox to manually run all pre-commit hooks and tests. Tests fail if test coverage goes below 80 %.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tmc-course-1.0.0b6.tar.gz.
File metadata
- Download URL: tmc-course-1.0.0b6.tar.gz
- Upload date:
- Size: 138.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28d5f6ac241d91a8062808974ef2000475f575f084e44b5703bceb75a76d3d2d
|
|
| MD5 |
6e51eb859530e48b22615d56155f361c
|
|
| BLAKE2b-256 |
445151c0122b2178deace615aefb9f77834763ff03c6edf18bfa5969cbe3efdf
|
File details
Details for the file tmc_course-1.0.0b6-py3-none-any.whl.
File metadata
- Download URL: tmc_course-1.0.0b6-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7899a1c8b322c3346325dd49cef13a46b95c8af3ee2e1fcf6d9ef022fc01139f
|
|
| MD5 |
4bf7747669def1ed4a9e052c04b0828c
|
|
| BLAKE2b-256 |
cb64ef65b55d18d6e0c205c378b85794aad68b3e065d54e3b54f25cf85098f80
|