Skip to content

Releases: toonarmycaptain/dionysus

0.8.1-alpha

29 Aug 07:00
71f55b5
Compare
Choose a tag to compare
0.8.1-alpha Pre-release
Pre-release

[0.8.1-alpha]

Implement SQLiteDatabase optimisations.

Changed

  • Better optimised SQLiteDatabase queries.

Removed

  • data_version_conversion.py is removed. NB Still available on GitHub.
    • No intention to maintain interoperability of very old data formats going forward (in particular early alpha original non-JSON text formats).
    • Similar functionality may return in future releases, for conversion between backends.

[0.8.0-alpha]

Implement SQLite database backend.

Added

  • Implmented SQLiteDatabase backend - using python's builtin sqlite3 module.

Changed

  • SQLiteDatabase is now the default backend.- Charts saved as JSON now store the student name, rather than path to an avatar image. Student represented by the default avatar are no longer anonymous!
  • Charts are now saved at 1080p proportion (19.20, 10.80), saved in png format at better quality 300dpi (from 16:9, 120dpi).

Removed

  • Remove setup.py - package is not designed to be installed!

Depreciated

  • Python 3.6 is officially unsupported. Looks like it will still work with JSONDatabase, and with SQLiteDatabase if the database path is changed to a string, but no support going forward is intended.
  • Python 3.7 support is pending depreciation, as Python 3.9 is due for release in October.

0.8.0-alpha

25 Aug 00:48
2b446f7
Compare
Choose a tag to compare
0.8.0-alpha Pre-release
Pre-release

Implement SQLite database backend.

Added

  • Implmented SQLiteDatabase backend - using python's builtin sqlite3 module.

Changed

  • SQLiteDatabase is now the default backend.- Charts saved as JSON now store the student name, rather than path to an avatar image. Student represented by the default avatar are no longer anonymous!
  • Charts are now saved at 1080p proportion (19.20, 10.80), saved in png format at better quality 300dpi (from 16:9, 120dpi).

Removed

  • Remove setup.py - package is not designed to be installed!

Depreciated

  • Python 3.6 is officially unsupported. Looks like it will still work with JSONDatabase, and with SQLiteDatabase if the database path is changed to a string, but no support going forward is intended.
  • Python 3.7 support is pending depreciation, as Python 3.9 is due for release in October.

Alpha release 0.7.0-alpha

27 Jun 17:44
09fc7a2
Compare
Choose a tag to compare
Pre-release

Refactor application to use Database object in definitions.DATABASE for all interactions with persistence.

Added

  • Implement Database object to handle persistence
  • Implement JSONDatabase(Database) (original/current database backend).

Changed

  • Refactor all code/calls dealing with persistence to definitions.DATABASE.
  • Student.avatar_filename changed to Student.avatar_id for naming consistency between database backends. This is backwards incompatible, but is a simple string replace operation in any current data files.
  • JSONDatabase's Registry now checks if on-disk version of registry is correct, only writing to it if incorrect or non-existent.
  • Increased test coverage, more tests converted to Pytest style tests.
  • When clicking 'x' instead of 'save as' when a chart is displayed, UI no longer freezes, nor pops up a 'save chart as' file dialogue.

Removed

  • class_registry_functions.py, test_class_registry_functions.py: functionality moved to Registry object in persistence/databases/json_registry.py.

Depreciated

  • Python 3.6 support ends with this release.
  • Python 3.7 support will soon be removed also, in next release following release of python 3.9 - plan is to only support 2 minor releases of python at one time.
  • JSONDatabase might be removed at some point, or not support new features, although it, or the data format might be kept for utility of debugging and editing.
  • data_version_conversion.py will not be supporting conversion from older formats than current to any future versions.

Alpha release 0.6.0-alpha

01 Apr 20:35
dc9d99f
Compare
Choose a tag to compare
Pre-release

This release includes some optimisations and under the hood improvements, readying for addition of a proper database.

Added

  • Implemented temp directory removed on app exit (if it contains files), initially used to store avatars before writing to database/disk.
  • NewClass subclass of Class using temp directory to hold files before writing to database.
  • Add AllContributors badge to README.md, recognising project contributors, thankyou!

Changed

  • Separate UI/logic/persistence concerns in create_classlist, use NewClass.
  • create_classlist_data takes a NewClass object.
  • Refactor new_chart/assemble_chart_data to take Class/NewClass object instead of a class name.
    • Supports passing in class directly from create_class without reloading class from database.
    • Move logic prompting user to choose a class from assemble_chart_data to new_chart.
  • More tests converted to Pytest style tests, test coverage improved.
  • Improved type hinting, extend passing/use of Paths rather than strings/os/path.

Alpha release 0.5.0-alpha

23 Jan 18:19
28f5651
Compare
Choose a tag to compare
Pre-release

This release updates to Python 3.8, provides new option to create a class, then create a chart without going back to the menu and selecting the new class.

Plenty of under the hood cleanup and improvements, for full details see the CHANGELOG.md.

Added

  • Improved test coverage, type hinting.
  • Python 3.8 compatibility and CI integration, mypy checking.
  • Meaningful error message on generated on some unlikely conditions (should only happen when tests are run with uninitialised variables).
  • Option to go directly from creating a class to creating a chart with the newly created class.

Changed

  • Updated dependencies - fixes some unlikely security issues.
  • All code now using Class/Student objects, new data format.

Depreciated

  • Use of old-style data format. N,B. Convertor is depreciated along with support for old data format.

Removed

  • defunct tests, dependency on pexpect.

Alpha release 0.4.0-alpha

23 May 02:50
28f5651
Compare
Choose a tag to compare
Pre-release

Major refactor using objects to represent students and classes, breaking change to data format.
Data format conversion tool included.

Added

  • Class and Student objects.
  • CLI script data_version_conversion.py to convert old data format to new.
    • Run without args spawns file selection GUI and converts selected file.
    • -A/--all_class_data_files: Process all the data files in class_data.
    • --f/--filepath=path_to_file: Process single file at path given to arg.
  • Improved test coverage - 10% increase!

Changed

  • Changed data file data format serialising objects rather than Python dictionaries.
  • Changed implementation of UI_functions.scrub_candiate_filename to replace removed characters with '_' - this means 'Ni/' and 'Ni' will render non-identically as 'Ni_' and 'Ni'
  • Updated dependencies.

Depreciated

  • class_functions.create_student_list_dict

Fixed

  • Rectified error where settings_dict was initialised with a string, not dict.

Alpha release v0.3.3-alpha

04 Mar 22:41
Compare
Choose a tag to compare
Pre-release

Added

  • Improved test coverage.
  • CI/Testing
    • Added codecov.io coverage.
    • Added/enable Codeship test build on Python 3.7.2 with manually-installed tkinter via sudo apt-get install -y python3-tk.

Changed

  • Some menu refactoring, implementation of settings_functions.
  • Update dependencies.

Fixed

  • Moving/setting/creating a default chart save folder now moves original folder, rather than nesting original inside new folder location.

Alpha release v0.3.2-alpha

16 Feb 03:46
3a4bdc0
Compare
Choose a tag to compare
Pre-release

Added

  • Improved test coverage.

Changed

  • Implementation of take_student_scores.
  • Refactor application exit, main_menu.

Fixed

  • check_registry_on_exit is now called on exit, dumping class registry to disk.

Alpha release v0.3.1-alpha

06 Feb 20:27
f4a45c6
Compare
Choose a tag to compare
Pre-release

Added

  • Improved test coverage.
  • Add load_chart_data, load_json_from_file.
  • Add .bettercodehub.yml - prevent failed PR checks because of test code.

Changed

  • Refactor save_as_dialogue to prevent TypeError.
  • Refactor load_class_datausing load_from_json_file.

Fixed

  • Fix bug where avatar for student with score of 0 not added to chart.
  • Fix bug in save_as_dialogue that failed with TypeError when called without filetypes parameter or with default filetypes=None.
  • Fix circleci not storing test metadata.

Alpha release v0.3.0-alpha

23 Jan 20:36
2916abf
Compare
Choose a tag to compare
Pre-release

Added

  • Improved test coverage.

Changed

  • Major refactor of chart display and saving code.
    • Fixes major bugs where blank image would be saved, app would hang indefinitely.
    • Chart image now saves to app_data. Saved image is then displayed with a 'Save as' button.
  • Bugfixes
    • Fix path for default_avatar.
    • Fix bug - essentially blank (eg '_') chart name caused infinite loop.
    • Add sometimes omitted '.png' to save filename.

For more details see CHANGELOG.md.