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]
|