:snake: SonarQube Python plugin
SONARPY-1777 S1128: Do not raise an unused import on from sklearn.experimental ...
SONARPY-1768 Rule S6969 : "memory" parameter should be specified for Scikit-Learn Pipeline
SONARPY-1770 Rule S6971 : Transformers should not be accessed directly when a Scikit-Learn Pipeline uses caching
SONARPY-1771 Rule S6972: Nested estimator parameters adjustment in a Pipeline should refer to valid parameters
SONARPY-1775 Rule S6973 : Important hyperparameters should be specified for Scikit-Learn estimators
SONARPY-1780 Rule S6974: Subclasses of Scikit-Learn's "BaseEstimator" should not set attributes ending with "_" in the "__init__" method
SONARPY-1769 Modify S6709: To include Scikit learn
SONARPY-1732 Fix non-determinism on S2638 when positional-only parameters have no name available
SONARPY-1647 S6929: The axis argument should be specified when using reduction operations
SONARPY-1648 S6928: Python side effects should not be used inside a tf.function
SONARPY-1649 S6908: tf.function should not be recursive
SONARPY-1650 S6911: tf.function should not depend on global or free python var
SONARPY-1652 S6918: "tf.Variable" objects should be singletons when created inside of a "tf.function"
SONARPY-1654 S6919: The input_shape parameter should not be specified for tf.keras.Model subclasses
SONARPY-1657 S6925: The validate_indices argument should not be set for tf.gather function call
SONARPY-1686 Define sonar.python.version as a public property
SONARPY-1685 Fix FP on S6742 when DataFrame class is not a pandas's library class
SONARPY-1636 S6903: Using timezone aware "datetime"s should be preferred over using "datetime.datetime.utcnow" and "datetime.datetime.utcfromtimestamp"
SONARPY-1637 S6894: A date should be formatted correctly when using "pandas.to_datetime" with "dayfirst" or "yearfirst" arguments
SONARPY-1639 S6882: Constructor attributes of date and time objects should be in the range of possible values
SONARPY-1640 S6883: The 12-hour format should be used with the AM/PM marker, otherwise 24-hour format should be used
SONARPY-1643 S6900: Numpy weekmask should have a valid value
SONARPY-1644 Rule S6890: zoneinfo should be preferred to pytz when using Python 3.9 and later
SONARPY-1645 Rule S6887: pytz.timezone should not be passed to the datetime.datetime constructor
SONARPY-1593 Add support for star symbol in type annotation
SONARPY-1635 OneStatementPerLine: do not raise an issue on dummy function and class implementations
SONARPY-1598 Fix FP on S6542 with re-exported/imported override
SONARPY-1600 Fix FP on S5655: boolean parameter incompatible with float type annotation.
SONARPY-1609 Fix FP on S5886 when returning optional unions of unknown symbols
SONARPY-1612 S905: should ignore assigned and unused Airflow operators.
SONARPY-1613 S905: should ignore __manifest__.py files
SONARPY-1617 S117: Ignore variable assigned to "namedtuple" or "NamedTuple"
SONARPY-1622 Fix FP on S5886 when returning collections.abc.AsyncIterable
SONARPY-1624 Fix FP on S5886 when the expected return type is a tuple subclass
SONARPY-1628 S1172: should not raise on methods of abstract classes
SONARPY-1629 Prevent S5756 from being raised on calls to instances of NamedTuple
SONARPY-1630 S1192: Ensure no issue is raised on test code
SONARPY-1660 Fix FP on S905 when using a decorator to declare an Airflow DAG
SONARPY-1662 Fix FP on S117 when a class is assigned to a variable
SONARPY-1633 S1481: Add a quick fix to rename loop indices
SONARPY-1634 S1481: Add a quick fix to remove assignment target
SONARPY-1579 Fix FN on S6437 when library stubs are missing
SONARPY-1553 Rule S4507: Add support for GraphQL endpoints with GraphiQL (interactive GraphQL) enabled
SONARPY-1555 Rule S6785: GraphQL queries should not be vulnerable to Denial of Service attacks
SONARPY-1590 Update java protobuf version to 3.25.1
SONARPY-1569 [S6779] Highlight on the line that actually contains the Flask secret
SONARPY-1582 Add SonarLintCache component and make it accessible to custom rules via the caching APIs
SONARPY-1583 Add sonarProduct() API to PythonInputFileContext
SONARPY-1247 Fix inconsistencies in test rule results when test dirs are configured
SONARPY-1574 Correctly infer types in case of annotated assignments
SONARPY-1010 Fix FP on S5607, S5864, S2159, S5644, S3862 when using mocks
SONARPY-1166 Avoid FPs when variables are used inside 'pandas.DataFrame.query' expression argument
SONARPY-1251 Fix FP on S1940 Inverted boolean checks when comparing Sets
SONARPY-1252 S5886 (FunctionReturnTypeCheck) should consider type aliases
SONARPY-1256 Fix FP on S5886 when Iterator is an ambiguous symbol
SONARPY-1562 Fix FP on S139 when the comment is a Flake8 pragma comment
SONARPY-1563 Fix FPs on S1172 when the parameter is intentionally unused
SONARPY-1568 S6542 should not raise an issue on overrides and overloads
SONARPY-1570 [S5332] Fix FN when calls are made to `http.server.HTTPServer.server_bind(self)` from within inherited classes.
SONARPY-1556 Parameters should properly support union type as declared type
SONARPY-1558 Support declared types of class fields
SONARPY-1434 Rule S5122: Add support for flask_cors 2
SONARPY-834 Support type inference at module level
SONARPY-1535 Rule S4830: Add support for HTTPX
SONARPY-1537 Rule S4830: Add support for aiohttp
SONARPY-1545 Rule S5659: Add support for python-jose
SONARPY-1546 Rule S2092: Add support for FastAPI
SONARPY-1547 Rule S3330: Add support for FastAPI
SONARPY-1468 Rule S6779: Flask secret keys should not be disclosed
SONARPY-1474 Rule S6781: JWT secret keys should not be disclosed
SONARPY-1498 [S6786] Python GraphQL introspection should be disabled
SONARPY-1461 S4507: Add support for Flask applications
SONARPY-1475 [S5332] Support `http.server.HTTPServer` and subclasses
SONARPY-1478 Rule S5547: Add support for ssl module
SONARPY-1552 Rule S5332: Raise an issue on `server_bind` calls.
SONARPY-1533 Fix Ruff report import to use the correct column and row location
SONARPY-1521 S4143: Fix FP when there is different collections value assignment for same key
SONARPY-1524 S3827: Fix FP when value is referenced in type alias
SONARPY-1525 S5953: fix FP when using generic types for parameters and return type hints
SONARPY-1530 S5806: Fix FN and FP regarding the Ellipsis and the ellipsis type.
SONARPY-1536 S6735: Fix false positive when left_on or right_on is specified for pandas.merge
SONARPY-1484 Support type parameter syntax for classes
SONARPY-1486 Support generic type alias declaration syntax
SONARPY-1493 Support lexing of PEP701 f-strings
SONARPY-1494 Support grammar of PEP701 f-strings
SONARPY-1509 Rule S6799: f-strings should not be nested too deeply
SONARPY-1510 Rule S6792: Generic classes should be defined using the type parameter syntax
SONARPY-1511 Rule S6794: Type aliases should be declared with a "type" statement
SONARPY-1512 Rule S6796: Generic functions should be defined using the type parameter syntax
SONARPY-1515 Support function and class type parameters for Symbol table
SONARPY-1529 Standardise rule message formatting across rules implemented in MMF-3335 and MMF-3336.
SONARPY-1455 Rule S6741: The 'pandas.DataFrame.to_numpy()' method should be preferred to the 'pandas.DataFrame.values' attribute
SONARPY-1456 Rule S6734: inplace=True should not be used when modifying a Pandas DataFrame
SONARPY-1458 Rule S6742: pandas.pipe method should be preferred over long chains of instructions
SONARPY-1459 Rule S6735: When using pandas.merge or pandas.join, the parameters on, how and validate should be specified
SONARPY-1460 Rule S6740: dtype parameter should be provided when using pandas.read_csv or pandas.read_table
SONARPY-1495 Expand the scope of rule S6735 to calls to merge and join on the DataFrame object.