aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-12-18 10:16:08 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-12-18 10:29:14 +0300
commit691a35e0546dbd763dd51657b1a3816a3c40e094 (patch)
tree651c5813885adb4fa8993f44b364a0a7a148e7ad /contrib/python
parent72b6bf1f88ac4ec4ed2adf6dda915278c5d2b924 (diff)
downloadydb-691a35e0546dbd763dd51657b1a3816a3c40e094.tar.gz
Intermediate changes
commit_hash:1a5e9f4585838729a12fdcba5306caddb2c0c7ac
Diffstat (limited to 'contrib/python')
-rw-r--r--contrib/python/fonttools/.dist-info/METADATA85
-rw-r--r--contrib/python/fonttools/fontTools/__init__.py2
-rw-r--r--contrib/python/fonttools/fontTools/cffLib/transforms.py7
-rw-r--r--contrib/python/fonttools/fontTools/cu2qu/cu2qu.py5
-rw-r--r--contrib/python/fonttools/fontTools/misc/bezierTools.py5
-rw-r--r--contrib/python/fonttools/fontTools/misc/symfont.py5
-rw-r--r--contrib/python/fonttools/fontTools/misc/transform.py19
-rw-r--r--contrib/python/fonttools/fontTools/pens/momentsPen.py5
-rw-r--r--contrib/python/fonttools/fontTools/qu2cu/qu2cu.py5
-rw-r--r--contrib/python/fonttools/fontTools/ttLib/ttGlyphSet.py23
-rw-r--r--contrib/python/fonttools/fontTools/varLib/iup.py14
-rw-r--r--contrib/python/fonttools/ya.make2
-rw-r--r--contrib/python/numpy/py3/tests/array_api/ya.make24
-rw-r--r--contrib/python/numpy/py3/tests/compat/ya.make16
-rw-r--r--contrib/python/numpy/py3/tests/core/ya.make88
-rw-r--r--contrib/python/numpy/py3/tests/fft/ya.make17
-rw-r--r--contrib/python/numpy/py3/tests/lib/ya.make48
-rw-r--r--contrib/python/numpy/py3/tests/linalg/ya.make28
-rw-r--r--contrib/python/numpy/py3/tests/ma/ya.make26
-rw-r--r--contrib/python/numpy/py3/tests/polynomial/ya.make25
-rw-r--r--contrib/python/numpy/py3/tests/random/ya.make30
-rw-r--r--contrib/python/numpy/py3/tests/testing/ya.make16
-rw-r--r--contrib/python/numpy/py3/tests/tests/ya.make25
-rw-r--r--contrib/python/numpy/py3/tests/typing/ya.make18
-rw-r--r--contrib/python/numpy/py3/tests/ya.make253
25 files changed, 486 insertions, 305 deletions
diff --git a/contrib/python/fonttools/.dist-info/METADATA b/contrib/python/fonttools/.dist-info/METADATA
index 8ad26257c5..9460888006 100644
--- a/contrib/python/fonttools/.dist-info/METADATA
+++ b/contrib/python/fonttools/.dist-info/METADATA
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: fonttools
-Version: 4.55.0
+Version: 4.55.1
Summary: Tools to manipulate font files
Home-page: http://github.com/fonttools/fonttools
Author: Just van Rossum
@@ -30,48 +30,48 @@ Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Requires-Python: >=3.8
License-File: LICENSE
-Provides-Extra: all
-Requires-Dist: fs <3,>=2.2.0 ; extra == 'all'
-Requires-Dist: lxml >=4.0 ; extra == 'all'
-Requires-Dist: zopfli >=0.1.4 ; extra == 'all'
-Requires-Dist: lz4 >=1.7.4.2 ; extra == 'all'
-Requires-Dist: pycairo ; extra == 'all'
-Requires-Dist: matplotlib ; extra == 'all'
-Requires-Dist: sympy ; extra == 'all'
-Requires-Dist: skia-pathops >=0.5.0 ; extra == 'all'
-Requires-Dist: uharfbuzz >=0.23.0 ; extra == 'all'
-Requires-Dist: brotlicffi >=0.8.0 ; (platform_python_implementation != "CPython") and extra == 'all'
-Requires-Dist: scipy ; (platform_python_implementation != "PyPy") and extra == 'all'
-Requires-Dist: brotli >=1.0.1 ; (platform_python_implementation == "CPython") and extra == 'all'
-Requires-Dist: munkres ; (platform_python_implementation == "PyPy") and extra == 'all'
-Requires-Dist: unicodedata2 >=15.1.0 ; (python_version <= "3.12") and extra == 'all'
-Requires-Dist: xattr ; (sys_platform == "darwin") and extra == 'all'
+Provides-Extra: ufo
+Requires-Dist: fs<3,>=2.2.0; extra == "ufo"
+Provides-Extra: lxml
+Requires-Dist: lxml>=4.0; extra == "lxml"
+Provides-Extra: woff
+Requires-Dist: brotli>=1.0.1; platform_python_implementation == "CPython" and extra == "woff"
+Requires-Dist: brotlicffi>=0.8.0; platform_python_implementation != "CPython" and extra == "woff"
+Requires-Dist: zopfli>=0.1.4; extra == "woff"
+Provides-Extra: unicode
+Requires-Dist: unicodedata2>=15.1.0; python_version <= "3.12" and extra == "unicode"
Provides-Extra: graphite
-Requires-Dist: lz4 >=1.7.4.2 ; extra == 'graphite'
+Requires-Dist: lz4>=1.7.4.2; extra == "graphite"
Provides-Extra: interpolatable
-Requires-Dist: pycairo ; extra == 'interpolatable'
-Requires-Dist: scipy ; (platform_python_implementation != "PyPy") and extra == 'interpolatable'
-Requires-Dist: munkres ; (platform_python_implementation == "PyPy") and extra == 'interpolatable'
-Provides-Extra: lxml
-Requires-Dist: lxml >=4.0 ; extra == 'lxml'
-Provides-Extra: pathops
-Requires-Dist: skia-pathops >=0.5.0 ; extra == 'pathops'
+Requires-Dist: scipy; platform_python_implementation != "PyPy" and extra == "interpolatable"
+Requires-Dist: munkres; platform_python_implementation == "PyPy" and extra == "interpolatable"
+Requires-Dist: pycairo; extra == "interpolatable"
Provides-Extra: plot
-Requires-Dist: matplotlib ; extra == 'plot'
-Provides-Extra: repacker
-Requires-Dist: uharfbuzz >=0.23.0 ; extra == 'repacker'
+Requires-Dist: matplotlib; extra == "plot"
Provides-Extra: symfont
-Requires-Dist: sympy ; extra == 'symfont'
+Requires-Dist: sympy; extra == "symfont"
Provides-Extra: type1
-Requires-Dist: xattr ; (sys_platform == "darwin") and extra == 'type1'
-Provides-Extra: ufo
-Requires-Dist: fs <3,>=2.2.0 ; extra == 'ufo'
-Provides-Extra: unicode
-Requires-Dist: unicodedata2 >=15.1.0 ; (python_version <= "3.12") and extra == 'unicode'
-Provides-Extra: woff
-Requires-Dist: zopfli >=0.1.4 ; extra == 'woff'
-Requires-Dist: brotlicffi >=0.8.0 ; (platform_python_implementation != "CPython") and extra == 'woff'
-Requires-Dist: brotli >=1.0.1 ; (platform_python_implementation == "CPython") and extra == 'woff'
+Requires-Dist: xattr; sys_platform == "darwin" and extra == "type1"
+Provides-Extra: pathops
+Requires-Dist: skia-pathops>=0.5.0; extra == "pathops"
+Provides-Extra: repacker
+Requires-Dist: uharfbuzz>=0.23.0; extra == "repacker"
+Provides-Extra: all
+Requires-Dist: fs<3,>=2.2.0; extra == "all"
+Requires-Dist: lxml>=4.0; extra == "all"
+Requires-Dist: brotli>=1.0.1; platform_python_implementation == "CPython" and extra == "all"
+Requires-Dist: brotlicffi>=0.8.0; platform_python_implementation != "CPython" and extra == "all"
+Requires-Dist: zopfli>=0.1.4; extra == "all"
+Requires-Dist: unicodedata2>=15.1.0; python_version <= "3.12" and extra == "all"
+Requires-Dist: lz4>=1.7.4.2; extra == "all"
+Requires-Dist: scipy; platform_python_implementation != "PyPy" and extra == "all"
+Requires-Dist: munkres; platform_python_implementation == "PyPy" and extra == "all"
+Requires-Dist: pycairo; extra == "all"
+Requires-Dist: matplotlib; extra == "all"
+Requires-Dist: sympy; extra == "all"
+Requires-Dist: xattr; sys_platform == "darwin" and extra == "all"
+Requires-Dist: skia-pathops>=0.5.0; extra == "all"
+Requires-Dist: uharfbuzz>=0.23.0; extra == "all"
|CI Build Status| |Coverage Status| |PyPI| |Gitter Chat|
@@ -377,6 +377,15 @@ Have fun!
Changelog
~~~~~~~~~
+4.55.1 (released 2024-12-02)
+----------------------------
+
+- [ttGlyphSet] Support VARC CFF2 fonts (#3683)
+- [DecomposedTransform] Document and implement always skewY == 0 (#3697)
+- [varLib] "Fix" cython iup issue? (#3704)
+- Cython minor refactor (#3705)
+
+
4.55.0 (released 2024-11-14)
----------------------------
diff --git a/contrib/python/fonttools/fontTools/__init__.py b/contrib/python/fonttools/fontTools/__init__.py
index 502ca5cec6..6aa5f3ad59 100644
--- a/contrib/python/fonttools/fontTools/__init__.py
+++ b/contrib/python/fonttools/fontTools/__init__.py
@@ -3,6 +3,6 @@ from fontTools.misc.loggingTools import configLogger
log = logging.getLogger(__name__)
-version = __version__ = "4.55.0"
+version = __version__ = "4.55.1"
__all__ = ["version", "log", "configLogger"]
diff --git a/contrib/python/fonttools/fontTools/cffLib/transforms.py b/contrib/python/fonttools/fontTools/cffLib/transforms.py
index 5b474a7cd8..82c70f81f4 100644
--- a/contrib/python/fonttools/fontTools/cffLib/transforms.py
+++ b/contrib/python/fonttools/fontTools/cffLib/transforms.py
@@ -457,7 +457,12 @@ def remove_unused_subroutines(cff):
if subrs == font.GlobalSubrs:
if not hasattr(font, "FDArray") and hasattr(font.Private, "Subrs"):
local_subrs = font.Private.Subrs
- elif hasattr(font, "FDArray") and len(font.FDArray) == 1:
+ elif (
+ hasattr(font, "FDArray")
+ and len(font.FDArray) == 1
+ and hasattr(font.FDArray[0].Private, "Subrs")
+ ):
+ # Technically we shouldn't do this. But I've run into fonts that do it.
local_subrs = font.FDArray[0].Private.Subrs
else:
local_subrs = None
diff --git a/contrib/python/fonttools/fontTools/cu2qu/cu2qu.py b/contrib/python/fonttools/fontTools/cu2qu/cu2qu.py
index e620b48a55..c0d4cf947b 100644
--- a/contrib/python/fonttools/fontTools/cu2qu/cu2qu.py
+++ b/contrib/python/fonttools/fontTools/cu2qu/cu2qu.py
@@ -17,13 +17,10 @@
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
import math
diff --git a/contrib/python/fonttools/fontTools/misc/bezierTools.py b/contrib/python/fonttools/fontTools/misc/bezierTools.py
index 5411ff99fd..1b37ade8d6 100644
--- a/contrib/python/fonttools/fontTools/misc/bezierTools.py
+++ b/contrib/python/fonttools/fontTools/misc/bezierTools.py
@@ -9,13 +9,10 @@ from collections import namedtuple
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
EPSILON = 1e-9
diff --git a/contrib/python/fonttools/fontTools/misc/symfont.py b/contrib/python/fonttools/fontTools/misc/symfont.py
index 3a8819c774..4dea418408 100644
--- a/contrib/python/fonttools/fontTools/misc/symfont.py
+++ b/contrib/python/fonttools/fontTools/misc/symfont.py
@@ -121,13 +121,10 @@ def printGreenPen(penName, funcs, file=sys.stdout, docstring=None):
"""from fontTools.pens.basePen import BasePen, OpenContourError
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
__all__ = ["%s"]
diff --git a/contrib/python/fonttools/fontTools/misc/transform.py b/contrib/python/fonttools/fontTools/misc/transform.py
index 9025b79ec1..2f4a216fa6 100644
--- a/contrib/python/fonttools/fontTools/misc/transform.py
+++ b/contrib/python/fonttools/fontTools/misc/transform.py
@@ -437,8 +437,20 @@ class DecomposedTransform:
@classmethod
def fromTransform(self, transform):
+ """Return a DecomposedTransform() equivalent of this transformation.
+ The returned solution always has skewY = 0, and angle in the (-180, 180].
+
+ :Example:
+ >>> DecomposedTransform.fromTransform(Transform(3, 0, 0, 2, 0, 0))
+ DecomposedTransform(translateX=0, translateY=0, rotation=0.0, scaleX=3.0, scaleY=2.0, skewX=0.0, skewY=0.0, tCenterX=0, tCenterY=0)
+ >>> DecomposedTransform.fromTransform(Transform(0, 0, 0, 1, 0, 0))
+ DecomposedTransform(translateX=0, translateY=0, rotation=0.0, scaleX=0.0, scaleY=1.0, skewX=0.0, skewY=0.0, tCenterX=0, tCenterY=0)
+ >>> DecomposedTransform.fromTransform(Transform(0, 0, 1, 1, 0, 0))
+ DecomposedTransform(translateX=0, translateY=0, rotation=-45.0, scaleX=0.0, scaleY=1.4142135623730951, skewX=0.0, skewY=0.0, tCenterX=0, tCenterY=0)
+ """
# Adapted from an answer on
# https://math.stackexchange.com/questions/13150/extracting-rotation-scale-values-from-2d-transformation-matrix
+
a, b, c, d, x, y = transform
sx = math.copysign(1, a)
@@ -450,21 +462,20 @@ class DecomposedTransform:
rotation = 0
scaleX = scaleY = 0
- skewX = skewY = 0
+ skewX = 0
# Apply the QR-like decomposition.
if a != 0 or b != 0:
r = math.sqrt(a * a + b * b)
rotation = math.acos(a / r) if b >= 0 else -math.acos(a / r)
scaleX, scaleY = (r, delta / r)
- skewX, skewY = (math.atan((a * c + b * d) / (r * r)), 0)
+ skewX = math.atan((a * c + b * d) / (r * r))
elif c != 0 or d != 0:
s = math.sqrt(c * c + d * d)
rotation = math.pi / 2 - (
math.acos(-c / s) if d >= 0 else -math.acos(c / s)
)
scaleX, scaleY = (delta / s, s)
- skewX, skewY = (0, math.atan((a * c + b * d) / (s * s)))
else:
# a = b = c = d = 0
pass
@@ -476,7 +487,7 @@ class DecomposedTransform:
scaleX * sx,
scaleY,
math.degrees(skewX) * sx,
- math.degrees(skewY),
+ 0.0,
0,
0,
)
diff --git a/contrib/python/fonttools/fontTools/pens/momentsPen.py b/contrib/python/fonttools/fontTools/pens/momentsPen.py
index 2afb8fdbd1..77ead9fc31 100644
--- a/contrib/python/fonttools/fontTools/pens/momentsPen.py
+++ b/contrib/python/fonttools/fontTools/pens/momentsPen.py
@@ -2,13 +2,10 @@ from fontTools.pens.basePen import BasePen, OpenContourError
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
__all__ = ["MomentsPen"]
diff --git a/contrib/python/fonttools/fontTools/qu2cu/qu2cu.py b/contrib/python/fonttools/fontTools/qu2cu/qu2cu.py
index 97a665f63a..8fe3e18b08 100644
--- a/contrib/python/fonttools/fontTools/qu2cu/qu2cu.py
+++ b/contrib/python/fonttools/fontTools/qu2cu/qu2cu.py
@@ -18,13 +18,10 @@
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
from fontTools.misc.bezierTools import splitCubicAtTC
from collections import namedtuple
diff --git a/contrib/python/fonttools/fontTools/ttLib/ttGlyphSet.py b/contrib/python/fonttools/fontTools/ttLib/ttGlyphSet.py
index 446c81e7db..e8dd007c5c 100644
--- a/contrib/python/fonttools/fontTools/ttLib/ttGlyphSet.py
+++ b/contrib/python/fonttools/fontTools/ttLib/ttGlyphSet.py
@@ -119,19 +119,35 @@ class _TTGlyphSetCFF(_TTGlyphSet):
tableTag = "CFF2" if "CFF2" in font else "CFF "
self.charStrings = list(font[tableTag].cff.values())[0].CharStrings
super().__init__(font, location, self.charStrings)
+ self.setLocation(location)
+
+ def __getitem__(self, glyphName):
+ return _TTGlyphCFF(self, glyphName)
+
+ def setLocation(self, location):
self.blender = None
if location:
+ # TODO Optimize by using instancer.setLocation()
+
from fontTools.varLib.varStore import VarStoreInstancer
varStore = getattr(self.charStrings, "varStore", None)
if varStore is not None:
instancer = VarStoreInstancer(
- varStore.otVarStore, font["fvar"].axes, location
+ varStore.otVarStore, self.font["fvar"].axes, location
)
self.blender = instancer.interpolateFromDeltas
+ else:
+ self.blender = None
- def __getitem__(self, glyphName):
- return _TTGlyphCFF(self, glyphName)
+ @contextmanager
+ def pushLocation(self, location, reset: bool):
+ self.setLocation(location)
+ with _TTGlyphSet.pushLocation(self, location, reset) as value:
+ try:
+ yield value
+ finally:
+ self.setLocation(self.location)
class _TTGlyphSetVARC(_TTGlyphSet):
@@ -335,7 +351,6 @@ class _TTGlyphVARC(_TTGlyph):
)
for comp in glyph.components:
-
if comp.flags & VarComponentFlags.HAVE_CONDITION:
condition = varc.ConditionList.ConditionTable[comp.conditionIndex]
if not _evaluateCondition(
diff --git a/contrib/python/fonttools/fontTools/varLib/iup.py b/contrib/python/fonttools/fontTools/varLib/iup.py
index 76555f3508..9ff6c0eca3 100644
--- a/contrib/python/fonttools/fontTools/varLib/iup.py
+++ b/contrib/python/fonttools/fontTools/varLib/iup.py
@@ -1,12 +1,9 @@
try:
import cython
-
- COMPILED = cython.compiled
except (AttributeError, ImportError):
# if cython not installed, use mock module with no-op decorators and types
from fontTools.misc import cython
-
- COMPILED = False
+COMPILED = cython.compiled
from typing import (
Sequence,
@@ -77,7 +74,14 @@ def iup_segment(
d = d2
else:
# Interpolate
- d = d1 + (x - x1) * scale
+ #
+ # NOTE: we assign an explicit intermediate variable here in
+ # order to disable a fused mul-add optimization. See:
+ #
+ # - https://godbolt.org/z/YsP4T3TqK,
+ # - https://github.com/fonttools/fonttools/issues/3703
+ nudge = (x - x1) * scale
+ d = d1 + nudge
out.append(d)
diff --git a/contrib/python/fonttools/ya.make b/contrib/python/fonttools/ya.make
index 874cdd1b3b..ce8febfcdd 100644
--- a/contrib/python/fonttools/ya.make
+++ b/contrib/python/fonttools/ya.make
@@ -2,7 +2,7 @@
PY3_LIBRARY()
-VERSION(4.55.0)
+VERSION(4.55.1)
LICENSE(MIT)
diff --git a/contrib/python/numpy/py3/tests/array_api/ya.make b/contrib/python/numpy/py3/tests/array_api/ya.make
new file mode 100644
index 0000000000..8e54a6a20d
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/array_api/ya.make
@@ -0,0 +1,24 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/array_api/tests/__init__.py
+ numpy/array_api/tests/test_array_object.py
+ numpy/array_api/tests/test_creation_functions.py
+ numpy/array_api/tests/test_data_type_functions.py
+ numpy/array_api/tests/test_elementwise_functions.py
+ numpy/array_api/tests/test_indexing_functions.py
+ numpy/array_api/tests/test_manipulation_functions.py
+ numpy/array_api/tests/test_set_functions.py
+ numpy/array_api/tests/test_sorting_functions.py
+ numpy/array_api/tests/test_validation.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/compat/ya.make b/contrib/python/numpy/py3/tests/compat/ya.make
new file mode 100644
index 0000000000..433e4e5b4b
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/compat/ya.make
@@ -0,0 +1,16 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/compat/tests/__init__.py
+ numpy/compat/tests/test_compat.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/core/ya.make b/contrib/python/numpy/py3/tests/core/ya.make
new file mode 100644
index 0000000000..b3163f51e9
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/core/ya.make
@@ -0,0 +1,88 @@
+PY3TEST()
+
+REQUIREMENTS(ram:25)
+
+SIZE(MEDIUM)
+
+FORK_SUBTESTS()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+DATA(
+ arcadia/contrib/python/numpy/py3/numpy
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/core/tests/__init__.py
+ numpy/core/tests/_locales.py
+ numpy/core/tests/test__exceptions.py
+ numpy/core/tests/test_abc.py
+ numpy/core/tests/test_api.py
+ numpy/core/tests/test_argparse.py
+ numpy/core/tests/test_array_coercion.py
+ #numpy/core/tests/test_array_interface.py
+ numpy/core/tests/test_arraymethod.py
+ numpy/core/tests/test_arrayprint.py
+ numpy/core/tests/test_casting_floatingpoint_errors.py
+ numpy/core/tests/test_casting_unittests.py
+ numpy/core/tests/test_conversion_utils.py
+ numpy/core/tests/test_cpu_dispatcher.py
+ numpy/core/tests/test_cpu_features.py
+ numpy/core/tests/test_custom_dtypes.py
+ numpy/core/tests/test_cython.py
+ numpy/core/tests/test_datetime.py
+ numpy/core/tests/test_defchararray.py
+ numpy/core/tests/test_deprecations.py
+ numpy/core/tests/test_dlpack.py
+ numpy/core/tests/test_dtype.py
+ numpy/core/tests/test_einsum.py
+ numpy/core/tests/test_errstate.py
+ numpy/core/tests/test_extint128.py
+ numpy/core/tests/test_function_base.py
+ numpy/core/tests/test_getlimits.py
+ numpy/core/tests/test_half.py
+ numpy/core/tests/test_hashtable.py
+ numpy/core/tests/test_indexerrors.py
+ numpy/core/tests/test_indexing.py
+ numpy/core/tests/test_item_selection.py
+ numpy/core/tests/test_limited_api.py
+ numpy/core/tests/test_longdouble.py
+ numpy/core/tests/test_machar.py
+ numpy/core/tests/test_mem_overlap.py
+ #numpy/core/tests/test_mem_policy.py
+ numpy/core/tests/test_memmap.py
+ numpy/core/tests/test_multiarray.py
+ numpy/core/tests/test_nditer.py
+ numpy/core/tests/test_nep50_promotions.py
+ numpy/core/tests/test_numeric.py
+ numpy/core/tests/test_numerictypes.py
+ numpy/core/tests/test_numpy_2_0_compat.py
+ numpy/core/tests/test_overrides.py
+ numpy/core/tests/test_print.py
+ numpy/core/tests/test_protocols.py
+ numpy/core/tests/test_records.py
+ numpy/core/tests/test_regression.py
+ numpy/core/tests/test_scalar_ctors.py
+ numpy/core/tests/test_scalar_methods.py
+ numpy/core/tests/test_scalarbuffer.py
+ numpy/core/tests/test_scalarinherit.py
+ numpy/core/tests/test_scalarmath.py
+ numpy/core/tests/test_scalarprint.py
+ numpy/core/tests/test_shape_base.py
+ numpy/core/tests/test_simd.py
+ numpy/core/tests/test_simd_module.py
+ numpy/core/tests/test_strings.py
+ numpy/core/tests/test_ufunc.py
+ numpy/core/tests/test_umath.py
+ numpy/core/tests/test_umath_accuracy.py
+ numpy/core/tests/test_umath_complex.py
+ numpy/core/tests/test_unicode.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/fft/ya.make b/contrib/python/numpy/py3/tests/fft/ya.make
new file mode 100644
index 0000000000..375462e5ae
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/fft/ya.make
@@ -0,0 +1,17 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/fft/tests/__init__.py
+ numpy/fft/tests/test_helper.py
+ numpy/fft/tests/test_pocketfft.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/lib/ya.make b/contrib/python/numpy/py3/tests/lib/ya.make
new file mode 100644
index 0000000000..bac5e34f1a
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/lib/ya.make
@@ -0,0 +1,48 @@
+PY3TEST()
+
+SIZE(MEDIUM)
+
+FORK_SUBTESTS()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+DATA(
+ arcadia/contrib/python/numpy/py3/numpy
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/lib/tests/__init__.py
+ numpy/lib/tests/test__datasource.py
+ numpy/lib/tests/test__iotools.py
+ numpy/lib/tests/test__version.py
+ numpy/lib/tests/test_arraypad.py
+ numpy/lib/tests/test_arraysetops.py
+ numpy/lib/tests/test_arrayterator.py
+ numpy/lib/tests/test_financial_expired.py
+ numpy/lib/tests/test_format.py
+ numpy/lib/tests/test_function_base.py
+ numpy/lib/tests/test_histograms.py
+ numpy/lib/tests/test_index_tricks.py
+ numpy/lib/tests/test_io.py
+ numpy/lib/tests/test_loadtxt.py
+ numpy/lib/tests/test_mixins.py
+ numpy/lib/tests/test_nanfunctions.py
+ numpy/lib/tests/test_packbits.py
+ numpy/lib/tests/test_polynomial.py
+ numpy/lib/tests/test_recfunctions.py
+ numpy/lib/tests/test_regression.py
+ numpy/lib/tests/test_shape_base.py
+ numpy/lib/tests/test_stride_tricks.py
+ numpy/lib/tests/test_twodim_base.py
+ numpy/lib/tests/test_type_check.py
+ numpy/lib/tests/test_ufunclike.py
+ numpy/lib/tests/test_utils.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/linalg/ya.make b/contrib/python/numpy/py3/tests/linalg/ya.make
new file mode 100644
index 0000000000..7a592b326c
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/linalg/ya.make
@@ -0,0 +1,28 @@
+PY3TEST()
+
+FORK_SUBTESTS()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/linalg/tests/__init__.py
+ numpy/linalg/tests/test_deprecations.py
+ numpy/linalg/tests/test_linalg.py
+ numpy/linalg/tests/test_regression.py
+ numpy/matrixlib/tests/__init__.py
+ numpy/matrixlib/tests/test_defmatrix.py
+ numpy/matrixlib/tests/test_interaction.py
+ numpy/matrixlib/tests/test_masked_matrix.py
+ numpy/matrixlib/tests/test_matrix_linalg.py
+ numpy/matrixlib/tests/test_multiarray.py
+ numpy/matrixlib/tests/test_numeric.py
+ numpy/matrixlib/tests/test_regression.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/ma/ya.make b/contrib/python/numpy/py3/tests/ma/ya.make
new file mode 100644
index 0000000000..17ec71d8fa
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/ma/ya.make
@@ -0,0 +1,26 @@
+PY3TEST()
+
+SIZE(MEDIUM)
+
+FORK_SUBTESTS()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/ma/tests/__init__.py
+ numpy/ma/tests/test_core.py
+ numpy/ma/tests/test_deprecations.py
+ numpy/ma/tests/test_extras.py
+ numpy/ma/tests/test_mrecords.py
+ numpy/ma/tests/test_old_ma.py
+ numpy/ma/tests/test_regression.py
+ numpy/ma/tests/test_subclassing.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/polynomial/ya.make b/contrib/python/numpy/py3/tests/polynomial/ya.make
new file mode 100644
index 0000000000..82fedce504
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/polynomial/ya.make
@@ -0,0 +1,25 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/polynomial/tests/__init__.py
+ numpy/polynomial/tests/test_chebyshev.py
+ numpy/polynomial/tests/test_classes.py
+ numpy/polynomial/tests/test_hermite.py
+ numpy/polynomial/tests/test_hermite_e.py
+ numpy/polynomial/tests/test_laguerre.py
+ numpy/polynomial/tests/test_legendre.py
+ numpy/polynomial/tests/test_polynomial.py
+ numpy/polynomial/tests/test_polyutils.py
+ numpy/polynomial/tests/test_printing.py
+ numpy/polynomial/tests/test_symbol.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/random/ya.make b/contrib/python/numpy/py3/tests/random/ya.make
new file mode 100644
index 0000000000..526a2f38e3
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/random/ya.make
@@ -0,0 +1,30 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+DATA(
+ arcadia/contrib/python/numpy/py3/numpy
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/random/tests/__init__.py
+ numpy/random/tests/data/__init__.py
+ numpy/random/tests/test_direct.py
+ numpy/random/tests/test_extending.py
+ numpy/random/tests/test_generator_mt19937.py
+ numpy/random/tests/test_generator_mt19937_regressions.py
+ numpy/random/tests/test_random.py
+ numpy/random/tests/test_randomstate.py
+ numpy/random/tests/test_randomstate_regression.py
+ numpy/random/tests/test_regression.py
+ numpy/random/tests/test_seed_sequence.py
+ numpy/random/tests/test_smoke.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/testing/ya.make b/contrib/python/numpy/py3/tests/testing/ya.make
new file mode 100644
index 0000000000..0a18cf3072
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/testing/ya.make
@@ -0,0 +1,16 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/testing/tests/__init__.py
+ numpy/testing/tests/test_utils.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/tests/ya.make b/contrib/python/numpy/py3/tests/tests/ya.make
new file mode 100644
index 0000000000..d3a5791957
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/tests/ya.make
@@ -0,0 +1,25 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/tests/__init__.py
+ numpy/tests/test__all__.py
+ #numpy/tests/test_ctypeslib.py
+ numpy/tests/test_lazyloading.py
+ numpy/tests/test_matlib.py
+ numpy/tests/test_numpy_config.py
+ numpy/tests/test_numpy_version.py
+ numpy/tests/test_public_api.py
+ numpy/tests/test_reloading.py
+ #numpy/tests/test_scripts.py
+ numpy/tests/test_warnings.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/typing/ya.make b/contrib/python/numpy/py3/tests/typing/ya.make
new file mode 100644
index 0000000000..7544cb20dd
--- /dev/null
+++ b/contrib/python/numpy/py3/tests/typing/ya.make
@@ -0,0 +1,18 @@
+PY3TEST()
+
+PEERDIR(
+ contrib/python/numpy/py3/tests
+)
+
+NO_LINT()
+
+SRCDIR(contrib/python/numpy/py3)
+
+TEST_SRCS(
+ numpy/typing/tests/__init__.py
+ #numpy/typing/tests/test_isfile.py
+ #numpy/typing/tests/test_runtime.py
+ numpy/typing/tests/test_typing.py
+)
+
+END()
diff --git a/contrib/python/numpy/py3/tests/ya.make b/contrib/python/numpy/py3/tests/ya.make
index 5df3fb0428..22be4f700d 100644
--- a/contrib/python/numpy/py3/tests/ya.make
+++ b/contrib/python/numpy/py3/tests/ya.make
@@ -1,13 +1,8 @@
-PY3TEST()
+PY3_LIBRARY()
-REQUIREMENTS(
- cpu:4
- ram:25
-)
-
-SIZE(MEDIUM)
+VERSION(1.26.4)
-FORK_SUBTESTS()
+LICENSE(BSD-3-Clause)
PEERDIR(
contrib/python/numpy
@@ -16,235 +11,31 @@ PEERDIR(
contrib/python/pytz
)
-DATA(
- arcadia/contrib/python/numpy/py3/numpy
-)
-
NO_LINT()
-SRCDIR(
- contrib/python/numpy/py3
-)
+SRCDIR(contrib/python/numpy/py3)
PY_SRCS(
TOP_LEVEL
numpy/conftest.py
)
-TEST_SRCS(
- numpy/array_api/tests/__init__.py
- numpy/array_api/tests/test_array_object.py
- numpy/array_api/tests/test_creation_functions.py
- numpy/array_api/tests/test_data_type_functions.py
- numpy/array_api/tests/test_elementwise_functions.py
- numpy/array_api/tests/test_indexing_functions.py
- numpy/array_api/tests/test_manipulation_functions.py
- numpy/array_api/tests/test_set_functions.py
- numpy/array_api/tests/test_sorting_functions.py
- numpy/array_api/tests/test_validation.py
- numpy/compat/tests/__init__.py
- numpy/compat/tests/test_compat.py
- numpy/core/tests/__init__.py
- numpy/core/tests/_locales.py
- numpy/core/tests/test__exceptions.py
- numpy/core/tests/test_abc.py
- numpy/core/tests/test_api.py
- numpy/core/tests/test_argparse.py
- numpy/core/tests/test_array_coercion.py
- #numpy/core/tests/test_array_interface.py
- numpy/core/tests/test_arraymethod.py
- numpy/core/tests/test_arrayprint.py
- numpy/core/tests/test_casting_floatingpoint_errors.py
- numpy/core/tests/test_casting_unittests.py
- numpy/core/tests/test_conversion_utils.py
- numpy/core/tests/test_cpu_dispatcher.py
- numpy/core/tests/test_cpu_features.py
- numpy/core/tests/test_custom_dtypes.py
- numpy/core/tests/test_cython.py
- numpy/core/tests/test_datetime.py
- numpy/core/tests/test_defchararray.py
- numpy/core/tests/test_deprecations.py
- numpy/core/tests/test_dlpack.py
- numpy/core/tests/test_dtype.py
- numpy/core/tests/test_einsum.py
- numpy/core/tests/test_errstate.py
- numpy/core/tests/test_extint128.py
- numpy/core/tests/test_function_base.py
- numpy/core/tests/test_getlimits.py
- numpy/core/tests/test_half.py
- numpy/core/tests/test_hashtable.py
- numpy/core/tests/test_indexerrors.py
- numpy/core/tests/test_indexing.py
- numpy/core/tests/test_item_selection.py
- numpy/core/tests/test_limited_api.py
- numpy/core/tests/test_longdouble.py
- numpy/core/tests/test_machar.py
- numpy/core/tests/test_mem_overlap.py
- #numpy/core/tests/test_mem_policy.py
- numpy/core/tests/test_memmap.py
- numpy/core/tests/test_multiarray.py
- numpy/core/tests/test_nditer.py
- numpy/core/tests/test_nep50_promotions.py
- numpy/core/tests/test_numeric.py
- numpy/core/tests/test_numerictypes.py
- numpy/core/tests/test_numpy_2_0_compat.py
- numpy/core/tests/test_overrides.py
- numpy/core/tests/test_print.py
- numpy/core/tests/test_protocols.py
- numpy/core/tests/test_records.py
- numpy/core/tests/test_regression.py
- numpy/core/tests/test_scalar_ctors.py
- numpy/core/tests/test_scalar_methods.py
- numpy/core/tests/test_scalarbuffer.py
- numpy/core/tests/test_scalarinherit.py
- numpy/core/tests/test_scalarmath.py
- numpy/core/tests/test_scalarprint.py
- numpy/core/tests/test_shape_base.py
- numpy/core/tests/test_simd.py
- numpy/core/tests/test_simd_module.py
- numpy/core/tests/test_strings.py
- numpy/core/tests/test_ufunc.py
- numpy/core/tests/test_umath.py
- numpy/core/tests/test_umath_accuracy.py
- numpy/core/tests/test_umath_complex.py
- numpy/core/tests/test_unicode.py
- #numpy/distutils/tests/__init__.py
- #numpy/distutils/tests/test_build_ext.py
- #numpy/distutils/tests/test_ccompiler_opt.py
- #numpy/distutils/tests/test_ccompiler_opt_conf.py
- #numpy/distutils/tests/test_exec_command.py
- #numpy/distutils/tests/test_fcompiler.py
- #numpy/distutils/tests/test_fcompiler_gnu.py
- #numpy/distutils/tests/test_fcompiler_intel.py
- #numpy/distutils/tests/test_fcompiler_nagfor.py
- #numpy/distutils/tests/test_from_template.py
- #numpy/distutils/tests/test_log.py
- #numpy/distutils/tests/test_mingw32ccompiler.py
- #numpy/distutils/tests/test_misc_util.py
- #numpy/distutils/tests/test_npy_pkg_config.py
- #numpy/distutils/tests/test_shell_utils.py
- #numpy/distutils/tests/test_system_info.py
- #numpy/f2py/tests/__init__.py
- #numpy/f2py/tests/test_abstract_interface.py
- #numpy/f2py/tests/test_array_from_pyobj.py
- #numpy/f2py/tests/test_assumed_shape.py
- #numpy/f2py/tests/test_block_docstring.py
- #numpy/f2py/tests/test_callback.py
- #numpy/f2py/tests/test_character.py
- #numpy/f2py/tests/test_common.py
- #numpy/f2py/tests/test_compile_function.py
- #numpy/f2py/tests/test_crackfortran.py
- #numpy/f2py/tests/test_data.py
- #numpy/f2py/tests/test_docs.py
- #numpy/f2py/tests/test_f2cmap.py
- #numpy/f2py/tests/test_f2py2e.py
- #numpy/f2py/tests/test_isoc.py
- #numpy/f2py/tests/test_kind.py
- #numpy/f2py/tests/test_mixed.py
- #numpy/f2py/tests/test_module_doc.py
- #numpy/f2py/tests/test_parameter.py
- #numpy/f2py/tests/test_quoted_character.py
- #numpy/f2py/tests/test_regression.py
- #numpy/f2py/tests/test_return_character.py
- #numpy/f2py/tests/test_return_complex.py
- #numpy/f2py/tests/test_return_integer.py
- #numpy/f2py/tests/test_return_logical.py
- #numpy/f2py/tests/test_return_real.py
- #numpy/f2py/tests/test_semicolon_split.py
- #numpy/f2py/tests/test_size.py
- #numpy/f2py/tests/test_string.py
- #numpy/f2py/tests/test_symbolic.py
- #numpy/f2py/tests/test_value_attrspec.py
- #numpy/f2py/tests/util.py
- numpy/fft/tests/__init__.py
- numpy/fft/tests/test_helper.py
- numpy/fft/tests/test_pocketfft.py
- numpy/lib/tests/__init__.py
- numpy/lib/tests/test__datasource.py
- numpy/lib/tests/test__iotools.py
- numpy/lib/tests/test__version.py
- numpy/lib/tests/test_arraypad.py
- numpy/lib/tests/test_arraysetops.py
- numpy/lib/tests/test_arrayterator.py
- numpy/lib/tests/test_financial_expired.py
- numpy/lib/tests/test_format.py
- numpy/lib/tests/test_function_base.py
- numpy/lib/tests/test_histograms.py
- numpy/lib/tests/test_index_tricks.py
- numpy/lib/tests/test_io.py
- numpy/lib/tests/test_loadtxt.py
- numpy/lib/tests/test_mixins.py
- numpy/lib/tests/test_nanfunctions.py
- numpy/lib/tests/test_packbits.py
- numpy/lib/tests/test_polynomial.py
- numpy/lib/tests/test_recfunctions.py
- numpy/lib/tests/test_regression.py
- numpy/lib/tests/test_shape_base.py
- numpy/lib/tests/test_stride_tricks.py
- numpy/lib/tests/test_twodim_base.py
- numpy/lib/tests/test_type_check.py
- numpy/lib/tests/test_ufunclike.py
- numpy/lib/tests/test_utils.py
- numpy/linalg/tests/__init__.py
- numpy/linalg/tests/test_deprecations.py
- numpy/linalg/tests/test_linalg.py
- numpy/linalg/tests/test_regression.py
- numpy/ma/tests/__init__.py
- numpy/ma/tests/test_core.py
- numpy/ma/tests/test_deprecations.py
- numpy/ma/tests/test_extras.py
- numpy/ma/tests/test_mrecords.py
- numpy/ma/tests/test_old_ma.py
- numpy/ma/tests/test_regression.py
- numpy/ma/tests/test_subclassing.py
- numpy/matrixlib/tests/__init__.py
- numpy/matrixlib/tests/test_defmatrix.py
- numpy/matrixlib/tests/test_interaction.py
- numpy/matrixlib/tests/test_masked_matrix.py
- numpy/matrixlib/tests/test_matrix_linalg.py
- numpy/matrixlib/tests/test_multiarray.py
- numpy/matrixlib/tests/test_numeric.py
- numpy/matrixlib/tests/test_regression.py
- numpy/polynomial/tests/__init__.py
- numpy/polynomial/tests/test_chebyshev.py
- numpy/polynomial/tests/test_classes.py
- numpy/polynomial/tests/test_hermite.py
- numpy/polynomial/tests/test_hermite_e.py
- numpy/polynomial/tests/test_laguerre.py
- numpy/polynomial/tests/test_legendre.py
- numpy/polynomial/tests/test_polynomial.py
- numpy/polynomial/tests/test_polyutils.py
- numpy/polynomial/tests/test_printing.py
- numpy/polynomial/tests/test_symbol.py
- numpy/random/tests/__init__.py
- numpy/random/tests/data/__init__.py
- numpy/random/tests/test_direct.py
- numpy/random/tests/test_extending.py
- numpy/random/tests/test_generator_mt19937.py
- numpy/random/tests/test_generator_mt19937_regressions.py
- numpy/random/tests/test_random.py
- numpy/random/tests/test_randomstate.py
- numpy/random/tests/test_randomstate_regression.py
- numpy/random/tests/test_regression.py
- numpy/random/tests/test_seed_sequence.py
- numpy/random/tests/test_smoke.py
- numpy/testing/tests/__init__.py
- numpy/testing/tests/test_utils.py
- numpy/tests/__init__.py
- numpy/tests/test__all__.py
- #numpy/tests/test_ctypeslib.py
- numpy/tests/test_lazyloading.py
- numpy/tests/test_matlib.py
- numpy/tests/test_numpy_config.py
- numpy/tests/test_numpy_version.py
- numpy/tests/test_public_api.py
- numpy/tests/test_reloading.py
- #numpy/tests/test_scripts.py
- numpy/tests/test_warnings.py
- numpy/typing/tests/__init__.py
- #numpy/typing/tests/test_isfile.py
- #numpy/typing/tests/test_runtime.py
- numpy/typing/tests/test_typing.py
-)
-
END()
+
+RECURSE_FOR_TESTS(
+ array_api
+ compat
+ core
+ # distutils
+ # f2py
+ fft
+ lib
+ linalg
+ ma
+ # matrixlib - merged with linalg
+ polynomial
+ random
+ testing
+ tests
+ typing
+)