54 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

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]