Skip to content

Commit b4fa3ef

Browse files
committed
Closes #5213: add TypeGuards to dtypes module
1 parent 0dbd182 commit b4fa3ef

37 files changed

+233
-213
lines changed

.docstr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ exclude: .*/tests # regex to skip test files
44
skip_magic: True # ignore __dunder__ methods (except __init__)
55
skip_init: True # ignore __init__ methods
66
skip_private: True # ignore names starting with _
7-
fail_under: 76.0 # exit non-zero if coverage < 76%
7+
fail_under: 75.9 # exit non-zero if coverage < 76%
88
badge: docs/badge.svg # generate an SVG badge
99

arkouda/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,11 @@
220220
intersect1d,
221221
intp,
222222
isnumeric,
223-
isSupportedBool,
224-
isSupportedDType,
225-
isSupportedFloat,
226-
isSupportedInt,
227-
isSupportedNumber,
223+
is_supported_bool,
224+
is_supported_dtype,
225+
is_supported_float,
226+
is_supported_int,
227+
is_supported_number,
228228
is_registered,
229229
is_sorted,
230230
isfinite,
@@ -396,10 +396,10 @@
396396
ruok,
397397
shutdown,
398398
)
399-
from arkouda.client_dtypes import BitVector, BitVectorizer, Fields, IPv4, ip_address, is_ipv4, is_ipv6
399+
from arkouda.client_dtypes import BitVector, bit_vectorizer, Fields, IPv4, ip_address, is_ipv4, is_ipv6
400400
from arkouda.groupbyclass import GROUPBY_REDUCTION_TYPES, GroupBy, broadcast, groupable, unique
401401
from arkouda.categorical import Categorical
402-
from arkouda.logger import LogLevel, disableVerbose, enableVerbose, write_log
402+
from arkouda.logger import LogLevel, disable_verbose, enable_verbose, write_log
403403
from arkouda.infoclass import (
404404
AllSymbols,
405405
RegisteredSymbols,

arkouda/array_api/array_object.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -869,7 +869,7 @@ def device(self) -> Device:
869869
return "cpu"
870870

871871
@property
872-
def mT(self) -> Array:
872+
def mT(self) -> Array: # noqa: N802
873873
raise ValueError("Not implemented")
874874

875875
@property

arkouda/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
import zmq # for typechecking
7575

7676
from arkouda import __version__, security
77-
from arkouda.logger import ArkoudaLogger, LogLevel, getArkoudaLogger
77+
from arkouda.logger import ArkoudaLogger, LogLevel, get_arkouda_logger
7878
from arkouda.message import (
7979
MessageFormat,
8080
MessageType,
@@ -172,8 +172,8 @@ def _mem_get_factor(unit: str) -> int:
172172
)
173173

174174

175-
logger = getArkoudaLogger(name="Arkouda Client", logLevel=LogLevel.INFO)
176-
clientLogger = getArkoudaLogger(name="Arkouda User Logger", logFormat="%(message)s")
175+
logger = get_arkouda_logger(name="Arkouda Client", logLevel=LogLevel.INFO)
176+
clientLogger = get_arkouda_logger(name="Arkouda User Logger", logFormat="%(message)s")
177177

178178

179179
class ClientMode(Enum):
@@ -348,7 +348,7 @@ def __init__(
348348
self._set_url(server, port, connect_url)
349349
self.user = user
350350
self._set_access_token(server, port, token)
351-
self.logger = getArkoudaLogger(name="Arkouda Client")
351+
self.logger = get_arkouda_logger(name="Arkouda Client")
352352

353353
def _set_url(self, server: str, port: int, connect_url: Optional[str] = None) -> None:
354354
"""

arkouda/client_dtypes.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
1414
Functions
1515
---------
16-
- `BitVectorizer`: Creates a partially applied BitVector constructor.
16+
- `bit_vectorizer`: Creates a partially applied BitVector constructor.
1717
- `ip_address`: Converts various formats to an Arkouda IPv4 object.
1818
- `is_ipv4`: Returns a boolean array indicating IPv4 addresses.
1919
- `is_ipv6`: Returns a boolean array indicating IPv6 addresses.
@@ -57,7 +57,7 @@
5757

5858
from typeguard import typechecked
5959

60-
from arkouda.numpy.dtypes import bitType, intTypes, isSupportedInt
60+
from arkouda.numpy.dtypes import bitType, intTypes, is_supported_int
6161
from arkouda.numpy.dtypes import uint64 as akuint64
6262
from arkouda.numpy.pdarrayclass import RegistrationError, pdarray
6363
from arkouda.pandas.groupbyclass import GroupBy, broadcast
@@ -73,7 +73,7 @@
7373

7474
__all__ = [
7575
"BitVector",
76-
"BitVectorizer",
76+
"bit_vectorizer",
7777
"Fields",
7878
"IPv4",
7979
"ip_address",
@@ -82,7 +82,7 @@
8282
]
8383

8484

85-
def BitVectorizer(width=64, reverse=False):
85+
def bit_vectorizer(width=64, reverse=False):
8686
"""
8787
Make a callback (i.e. function) that can be called on an array to create a BitVector.
8888
@@ -230,7 +230,7 @@ def __getitem__(self, key):
230230
A single formatted string or a BitVector slice.
231231
232232
"""
233-
if isSupportedInt(key):
233+
if is_supported_int(key):
234234
# Return single value as a formatted string
235235
return self.format(self.values[key])
236236
else:
@@ -252,7 +252,7 @@ def __setitem__(self, key, value):
252252
if isinstance(value, self.__class__):
253253
# Set a slice or selection of values directly
254254
self.values[key] = value.values
255-
elif isSupportedInt(key) and isSupportedInt(value):
255+
elif is_supported_int(key) and is_supported_int(value):
256256
# Set a single value
257257
self.values[key] = value
258258
else:
@@ -261,7 +261,7 @@ def __setitem__(self, key, value):
261261
def _binop(self, other, op):
262262
# Based on other type, select which data to pass
263263
# to _binop of pdarray
264-
if isSupportedInt(other):
264+
if is_supported_int(other):
265265
otherdata = other
266266
elif isinstance(other, self.__class__):
267267
otherdata = other.values
@@ -279,7 +279,7 @@ def _binop(self, other, op):
279279
def _r_binop(self, other, op):
280280
# Cases where left operand is BitVector are handled above by _binop
281281
# Only two cases to handle here: scalar int and int64 pdarray
282-
if isSupportedInt(other):
282+
if is_supported_int(other):
283283
if op in self.conserves:
284284
return self._cast(self.values._r_binop(other, op))
285285
else:
@@ -306,7 +306,7 @@ def opeq(self, other, op):
306306
307307
"""
308308
# Based on other type, select data to pass to pdarray opeq
309-
if isSupportedInt(other):
309+
if is_supported_int(other):
310310
otherdata = other
311311
elif isinstance(other, self.__class__):
312312
otherdata = other.values
@@ -699,7 +699,7 @@ def export_uint(self):
699699

700700
def format(self, x):
701701
"""Format a single integer IP address as a string."""
702-
if not isSupportedInt(x):
702+
if not is_supported_int(x):
703703
raise TypeError("Argument must be an integer scalar")
704704
return str(_ip_address(int(x)))
705705

@@ -711,7 +711,7 @@ def normalize(self, x):
711711
and convert it to an integer.
712712
713713
"""
714-
if not isSupportedInt(x):
714+
if not is_supported_int(x):
715715
x = int(_ip_address(x))
716716
if x < 0:
717717
raise ValueError(f"Not an IP address: {_ip_address(x)}")
@@ -782,7 +782,7 @@ def __getitem__(self, key):
782782
Formatted IP address string or a sliced IPv4 instance.
783783
784784
"""
785-
if isSupportedInt(key):
785+
if is_supported_int(key):
786786
# Display single item as string
787787
return self.format(self.values[key])
788788
else:

arkouda/dtypes/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@
6262
int64,
6363
int_scalars,
6464
intTypes,
65-
isSupportedBool,
66-
isSupportedDType,
67-
isSupportedFloat,
68-
isSupportedInt,
69-
isSupportedNumber,
65+
is_supported_bool,
66+
is_supported_dtype,
67+
is_supported_float,
68+
is_supported_int,
69+
is_supported_number,
7070
numeric_and_bool_scalars,
7171
numeric_scalars,
7272
numpy_scalars,

arkouda/logger.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,27 @@
2626
2727
Functions
2828
---------
29-
getArkoudaLogger(name, handlers=None, logFormat=None, logLevel=None)
29+
get_arkouda_logger(name, handlers=None, logFormat=None, logLevel=None)
3030
Instantiate a logger with customizable format and log level.
3131
32-
getArkoudaClientLogger(name)
32+
get_arkouda_client_logger(name)
3333
Instantiate a logger for client-facing output (no formatting, INFO level default).
3434
35-
enableVerbose()
35+
enable_verbose()
3636
Globally set all ArkoudaLoggers to DEBUG level.
3737
38-
disableVerbose(logLevel=LogLevel.INFO)
38+
disable_verbose(logLevel=LogLevel.INFO)
3939
Globally disable DEBUG output by setting all loggers to the specified level.
4040
4141
write_log(log_msg, tag="ClientGeneratedLog", log_lvl=LogLevel.INFO)
4242
Submit a custom log message to the Arkouda server’s logging system.
4343
4444
Usage Example
4545
-------------
46-
>>> from arkouda.logger import getArkoudaLogger, LogLevel
47-
>>> logger = getArkoudaLogger("myLogger")
46+
>>> from arkouda.logger import get_arkouda_logger, LogLevel
47+
>>> logger = get_arkouda_logger("myLogger")
4848
>>> logger.info("This is an info message.")
49-
>>> logger.enableVerbose()
49+
>>> logger.enable_verbose()
5050
>>> logger.debug("Now showing debug messages.")
5151
5252
See Also
@@ -75,7 +75,7 @@
7575
from typeguard import typechecked
7676

7777

78-
__all__ = ["LogLevel", "enableVerbose", "disableVerbose", "write_log"]
78+
__all__ = ["LogLevel", "enable_verbose", "disable_verbose", "write_log"]
7979

8080
loggers = {}
8181

@@ -210,7 +210,7 @@ def __init__(
210210
self.addHandler(handler)
211211

212212
@typechecked
213-
def changeLogLevel(self, level: LogLevel, handlerNames: Optional[List[str]] = None) -> None:
213+
def change_log_level(self, level: LogLevel, handlerNames: Optional[List[str]] = None) -> None:
214214
"""
215215
Dynamically changes the logging level for ArkoudaLogger and 1..n of configured Handlers.
216216
@@ -246,12 +246,12 @@ def changeLogLevel(self, level: LogLevel, handlerNames: Optional[List[str]] = No
246246
if name == handler.name:
247247
handler.setLevel(newLevel)
248248

249-
def enableVerbose(self) -> None:
249+
def enable_verbose(self) -> None:
250250
"""Enable verbose output by setting the log level for all handlers to DEBUG."""
251-
self.changeLogLevel(LogLevel.DEBUG)
251+
self.change_log_level(LogLevel.DEBUG)
252252

253253
@typechecked
254-
def disableVerbose(self, logLevel: LogLevel = LogLevel.INFO) -> None:
254+
def disable_verbose(self, logLevel: LogLevel = LogLevel.INFO) -> None:
255255
"""
256256
Disables verbose output.
257257
@@ -270,10 +270,10 @@ def disableVerbose(self, logLevel: LogLevel = LogLevel.INFO) -> None:
270270
Raised if logLevel is not a LogLevel enum
271271
272272
"""
273-
self.changeLogLevel(logLevel)
273+
self.change_log_level(logLevel)
274274

275275
@typechecked
276-
def getHandler(self, name: str) -> Handler:
276+
def get_handler(self, name: str) -> Handler:
277277
"""
278278
Retrieve the Handler object corresponding to the name.
279279
@@ -302,7 +302,7 @@ def getHandler(self, name: str) -> Handler:
302302

303303

304304
@typechecked
305-
def getArkoudaLogger(
305+
def get_arkouda_logger(
306306
name: str,
307307
handlers: Optional[List[Handler]] = None,
308308
logFormat: Optional[str] = ArkoudaLogger.DEFAULT_LOG_FORMAT,
@@ -349,7 +349,7 @@ def getArkoudaLogger(
349349

350350

351351
@typechecked
352-
def getArkoudaClientLogger(name: str) -> ArkoudaLogger:
352+
def get_arkouda_client_logger(name: str) -> ArkoudaLogger:
353353
"""
354354
Instantiate an ArkoudaLogger that retrieves the logging level from ARKOUDA_LOG_LEVEL env variable.
355355
@@ -378,17 +378,17 @@ def getArkoudaClientLogger(name: str) -> ArkoudaLogger:
378378
confirmation of successful login or pdarray creation
379379
380380
"""
381-
return getArkoudaLogger(name=name, logFormat=ArkoudaLogger.CLIENT_LOG_FORMAT)
381+
return get_arkouda_logger(name=name, logFormat=ArkoudaLogger.CLIENT_LOG_FORMAT)
382382

383383

384-
def enableVerbose() -> None:
384+
def enable_verbose() -> None:
385385
"""Enable verbose logging (DEBUG log level) for all ArkoudaLoggers."""
386386
for logger in loggers.values():
387-
logger.enableVerbose()
387+
logger.enable_verbose()
388388

389389

390390
@typechecked
391-
def disableVerbose(logLevel: LogLevel = LogLevel.INFO) -> None:
391+
def disable_verbose(logLevel: LogLevel = LogLevel.INFO) -> None:
392392
"""
393393
Disables verbose logging.
394394
@@ -407,7 +407,7 @@ def disableVerbose(logLevel: LogLevel = LogLevel.INFO) -> None:
407407
408408
"""
409409
for logger in loggers.values():
410-
logger.disableVerbose(logLevel)
410+
logger.disable_verbose(logLevel)
411411

412412

413413
@typechecked

arkouda/message.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070

7171
from typeguard import typechecked
7272

73-
from arkouda.numpy.dtypes import isSupportedNumber, resolve_scalar_dtype
73+
from arkouda.numpy.dtypes import is_supported_number, resolve_scalar_dtype
7474

7575

7676
__all__ = [
@@ -222,7 +222,7 @@ def _is_supported_value(val):
222222

223223
import numpy as np
224224

225-
return isinstance(val, (str, np.str_, builtins.bool, np.bool_)) or isSupportedNumber(val)
225+
return isinstance(val, (str, np.str_, builtins.bool, np.bool_)) or is_supported_number(val)
226226

227227
@staticmethod
228228
def _format_param(p):

arkouda/numpy/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@
135135
int8,
136136
intTypes,
137137
int_scalars,
138-
isSupportedBool,
139-
isSupportedDType,
140-
isSupportedFloat,
141-
isSupportedInt,
142-
isSupportedNumber,
138+
is_supported_bool,
139+
is_supported_dtype,
140+
is_supported_float,
141+
is_supported_int,
142+
is_supported_number,
143143
numeric_and_bool_scalars,
144144
numeric_scalars,
145145
numpy_scalars,

0 commit comments

Comments
 (0)