Update dependency word_search_generator to ~=5.1.0 #249
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tyler/dailySummaryEmail!249
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/word_search_generator-5.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
~=5.0.0→~=5.1.0Release Notes
joshbduncan/word-search-generator (word_search_generator)
v5.1.0Compare Source
Added
ClassVarannotations to all unannotated class-level attributes acrossMask,Game,WordSearch, andWordSearchFormatterto satisfyty'sreportUnannotatedClassAttributeruleargparse.Action.__call__()overrides incli.py(parser,namespace,values: Any,option_string,-> None)-> Noneon exception__init__methods inGame(EmptyPuzzleError,MissingGeneratorError,MissingFormatterError) andGenerator(EmptyAlphabetError,WordFitError)retry()decorator and its innerdecorator/wrapperfunctions ingenerator.pyTraversabletype annotation for thefile_pathparameter of_load_word_list()inwords.py-> Nonereturn type onWord.remove_from_puzzle()booltype and-> strreturn type onWordSearchFormatter.show()Consoletype annotation forWordSearchFormatter.CONSOLEclass attribute (imported underTYPE_CHECKING)Changed
pyproject.toml,uv.lock, andAGENTS.mdaccordinglymypywithtyas the sole type checker; removedmypyfromMakefiletypingandcleantargets and updatedAGENTS.mdDEFAULT_GENERATOR,DEFAULT_FORMATTER, andDEFAULT_VALIDATORSinGamewrapped withClassVar; overrides inWordSearchuse matching base-class types to preserveClassVarinvarianceCallableimport ingenerator.pymoved underTYPE_CHECKING(file already usesfrom __future__ import annotations)EmptyAlphabetError.__init__messageparameter given explicitstrtype annotationtype: ignoresuppression comments in tests andipython_config.pytoty:ignoresyntaxuv.lock(attrs 25.4.0 → 26.1.0, charset-normalizer, and others)WordSearchclass methods (show(),save(),__eq__(),__repr__()) with detailed parameter descriptions, usage examples, and exception documentationclimodule including module docstring, allargparse.Actionsubclasses, and all functionsword_searchmodule: module docstrings for_formatter.py,_generator.py, andword_search.py; class docstrings forWordSearchFormatterandWordSearch; full Args/Returns/Raises on allWordSearchFormattermethods (show(),save(),write_csv_file(),write_json_file(),write_pdf_file(),hide_filler_characters()) and all module-level PDF helpers (draw_page_title(),draw_puzzle(),highlight_solution(),draw_word_list(),draw_puzzle_key(),draw_puzzle_page()); full Args/Returns/Raises on allWordSearchGeneratormethods (generate(),no_duped_words(),capture_fragments(),test_a_fit(),find_a_fit(),fill_words(),try_to_fit_word(),fill_blanks()); expandedWordSearch.__init__()and fixedsecret_directionssetter (wrong arg name) andrandom_words()(placeholder_description_and wrong constant names in Raises)maskmodule includingMask.show(),Mask.__repr__(),CompoundMask.generate(),CompoundMask._apply_mask(),Polygon.split_points,RegularPolygon.generate(),RegularPolygon.cos_sin_from_degrees(),Star.generate(), and all concrete shapegenerate()overrides (Club,Donut,Fish,Flower,Heart,Spade,Tree,Square,Oval) plusDonut.calculate_golden_donut_ratio()Game.__repr__()to focus on core puzzle characteristics (words, level, size) that define puzzle identity according to__eq__. Removedrequire_all_wordsand implementation details like generator/formatter for cleaner, more maintainable outputdatetimeimport incli.main()from lazy inline import to top-level with other stdlib importsformatvariable incli.main()toexport_formatto avoid shadowing theformatbuiltinextend-selectrules directly intoselectarraytyfor type checking across the projectTypeAliasannotation to thetypekeywordx = WordSet()tox: WordSet = OrderedSet()-fpdf2 2.8.7
-pillow 12.2.0
-rich 14.3.3
-ordered-set 4.1.0
Fixed
game.placed_secret_words # type:ignore [attr-defined]inWordSearchFormatter.show()with a properhasattr()guard, eliminating the type suppression comment and making the check safe at runtimecli.main()referencing non-existent--random-fromflag, updated to accurately describe--themedependency on--randomassert mask.bounding_boxincli.preview_masks()with an explicit guard that warns and skips the mask, preventing silent failure when running with-OE402in__init__.pyfiles andTCH004inbitmap.pyWordSearchGenerator.find_a_fit()wherehasattr()assertions forsecret_directionscaused~AlwaysFalsytype inference issues. Replaced withgetattr()pattern for proper type narrowingtest_reprto test repr informativeness and object recreation without relying oneval()magicImage.Image.getdatatoImage.Image.get_flattened_data: Image.Image.getdata is deprecated and will be removed in Pillow 14 (2027-10-15).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.