diff options
| author | Matti Picus <matti.picus@gmail.com> | 2022-08-04 08:19:07 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-04 08:19:07 +0300 |
| commit | 807e4076730f926804ef68b5b048f075b4310543 (patch) | |
| tree | 254c3f6ccfc2ee7a93357ced4659e75ac6528609 /numpy | |
| parent | 7c8e1134ae86f8a8c002e1068337bec63ddf7f0d (diff) | |
| parent | 88466d22b64b665b080d703067b0ce8a0e20181b (diff) | |
| download | numpy-807e4076730f926804ef68b5b048f075b4310543.tar.gz | |
Merge pull request #22060 from eendebakpt/performance/import_time
PERF: Improve import time of numpy
Diffstat (limited to 'numpy')
| -rw-r--r-- | numpy/core/_add_newdocs_scalars.py | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/numpy/core/_add_newdocs_scalars.py b/numpy/core/_add_newdocs_scalars.py index 94859a9d5..491052fae 100644 --- a/numpy/core/_add_newdocs_scalars.py +++ b/numpy/core/_add_newdocs_scalars.py @@ -3,10 +3,11 @@ This file is separate from ``_add_newdocs.py`` so that it can be mocked out by our sphinx ``conf.py`` during doc builds, where we want to avoid showing platform-dependent information. """ +import sys +import os from numpy.core import dtype from numpy.core import numerictypes as _numerictypes from numpy.core.function_base import add_newdoc -import platform ############################################################################## # @@ -50,6 +51,21 @@ possible_aliases = numeric_type_aliases([ ]) +def _get_platform_and_machine(): + try: + system, _, _, _, machine = os.uname() + except AttributeError: + system = sys.platform + if system == 'win32': + machine = os.environ.get('PROCESSOR_ARCHITEW6432', '') \ + or os.environ.get('PROCESSOR_ARCHITECTURE', '') + else: + machine = 'unknown' + return system, machine + + +_system, _machine = _get_platform_and_machine() +_doc_alias_string = f":Alias on this platform ({_system} {_machine}):" def add_newdoc_for_scalar_type(obj, fixed_aliases, doc): @@ -57,17 +73,22 @@ def add_newdoc_for_scalar_type(obj, fixed_aliases, doc): o = getattr(_numerictypes, obj) character_code = dtype(o).char - canonical_name_doc = "" if obj == o.__name__ else ":Canonical name: `numpy.{}`\n ".format(obj) - alias_doc = ''.join(":Alias: `numpy.{}`\n ".format(alias) for alias in fixed_aliases) - alias_doc += ''.join(":Alias on this platform ({} {}): `numpy.{}`: {}.\n ".format(platform.system(), platform.machine(), alias, doc) + canonical_name_doc = "" if obj == o.__name__ else \ + f":Canonical name: `numpy.{obj}`\n " + if fixed_aliases: + alias_doc = ''.join(f":Alias: `numpy.{alias}`\n " + for alias in fixed_aliases) + else: + alias_doc = '' + alias_doc += ''.join(f"{_doc_alias_string} `numpy.{alias}`: {doc}.\n " for (alias_type, alias, doc) in possible_aliases if alias_type is o) - docstring = """ - {doc} + + docstring = f""" + {doc.strip()} :Character code: ``'{character_code}'`` {canonical_name_doc}{alias_doc} - """.format(doc=doc.strip(), character_code=character_code, - canonical_name_doc=canonical_name_doc, alias_doc=alias_doc) + """ add_newdoc('numpy.core.numerictypes', obj, docstring) |
