letterfowl / Platyrhynchos

Concatenation-based crossword generator
Other
3 stars 0 forks source link

New word addition method, new test setup, poetry and restructure #6

Closed jqdq closed 1 year ago

jqdq commented 1 year ago

recreated because stuff

Changes

Dev experience

1. Add new testing setup (doctests + PyTest)

2. Add `functiontrace` as the default profiling tool

3. Add the `doctests` submodule connected to the GitHub wiki

4. Use poetry for dependency management

5. Add logger

6. Add VSCode tasks

7. Refactor Crossword class, general cleanup

Features

1. Add downloading clues from https://cryptics.georgeho.org/ into a DuckDB database

2. Implement and optimize new word insertion method

3. Add `Cruciverbalist` class used to perform decisions on the further state of the crossword

4. Add `ColRow` class

5. Add the `alphabit` class to optimize future crosswords.
github-actions[bot] commented 1 year ago

Tests coverage table for 33e4cc2 commit.

pytest-reporter-badge Name Stmts Miss Cover
platyrhynchos/init.py 3 0 100.0%
platyrhynchos/commons/alphabit.py 16 1 93.75%
platyrhynchos/commons/exceptions.py 10 0 100.0%
platyrhynchos/commons/logger.py 17 4 76.47%
platyrhynchos/commons/misc.py 19 5 73.68%
platyrhynchos/commons/utils.py 13 0 100.0%
platyrhynchos/crossword/init.py 1 0 100.0%
platyrhynchos/crossword/addable.py 123 123 0.0%
platyrhynchos/crossword/base.py 35 10 71.43%
platyrhynchos/crossword/colrow.py 96 18 81.25%
platyrhynchos/crossword/improvable.py 61 34 44.26%
platyrhynchos/cruciverbalists/init.py 2 0 100.0%
platyrhynchos/cruciverbalists/base.py 46 11 76.09%
platyrhynchos/cruciverbalists/en_simple.py 66 8 87.88%
platyrhynchos/scripts.py 8 8 0.0%
platyrhynchos/visualize.py 65 65 0.0%
TOTAL 581 287 50.6%
jqdq commented 1 year ago

Changes

Dev experience

  1. Add new testing setup (doctests + PyTest)
  2. Add functiontrace as the default profiling tool
  3. Add the doctests submodule connected to the GitHub wiki
  4. Use poetry for dependency management
  5. Add logger
  6. Add VSCode tasks
  7. Refactor Crossword class, general cleanup

    Features

  8. Add downloading clues from https://cryptics.georgeho.org/ into a DuckDB database
  9. Implement and optimize new word insertion method
  10. Add Cruciverbalist class used to perform decisions on the further state of the crossword
  11. Add ColRow class
  12. Add the alphabit class to optimize future crosswords.
jqdq commented 1 year ago

pls ignore pylint messages :((

jqdq commented 1 year ago

@StormageddonDarkLordOfAll I'd love to talk about all the changes tomorrow, and then we can consider this whole thing closed