- improved nbae-quiz-scan script
- slight cosmetic tweak in class scenarios rendering
- 1.6.1 is broken
- new
ImshowRenderer
for numpy arrays - close #25
- close #28
- minor cosmetic tweaks
- feedback on submit shows results for past attempts
- cosmetic change in quiz_help()
- changed to use markdown-it-py directly, with a lighter dependency footprint
- new function quiz_help() in english and french
- fix for using myst-parser 0.12
- implement #22 - questions with multiple exactly_one_option = False are by default using progressive grading
- plus cosmetic changes in rendering the score of each question
- each attempt displays the corresponding score
- support for base64-encoded yaml quiz
- drop userid altogether, this is fragile and not meningful anyway, it is not even exposed in the new json format
- for Windows, replace os.getuid() with os.getlogin()
- cosmetic tweaks in demo notebooks, including pure Python listing() helper to display files on Windows
- groupes vs groups
- grade-quiz.py based on json and .nbautoeval.trace
- based on shareable Makefile.pypi
- Makefile now uses twine for publishing onto pypi
- no change in the library itself
- slight brushes in the doc
- fixed awkward bug in rendering contents
the MarkdownMathContent and MarkdownMathOption classes should now fit most common needs, and are the new defaults - expose class
MathContent
for consistency - documentation on quizzes rewritten to focus on YAML, has become much cleaner and shorter
- teachers can define their quiz in yaml and display them with run_yaml_quiz()
- quiz questions and options objects can have an explanation that gets revealed when the quiz is finished (#12)
- improved traces kept when students validate their work
- new class CodeContent exposed for consistency
- rough tool for grading quizzes
- new dependency to PyYAML
- markdown engine replacement for issue #16
MyST a.k.a. myst_parser replaces markdown2
- cosmetic tweaks
- this version is *not backward-compatible with 0.6 and below
- rendering engine entirely rewritten to take advantage of ipywidgets
- as a consequence all 4 flavours of
Exercise
have a different interface for tweaking how results are being shown up;
as an example,ExerciseFunction
accepts acall_renderer
and aresult_renderer
attribute, that decide how to format the call column (1st) and result columns (2nd and 3rd) - new Quiz feature to define multiple-choice tests
- no new feature, just a minor cleanup before big rewrite
- feature for issue #9: an ExerciseClass instance can be created with check_init=False
- bugfix for issue #7
- essentially same features as 0.6.0, except for
copy_mode="tee"
that remains an available option but only explicitly as it breaks some of our gen-based exos
- DO NOT USE - broken !
- more illustrative examples of generator-based exercises
- unfinished support to passing generators as arguments
- new classes ExerciseGenerator and GeneratorArgs to build exercises where students are to write generator functions
- demo notebooks are ol=nly exposed in jupytext/python format
- bugfix in class example display
- bugfix in displaying outputs with <> which is the case for default repr() on objects that don't have their own repr()
- improved class definition:
- results of constructor step now checked as well
- no longer need to call
repr()
explicitly - now has support for statements w/ ClassExpression and ClassStatement
- StepClass now renamed into ClassExpression, which breaks from 0.5.0
- rewrote class-oriented exercise to extend possibilities
- DO NOT USE THIS VERSION as the API has been changed in 0.5.1
- properly display type objects when used as arguments
- add requires in particular for when using in readthedocs
- 0.4.3..5 are broken
- fix label as it show up on pypi
- expose symbols globally
- bugfix: in the correction table, cells sometimes were missing the
tag
- was during py3s2 in exo_wc, that has an input with 2 consecutive spaces
- cosmetic changes in example and correction tables
- vertical bars to separate the columns
- so that code cells can now be left-aligned
- ability to tweak font sizes (header and plain) for a given exercise
- merge changes from flotpython
- including ExerciseFunctionNumpy
- and ExerciseFunction.validate()
- env. variable NBAUTOEVAL_LOG can set location for the log file
- default is now $HOME/.nbautoeval
- use find_packages()
- add a MANIFEST.in
- first versioned release
- available in pypi