Commit 22e8d14
authored
[Tooling & Documentation]: Upgrade to python 3.13.5 (#74)
* Added pylint examples of bad code for linting rules.
* Added pylint examples of good code for linting rules.
* Added pylint linting rules details files.
* Added generic pylint analyzer for exercises without any customized analysis.
* Added pylint linting rules related info files.
* Custom analyzer stub, ready for additional rules beyond the existing PyLint analyzers.
* Details comment file for unused-wildcard-import lint rule.
* Added exercise metadata and exemplar code to test exercises.
* Added exercise solution code to test exercises.
* Added exercise golden analysis.json for test exercises.
* Upgraded dockerfile to python:3.13.5-alpine3.22
* Required init files for test and lib.
* Updated readme with new docker-based instructions.
* Updated PyLint comment files with good code, bad code, refs, and details from PyLint docs.
* Removed unneeded pylint config file from exercise.
* Added 10 general recommendations for when the analyzer has no feedback.
* Cleaned up and formatted run scripts.
* Upgraded requirements for Python 3.13.5.
* Upgraded the general PyLint config file with the 4.4.0 version and enabled all extensions.
* Added new golden tests for slect exercises to better test Analyzer and Analyzer feedback.
* Modified analyzer to use new method now that epylint is depricated. Added extended PyLint messaging for PyLint comments. Added a generic analyzer for when no custom analyzer is found.
* Added exercise names file and modified exercise.py to read exercise names from file instead of using empty directories,1 parent f9772ef commit 22e8d14
File tree
1,192 files changed
+12307
-787
lines changed- bin
- comments
- general
- pylint
- lib
- black-jack
- card-games
- cater-waiter
- chaitanas-colossal-coaster
- common
- generic_analyzer
- pylint_data/messages
- abstract-class-instantiated
- abstract-method
- access-member-before-definition
- anomalous-backslash-in-string
- anomalous-unicode-escape-in-string
- arguments-differ
- arguments-out-of-order
- arguments-renamed
- assert-on-string-literal
- assert-on-tuple
- assigning-non-slot
- assignment-from-no-return
- assignment-from-none
- astroid-error
- async-context-manager-with-regular-with
- attribute-defined-outside-init
- await-outside-async
- bad-builtin
- bad-chained-comparison
- bad-classmethod-argument
- bad-configuration-section
- bad-docstring-quotes
- bad-dunder-name
- bad-except-order
- bad-exception-cause
- bad-file-encoding
- bad-format-character
- bad-format-string-key
- bad-format-string
- bad-indentation
- bad-inline-option
- bad-mcs-classmethod-argument
- bad-mcs-method-argument
- bad-open-mode
- bad-plugin-value
- bad-reversed-sequence
- bad-staticmethod-argument
- bad-str-strip-call
- bad-string-format-type
- bad-super-call
- bad-thread-instantiation
- bare-except
- bare-name-capture-pattern
- bidirectional-unicode
- binary-op-exception
- boolean-datetime
- break-in-finally
- broad-exception-caught
- broad-exception-raised
- broken-collections-callable
- broken-noreturn
- c-extension-no-member
- catching-non-exception
- cell-var-from-loop
- chained-comparison
- class-variable-slots-conflict
- comparison-of-constants
- comparison-with-callable
- comparison-with-itself
- condition-evals-to-constant
- config-parse-error
- confusing-consecutive-elif
- confusing-with-statement
- consider-alternative-union-syntax
- consider-iterating-dictionary
- consider-math-not-float
- consider-merging-isinstance
- consider-refactoring-into-while-condition
- consider-swap-variables
- consider-ternary-expression
- consider-using-alias
- consider-using-any-or-all
- consider-using-assignment-expr
- consider-using-augmented-assign
- consider-using-dict-comprehension
- consider-using-dict-items
- consider-using-enumerate
- consider-using-f-string
- consider-using-from-import
- consider-using-generator
- consider-using-get
- consider-using-in
- consider-using-join
- consider-using-max-builtin
- consider-using-min-builtin
- consider-using-namedtuple-or-dataclass
- consider-using-set-comprehension
- consider-using-sys-exit
- consider-using-ternary
- consider-using-tuple
- consider-using-with
- contextmanager-generator-missing-cleanup
- continue-in-finally
- cyclic-import
- dangerous-default-value
- declare-non-slot
- deprecated-argument
- deprecated-attribute
- deprecated-class
- deprecated-decorator
- deprecated-method
- deprecated-module
- deprecated-pragma
- deprecated-typing-alias
- dict-init-mutate
- dict-iter-missing-items
- differing-param-doc
- differing-type-doc
- disallowed-name
- docstring-first-line-empty
- duplicate-argument-name
- duplicate-bases
- duplicate-code
- duplicate-except
- duplicate-key
- duplicate-string-formatting-argument
- duplicate-value
- else-if-used
- empty-comment
- empty-docstring
- eq-without-hash
- eval-used
- exec-used
- expression-not-assigned
- f-string-without-interpolation
- fatal
- file-ignored
- fixme
- forgotten-debug-statement
- format-combined-specification
- format-needs-mapping
- format-string-without-interpolation
- function-redefined
- global-at-module-level
- global-statement
- global-variable-not-assigned
- global-variable-undefined
- implicit-flag-alias
- implicit-str-concat
- import-error
- import-outside-toplevel
- import-private-name
- import-self
- inconsistent-mro
- inconsistent-quotes
- inconsistent-return-statements
- inherit-non-class
- init-is-generator
- invalid-all-format
- invalid-all-object
- invalid-bool-returned
- invalid-bytes-returned
- invalid-character-backspace
- invalid-character-carriage-return
- invalid-character-esc
- invalid-character-nul
- invalid-character-sub
- invalid-character-zero-width-space
- invalid-characters-in-docstring
- invalid-class-object
- invalid-enum-extension
- invalid-envvar-default
- invalid-envvar-value
- invalid-field-call
- invalid-format-index
- invalid-format-returned
- invalid-getnewargs-ex-returned
- invalid-getnewargs-returned
- invalid-hash-returned
- invalid-index-returned
- invalid-length-hint-returned
- invalid-length-returned
- invalid-match-args-definition
- invalid-metaclass
- invalid-name
- invalid-overridden-method
- invalid-repr-returned
- invalid-sequence-index
- invalid-slice-index
- invalid-slice-step
- invalid-slots-object
- invalid-slots
- invalid-star-assignment-target
- invalid-str-returned
- invalid-unary-operand-type
- invalid-unicode-codec
- isinstance-second-argument-not-valid-type
- keyword-arg-before-vararg
- kwarg-superseded-by-positional-arg
- line-too-long
- literal-comparison
- locally-disabled
- logging-format-interpolation
- logging-format-truncated
- logging-fstring-interpolation
- logging-not-lazy
- logging-too-few-args
- logging-too-many-args
- logging-unsupported-format
- lost-exception
- magic-value-comparison
- match-class-bind-self
- match-class-positional-attributes
- method-cache-max-size-none
- method-check-failed
- misplaced-bare-raise
- misplaced-comparison-constant
- misplaced-format-function
- misplaced-future
- missing-any-param-doc
- missing-class-docstring
- missing-final-newline
- missing-format-argument-key
- missing-format-attribute
- missing-format-string-key
- missing-function-docstring
- missing-kwoa
- missing-module-docstring
- missing-param-doc
- missing-parentheses-for-call-in-test
- missing-raises-doc
- missing-return-doc
- missing-return-type-doc
- missing-timeout
- missing-type-doc
- missing-yield-doc
- missing-yield-type-doc
- mixed-format-string
- mixed-line-endings
- modified-iterating-dict
- modified-iterating-list
- modified-iterating-set
- multiple-class-sub-patterns
- multiple-constructor-doc
- multiple-imports
- multiple-statements
- named-expr-without-context
- nan-comparison
- nested-min-max
- no-classmethod-decorator
- no-else-break
- no-else-continue
- no-else-raise
- no-else-return
- no-member
- no-method-argument
- no-name-in-module
- no-self-argument
- no-self-use
- no-staticmethod-decorator
- no-value-for-parameter
- non-ascii-file-name
- non-ascii-module-import
- non-ascii-name
- non-iterator-returned
- non-parent-init-called
- non-str-assignment-to-dunder-name
- nonexistent-operator
- nonlocal-and-global
- nonlocal-without-binding
- not-a-mapping
- not-an-iterable
- not-async-context-manager
- not-callable
- not-context-manager
- not-in-loop
- notimplemented-raised
- overlapping-except
- overridden-final-method
- parse-error
- pointless-exception-statement
- pointless-statement
- pointless-string-statement
- positional-only-arguments-expected
- possibly-unused-variable
- possibly-used-before-assignment
- potential-index-error
- prefer-typing-namedtuple
- preferred-module
- property-with-parameters
- protected-access
- raise-missing-from
- raising-bad-type
- raising-format-tuple
- raising-non-exception
- raw-checker-failed
- redeclared-assigned-name
- redefined-argument-from-local
- redefined-builtin
- redefined-loop-name
- redefined-outer-name
- redefined-slots-in-subclass
- redefined-variable-type
- redundant-keyword-arg
- redundant-returns-doc
- redundant-typehint-argument
- redundant-u-string-prefix
- redundant-unittest-assert
- redundant-yields-doc
- reimported
- relative-beyond-top-level
- repeated-keyword
- return-arg-in-generator
- return-in-finally
- return-in-init
- return-outside-function
- self-assigning-variable
- self-cls-assignment
- shadowed-import
- shallow-copy-environ
- signature-differs
- simplifiable-condition
- simplifiable-if-expression
- simplifiable-if-statement
- simplify-boolean-expression
- single-string-used-for-slots
- singledispatch-method
- singledispatchmethod-function
- singleton-comparison
- star-needs-assignment-target
- stop-iteration-return
- subclassed-final-class
- subprocess-popen-preexec-fn
- subprocess-run-check
- super-init-not-called
- super-with-arguments
- super-without-brackets
- superfluous-parens
- suppressed-message
- syntax-error
- too-complex
- too-few-format-args
- too-few-public-methods
- too-many-ancestors
- too-many-arguments
- too-many-boolean-expressions
- too-many-branches
- too-many-format-args
- too-many-function-args
- too-many-instance-attributes
- too-many-lines
- too-many-locals
- too-many-nested-blocks
- too-many-positional-arguments
- too-many-positional-sub-patterns
- too-many-public-methods
- too-many-return-statements
- too-many-star-expressions
- too-many-statements
- too-many-try-statements
- trailing-comma-tuple
- trailing-newlines
- trailing-whitespace
- truncated-format-string
- try-except-raise
- typevar-double-variance
- typevar-name-incorrect-variance
- typevar-name-mismatch
- unbalanced-dict-unpacking
- unbalanced-tuple-unpacking
- undefined-all-variable
- undefined-loop-variable
- undefined-variable
- unexpected-keyword-arg
- unexpected-line-ending-format
- unexpected-special-method-signature
- ungrouped-imports
- unhashable-member
- unidiomatic-typecheck
- unknown-option-value
- unnecessary-comprehension
- unnecessary-default-type-args
- unnecessary-dict-index-lookup
- unnecessary-direct-lambda-call
- unnecessary-dunder-call
- unnecessary-ellipsis
- unnecessary-lambda-assignment
- unnecessary-lambda
- unnecessary-list-index-lookup
- unnecessary-negation
- unnecessary-pass
- unnecessary-semicolon
- unpacking-non-sequence
- unreachable
- unrecognized-inline-option
- unrecognized-option
- unspecified-encoding
- unsubscriptable-object
- unsupported-assignment-operation
- unsupported-binary-operation
- unsupported-delete-operation
- unsupported-membership-test
- unused-argument
- unused-format-string-argument
- unused-format-string-key
- unused-import
- unused-private-member
- unused-variable
- unused-wildcard-import
- use-a-generator
- use-dict-literal
- use-implicit-booleaness-not-comparison-to-string
- use-implicit-booleaness-not-comparison-to-zero
- use-implicit-booleaness-not-comparison
- use-implicit-booleaness-not-len
- use-list-literal
- use-maxsplit-arg
- use-sequence-for-iteration
- use-set-for-membership
- use-symbolic-message-instead
- use-yield-from
- used-before-assignment
- used-prior-global-declaration
- useless-else-on-loop
- useless-import-alias
- useless-object-inheritance
- useless-option-value
- useless-param-doc
- useless-parent-delegation
- useless-return
- useless-suppression
- useless-type-doc
- useless-with-lock
- using-assignment-expression-in-unsupported-version
- using-constant-test
- using-exception-groups-in-unsupported-version
- using-f-string-in-unsupported-version
- using-final-decorator-in-unsupported-version
- using-generic-type-syntax-in-unsupported-version
- using-positional-only-args-in-unsupported-version
- while-used
- wildcard-import
- wrong-exception-operation
- wrong-import-order
- wrong-import-position
- wrong-spelling-in-comment
- wrong-spelling-in-docstring
- yield-inside-async-function
- yield-outside-function
- currency-exchange
- ellens-alien-game
- ghost-gobble-arcade-game
- guidos-gorgeous-lasagna
- inventory-management
- little-sisters-essay
- little-sisters-vocab
- log-levels
- making-the-grade
- meltdown-mitigation
- pretty-leaflet
- processing-logs
- restaurant-rozalynn
- tisbury-treasure-hunt
- two-fer
- test
- acronym
- anagram
- black-jack
- .meta
- card-games
- .meta
- cater-waiter
- .meta
- chaitanas-colossal-coaster
- .meta
- currency-exchange
- .meta
- electric-bill
- .meta
- ellens-alien-game
- .meta
- ghost-gobble-arcade-game
- .meta
- guidos-gorgeous-lasagna
- .meta
- inventory-management
- .meta
- little-sisters-essay
- .meta
- little-sisters-vocab
- .meta
- locomotive-engineer
- .meta
- log-levels
- .meta
- making-the-grade
- .meta
- mecha-munch-management
- .meta
- meltdown-mitigation
- .meta
- plane-tickets
- .meta
- tisbury-treasure-hunt
- .meta
- two-fer
- .meta
- wordy
- yacht
- .meta
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
1,192 files changed
+12307
-787
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
8 | 7 | | |
9 | | - | |
10 | 8 | | |
11 | | - | |
12 | 9 | | |
13 | | - | |
14 | | - | |
| 10 | + | |
15 | 11 | | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
4 | 5 | | |
5 | | - | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | | - | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
17 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
37 | 40 | | |
38 | 41 | | |
39 | | - | |
40 | | - | |
41 | | - | |
| 42 | + | |
| 43 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
5 | 4 | | |
6 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
5 | 4 | | |
6 | | - | |
7 | | - | |
| 5 | + | |
8 | 6 | | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | | - | |
| 8 | + | |
8 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments