@@ -6,22 +6,22 @@ be a small library that packages can either vendor or add as a dependency to
6
6
implement array API support. Consequently, certain design considerations
7
7
should be taken into account:
8
8
9
- - * No Hard Dependencies.* Although array-api-compat "depends" on NumPy, CuPy,
9
+ - ** No Hard Dependencies.* * Although array-api-compat "depends" on NumPy, CuPy,
10
10
PyTorch, etc., it does not hard depend on them. These libraries are not
11
11
imported unless either an array object is passed to
12
12
{func}` ~.array_namespace() ` , or the specific ` array_api_compat.<namespace> `
13
13
sub-namespace is explicitly imported.
14
14
15
- - * Vendorability.* array-api-compat should be [ vendorable] ( vendoring ) . This
15
+ - ** Vendorability.* * array-api-compat should be [ vendorable] ( vendoring ) . This
16
16
means that, for instance, all imports in the library are relative imports.
17
17
No code in the package specifically references the name ` array_api_compat `
18
18
(we also support renaming the package to something else).
19
19
Vendorability support is tested in ` tests/test_vendoring.py ` .
20
20
21
- - * Pure Python.* To make array-api-compat as easy as possible to add as a
21
+ - ** Pure Python.* * To make array-api-compat as easy as possible to add as a
22
22
dependency, the code is all pure Python.
23
23
24
- - * Minimal Wrapping Only.* The wrapping functionality is minimal. This means
24
+ - ** Minimal Wrapping Only.* * The wrapping functionality is minimal. This means
25
25
that if something is difficult to wrap using pure Python, or if trying to
26
26
support some array API behavior would require a significant amount of code,
27
27
we prefer to leave the behavior as an upstream issue for the array library,
@@ -34,15 +34,15 @@ should be taken into account:
34
34
API standard is currently out-of-scope for this package (see the
35
35
[ Scope] ( scope ) section of the documentation).
36
36
37
- - * No Side-Effects* . array-api-compat behavior should be localized to only the
37
+ - ** No Side-Effects* * . array-api-compat behavior should be localized to only the
38
38
specific code that imports and uses it. It should be invisible to end-users
39
39
or users of dependent codes. This in particular implies to the next two
40
40
points.
41
41
42
- - * No Monkey Patching.* ` array-api-compat ` should not attempt to modify
42
+ - ** No Monkey Patching.* * ` array-api-compat ` should not attempt to modify
43
43
anything about the underlying library. It is a * wrapper* library only.
44
44
45
- - * No Modifying the Array Object.* The array (or tensor) object of the array
45
+ - ** No Modifying the Array Object.* * The array (or tensor) object of the array
46
46
library cannot be modified. This also precludes the creation of array
47
47
subclasses or wrapper classes.
48
48
@@ -57,7 +57,7 @@ should be taken into account:
57
57
and by using the [ helper functions] ( ../helper-functions.rst ) provided by
58
58
array-api-compat instead of attributes or methods like ` x.to_device() ` .
59
59
60
- - * Avoid Restricting Behavior that is Outside the Scope of the Standard.* All
60
+ - ** Avoid Restricting Behavior that is Outside the Scope of the Standard.* * All
61
61
array libraries have functions and behaviors that are outside of the scope
62
62
of what is specified by the standard. These behaviors should be left intact
63
63
whenever possible, unless the standard explicitly disallows something. This
0 commit comments