Marco Ricci commited on 2025-01-31 15:37:32
              Zeige 1 geänderte Dateien mit 44 Einfügungen und 41 Löschungen.
            
| ... | ... | 
                      @@ -26,39 +26,41 @@ classifiers = [  | 
                  
| 26 | 26 | 
                        "Programming Language :: Python :: Implementation :: PyPy",  | 
                    
| 27 | 27 | 
                        ]  | 
                    
| 28 | 28 | 
                        dependencies = [  | 
                    
| 29 | 
                        - # We use click for the command-line interface. We require version 8.1.0  | 
                    |
| 30 | 
                        - # or higher due to click issue #1985.  | 
                    |
| 29 | 
                        + # We use click for the command-line interface. We require version  | 
                    |
| 30 | 
                        + # 8.1.0 or higher due to click issue #1985.  | 
                    |
| 31 | 31 | 
                        "click >= 8.1",  | 
                    
| 32 | 
                        - # We include type annotations, and use facilities that are not readily  | 
                    |
| 33 | 
                        - # available in older Pythons (such as typing.Self). These are loaded from  | 
                    |
| 34 | 
                        - # typing_extensions, instead of using explicit version guards.  | 
                    |
| 32 | 
                        + # We include type annotations, and use facilities that are not  | 
                    |
| 33 | 
                        + # readily available in older Pythons (such as typing.Self). These  | 
                    |
| 34 | 
                        + # are loaded from typing_extensions, instead of using explicit  | 
                    |
| 35 | 
                        + # version guards.  | 
                    |
| 35 | 36 | 
                        "typing_extensions",  | 
                    
| 36 | 
                        - # We read configuration files in JSON and TOML format. The latter is  | 
                    |
| 37 | 
                        - # unavailable in the Python standard library until Python 3.11.  | 
                    |
| 37 | 
                        + # We read configuration files in JSON and TOML format. The latter  | 
                    |
| 38 | 
                        + # is unavailable in the Python standard library until Python 3.11.  | 
                    |
| 38 | 39 | 
                        'tomli; python_version < "3.11"'  | 
                    
| 39 | 40 | 
                        ]  | 
                    
| 40 | 41 | 
                        dynamic = ['version']  | 
                    
| 41 | 42 | 
                         | 
                    
| 42 | 43 | 
                        [project.optional-dependencies]  | 
                    
| 43 | 44 | 
                        dev = [  | 
                    
| 44 | 
                        - # Development uses the hatch build system, to isolate all tools in their  | 
                    |
| 45 | 
                        - # own virtual environment...  | 
                    |
| 45 | 
                        + # Development uses the hatch build system, to isolate all tools in  | 
                    |
| 46 | 
                        + # their own virtual environment...  | 
                    |
| 46 | 47 | 
                        "hatch ~= 1.10",  | 
                    
| 47 | 
                        - # ...but it is still sensible to have most static analysis tools available  | 
                    |
| 48 | 
                        - # in the main virtual environment as well, so that your editor/IDE setup  | 
                    |
| 49 | 
                        - # can access them as well.  | 
                    |
| 48 | 
                        + # ...but it is still sensible to have most static analysis tools  | 
                    |
| 49 | 
                        + # available in the main virtual environment as well, so that your  | 
                    |
| 50 | 
                        + # editor/IDE setup can access them as well.  | 
                    |
| 50 | 51 | 
                        "mypy ~= 1.0",  | 
                    
| 51 | 52 | 
                        "ruff ~= 0.9.0",  | 
                    
| 52 | 
                        - # Test dependencies should be installed as well, to have static analysis  | 
                    |
| 53 | 
                        - # in the test suite working too.  | 
                    |
| 53 | 
                        + # Test dependencies should be installed as well, to have static  | 
                    |
| 54 | 
                        + # analysis in the test suite working too. `packaging` is needed  | 
                    |
| 55 | 
                        + # because the test suite compares version numbers.  | 
                    |
| 54 | 56 | 
                        "hypothesis >= 6.0",  | 
                    
| 55 | 
                        - "packaging", # The test suite compares version numbers.  | 
                    |
| 57 | 
                        + "packaging",  | 
                    |
| 56 | 58 | 
                        "pytest ~= 8.1",  | 
                    
| 57 | 59 | 
                        ]  | 
                    
| 58 | 60 | 
                        export = [  | 
                    
| 59 | 
                        - # The vault configuration exporter relies on cryptography. Version 38 was  | 
                    |
| 60 | 
                        - # the first to include the `algorithms.AES256` interface, instead of only  | 
                    |
| 61 | 
                        - # the `algorithms.AES` interface.  | 
                    |
| 61 | 
                        + # The vault configuration exporter relies on cryptography.  | 
                    |
| 62 | 
                        + # Version 38 was the first to include the `algorithms.AES256`  | 
                    |
| 63 | 
                        + # interface, instead of only the `algorithms.AES` interface.  | 
                    |
| 62 | 64 | 
                        "cryptography >= 38.0.0",  | 
                    
| 63 | 65 | 
                        ]  | 
                    
| 64 | 66 | 
                         | 
                    
| ... | ... | 
                      @@ -125,12 +127,12 @@ extra-dependencies = [  | 
                  
| 125 | 127 | 
                        # Our documentation uses formatted function signatures (i.e. with  | 
                    
| 126 | 128 | 
                        # formatted type annotations), which requires `black`.  | 
                    
| 127 | 129 | 
                        "black",  | 
                    
| 128 | 
                        - # We actually use functionality from MkDocs 1.6, so ensure the version is  | 
                    |
| 129 | 
                        - # at least this high.  | 
                    |
| 130 | 
                        + # We actually use functionality from MkDocs 1.6, so ensure the  | 
                    |
| 131 | 
                        + # version is at least this high.  | 
                    |
| 130 | 132 | 
                        "mkdocs >= 1.6",  | 
                    
| 131 | 133 | 
                        # Our changelog is assembled from singular entries, orchestrated by  | 
                    
| 132 | 134 | 
                        # `scriv`.  | 
                    
| 133 | 
                        - "scriv >= 1.4"  | 
                    |
| 135 | 
                        + "scriv >= 1.4",  | 
                    |
| 134 | 136 | 
                        ]  | 
                    
| 135 | 137 | 
                        detached = false  | 
                    
| 136 | 138 | 
                         | 
                    
| ... | ... | 
                      @@ -273,21 +275,22 @@ select = [  | 
                  
| 273 | 275 | 
                        'T20',  | 
                    
| 274 | 276 | 
                        ]  | 
                    
| 275 | 277 | 
                        "**/tests/**/*" = [  | 
                    
| 276 | 
                        - # Suggested by hatch, assumingly because it may be important to verify  | 
                    |
| 277 | 
                        - # that the value is exactly the empty string, and not just any falsy  | 
                    |
| 278 | 
                        - # value.  | 
                    |
| 278 | 
                        + # Suggested by hatch, assumingly because it may be important to  | 
                    |
| 279 | 
                        + # verify that the value is exactly the empty string, and not just  | 
                    |
| 280 | 
                        + # any falsy value.  | 
                    |
| 279 | 281 | 
                        'PLC1901',  | 
                    
| 280 | 
                        - # Suggested by hatch, assumingly because tests may use "magic values".  | 
                    |
| 282 | 
                        + # Suggested by hatch, assumingly because tests may use "magic  | 
                    |
| 283 | 
                        + # values".  | 
                    |
| 281 | 284 | 
                        'PLR2004',  | 
                    
| 282 | 
                        - # Suggested by hatch, because tests are typically organized as classes  | 
                    |
| 283 | 
                        - # and instance methods but may not really be using the `self`  | 
                    |
| 284 | 
                        - # argument.  | 
                    |
| 285 | 
                        + # Suggested by hatch, because tests are typically organized as  | 
                    |
| 286 | 
                        + # classes and instance methods but may not really be using the  | 
                    |
| 287 | 
                        + # `self` argument.  | 
                    |
| 285 | 288 | 
                        'PLR6301',  | 
                    
| 286 | 
                        - # Suggested by hatch, because these warnings may be precisely what the  | 
                    |
| 287 | 
                        - # tests are supposed to test.  | 
                    |
| 289 | 
                        + # Suggested by hatch, because these warnings may be precisely what  | 
                    |
| 290 | 
                        + # the tests are supposed to test.  | 
                    |
| 288 | 291 | 
                        'S',  | 
                    
| 289 | 
                        - # Suggested by hatch, because pytest-style tests conventionally import  | 
                    |
| 290 | 
                        - # code from each other via relative imports.  | 
                    |
| 292 | 
                        + # Suggested by hatch, because pytest-style tests conventionally  | 
                    |
| 293 | 
                        + # import code from each other via relative imports.  | 
                    |
| 291 | 294 | 
                        'TID252',  | 
                    
| 292 | 295 | 
                        # Our tests regularly use arguments named `input` to store an input  | 
                    
| 293 | 296 | 
                        # (text-/byte-)string.  | 
                    
| ... | ... | 
                      @@ -307,18 +310,18 @@ select = [  | 
                  
| 307 | 310 | 
                        # really apply here.  | 
                    
| 308 | 311 | 
                        'PLR0904', 'PLR0911', 'PLR0912', 'PLR0913', 'PLR0914', 'PLR0915',  | 
                    
| 309 | 312 | 
                        'PLR0916', 'PLR0917',  | 
                    
| 310 | 
                        - # To fully test the `derivepassphrase.cli` module (and a couple other  | 
                    |
| 311 | 
                        - # things), we need to call and to mock several internal functions,  | 
                    |
| 312 | 
                        - # which would automatically trigger `SLF001`.  | 
                    |
| 313 | 
                        + # To fully test the `derivepassphrase.cli` module (and a couple  | 
                    |
| 314 | 
                        + # other things), we need to call and to mock several internal  | 
                    |
| 315 | 
                        + # functions, which would automatically trigger `SLF001`.  | 
                    |
| 313 | 316 | 
                        'SLF001',  | 
                    
| 314 | 
                        - # pytest does not support sensible introspection of `assert all(...)`  | 
                    |
| 315 | 
                        - # expressions in tests the same way it supports introspection in  | 
                    |
| 316 | 
                        - # `asssert all([...])`. So the extra list comprehension actually  | 
                    |
| 317 | 
                        - # improves debuggability in this case.  | 
                    |
| 317 | 
                        + # pytest does not support sensible introspection of  | 
                    |
| 318 | 
                        + # `assert all(...)` expressions in tests the same way it supports  | 
                    |
| 319 | 
                        + # introspection in `asssert all([...])`. So the extra list  | 
                    |
| 320 | 
                        + # comprehension actually improves debuggability in this case.  | 
                    |
| 318 | 321 | 
                        'C419',  | 
                    
| 319 | 322 | 
                        # The tests sometimes include long strings (in non-Python formats)  | 
                    
| 320 | 
                        - # that should be included verbatim, without artificial line breaking,  | 
                    |
| 321 | 
                        - # so they can be grepped for.  | 
                    |
| 323 | 
                        + # that should be included verbatim, without artificial line  | 
                    |
| 324 | 
                        + # breaking, so they can be grepped for.  | 
                    |
| 322 | 325 | 
                        'E501',  | 
                    
| 323 | 326 | 
                        ]  | 
                    
| 324 | 327 | 
                         | 
                    
| 325 | 328 |