1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
4
5"""Astroid hooks for numpy ma module."""
6
7from astroid.brain.helpers import register_module_extender
8from astroid.builder import parse
9from astroid.manager import AstroidManager
10
11
12def numpy_ma_transform():
13 """
14 Infer the call of various numpy.ma functions.
15
16 :param node: node to infer
17 :param context: inference context
18 """
19 return parse(
20 """
21 import numpy.ma
22 def masked_where(condition, a, copy=True):
23 return numpy.ma.masked_array(a, mask=[])
24
25 def masked_invalid(a, copy=True):
26 return numpy.ma.masked_array(a, mask=[])
27 """
28 )
29
30
31def register(manager: AstroidManager) -> None:
32 register_module_extender(manager, "numpy.ma", numpy_ma_transform)