![github-actions[bot]](/assets/img/avatar_default.png)
You can preview this rule [here](https://sonarsource.github.io/rspec/#/rspec/S6730/python) (updated a few minutes after each push). ## Review A dedicated reviewer checked the rule description successfully for: - [ ] logical errors and incorrect information - [ ] information gaps and missing content - [ ] text style and tone - [ ] PR summary and labels follow [the guidelines](https://github.com/SonarSource/rspec/#to-modify-an-existing-rule) --------- Co-authored-by: guillaume-dequenne-sonarsource <guillaume-dequenne-sonarsource@users.noreply.github.com> Co-authored-by: David Kunzmann <david.kunzmann@sonarsource.com>
54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
This rule raises an issue when a deprecated Numpy alias of a built-in type is used.
|
|
|
|
== Why is this an issue?
|
|
|
|
In NumPy, some built-in types such as `int` have aliases in the form of `numpy.int`. However, these aliases have been deprecated and should not be used anymore.
|
|
|
|
The following deprecated aliases should be replaced with their built-in alternatives:
|
|
|
|
[frame=all]
|
|
[cols="^1,^1"]
|
|
|===
|
|
|Deprecated name|Equivalent built-in type
|
|
|
|
|numpy.bool|bool
|
|
|numpy.int|int
|
|
|numpy.float|float
|
|
|numpy.complex|complex
|
|
|numpy.object|object
|
|
|numpy.str|str
|
|
|numpy.long|int
|
|
|numpy.unicode|str
|
|
|===
|
|
|
|
== How to fix it
|
|
|
|
To fix this issue, make sure to replace deprecated NumPy type aliases with their corresponding built-in types.
|
|
|
|
=== Code examples
|
|
|
|
==== Noncompliant code example
|
|
|
|
[source,python,diff-id=1,diff-type=noncompliant]
|
|
----
|
|
import numpy as np
|
|
def foo():
|
|
x = np.int(42) # Noncompliant: deprecated type alias
|
|
----
|
|
|
|
==== Compliant solution
|
|
|
|
[source,python,diff-id=1,diff-type=compliant]
|
|
----
|
|
import numpy as np
|
|
def foo():
|
|
x = 42 # Compliant
|
|
----
|
|
|
|
|
|
== Resources
|
|
=== Documentation
|
|
|
|
* NumPy Documentation - https://numpy.org/devdocs/user/basics.types.html#basics-types[Data types]
|
|
* NumPy Documentation - https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations[Deprecation of aliases of builtin types]
|