Changelog
### 8.1.3
```
-------------
Released 2022-04-28
- Use verbose form of ``typing.Callable`` for ``command`` and
``group``. :issue:`2255`
- Show error when attempting to create an option with
``multiple=True, is_flag=True``. Use ``count`` instead.
:issue:`2246`
```
### 8.1.2
```
-------------
Released 2022-03-31
- Fix error message for readable path check that was mixed up with the
executable check. :pr:`2236`
- Restore parameter order for ``Path``, placing the ``executable``
parameter at the end. It is recommended to use keyword arguments
instead of positional arguments. :issue:`2235`
```
### 8.1.1
```
-------------
Released 2022-03-30
- Fix an issue with decorator typing that caused type checking to
report that a command was not callable. :issue:`2227`
```
### 8.1.0
```
-------------
Released 2022-03-28
- Drop support for Python 3.6. :pr:`2129`
- Remove previously deprecated code. :pr:`2130`
- ``Group.resultcallback`` is renamed to ``result_callback``.
- ``autocompletion`` parameter to ``Command`` is renamed to
``shell_complete``.
- ``get_terminal_size`` is removed, use
``shutil.get_terminal_size`` instead.
- ``get_os_args`` is removed, use ``sys.argv[1:]`` instead.
- Rely on :pep:`538` and :pep:`540` to handle selecting UTF-8 encoding
instead of ASCII. Click's locale encoding detection is removed.
:issue:`2198`
- Single options boolean flags with ``show_default=True`` only show
the default if it is ``True``. :issue:`1971`
- The ``command`` and ``group`` decorators can be applied with or
without parentheses. :issue:`1359`
- The ``Path`` type can check whether the target is executable.
:issue:`1961`
- ``Command.show_default`` overrides ``Context.show_default``, instead
of the other way around. :issue:`1963`
- Parameter decorators and ``group`` handles ``cls=None`` the same as
not passing ``cls``. ``option`` handles ``help=None`` the same as
not passing ``help``. :issue:`1959`
- A flag option with ``required=True`` requires that the flag is
passed instead of choosing the implicit default value. :issue:`1978`
- Indentation in help text passed to ``Option`` and ``Command`` is
cleaned the same as using the ``option`` and ``command``
decorators does. A command's ``epilog`` and ``short_help`` are also
processed. :issue:`1985`
- Store unprocessed ``Command.help``, ``epilog`` and ``short_help``
strings. Processing is only done when formatting help text for
output. :issue:`2149`
- Allow empty str input for ``prompt()`` when
``confirmation_prompt=True`` and ``default=""``. :issue:`2157`
- Windows glob pattern expansion doesn't fail if a value is an invalid
pattern. :issue:`2195`
- It's possible to pass a list of ``params`` to ``command``. Any
params defined with decorators are appended to the passed params.
:issue:`2131`.
- ``command`` decorator is annotated as returning the correct type if
a ``cls`` argument is used. :issue:`2211`
- A ``Group`` with ``invoke_without_command=True`` and ``chain=False``
will invoke its result callback with the group function's return
value. :issue:`2124`
- ``to_info_dict`` will not fail if a ``ParamType`` doesn't define a
``name``. :issue:`2168`
- Shell completion prioritizes option values with option prefixes over
new options. :issue:`2040`
- Options that get an environment variable value using
``autoenvvar_prefix`` treat an empty value as ``None``, consistent
with a direct ``envvar``. :issue:`2146`
```
### 8.0.4
```
-------------
Released 2022-02-18
- ``open_file`` recognizes ``Path("-")`` as a standard stream, the
same as the string ``"-"``. :issue:`2106`
- The ``option`` and ``argument`` decorators preserve the type
annotation of the decorated function. :pr:`2155`
- A callable default value can customize its help text by overriding
``__str__`` instead of always showing ``(dynamic)``. :issue:`2099`
- Fix a typo in the Bash completion script that affected file and
directory completion. If this script was generated by a previous
version, it should be regenerated. :issue:`2163`
- Fix typing for ``echo`` and ``secho`` file argument.
:issue:`2174, 2185`
```
### 8.0.3
```
-------------
Released 2021-10-10
- Fix issue with ``Path(resolve_path=True)`` type creating invalid
paths. :issue:`2088`
- Importing ``readline`` does not cause the ``confirm()`` prompt to
disappear when pressing backspace. :issue:`2092`
- Any default values injected by ``invoke()`` are cast to the
corresponding parameter's type. :issue:`2089, 2090`
```
### 8.0.2
```
-------------
Released 2021-10-08
- ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``.
:issue:`1925`
- Bash version detection is locale independent. :issue:`1940`
- Empty ``default`` value is not shown for ``multiple=True``.
:issue:`1969`
- Fix shell completion for arguments that start with a forward slash
such as absolute file paths. :issue:`1929`
- ``Path`` type with ``resolve_path=True`` resolves relative symlinks
to be relative to the containing directory. :issue:`1921`
- Completion does not skip Python's resource cleanup when exiting,
avoiding some unexpected warning output. :issue:`1738, 2017`
- Fix type annotation for ``type`` argument in ``prompt`` function.
:issue:`2062`
- Fix overline and italic styles, which were incorrectly added when
adding underline. :pr:`2058`
- An option with ``count=True`` will not show "[x>=0]" in help text.
:issue:`2072`
- Default values are not cast to the parameter type twice during
processing. :issue:`2085`
- Options with ``multiple`` and ``flag_value`` use the flag value
instead of leaving an internal placeholder. :issue:`2001`
```
### 8.0.1
```
-------------
Released 2021-05-19
- Mark top-level names as exported so type checking understand imports
in user projects. :issue:`1879`
- Annotate ``Context.obj`` as ``Any`` so type checking allows all
operations on the arbitrary object. :issue:`1885`
- Fix some types that weren't available in Python 3.6.0. :issue:`1882`
- Fix type checking for iterating over ``ProgressBar`` object.
:issue:`1892`
- The ``importlib_metadata`` backport package is installed on Python <
3.8. :issue:`1889`
- Arguments with ``nargs=-1`` only use env var value if no command
line values are given. :issue:`1903`
- Flag options guess their type from ``flag_value`` if given, like
regular options do from ``default``. :issue:`1886`
- Added documentation that custom parameter types may be passed
already valid values in addition to strings. :issue:`1898`
- Resolving commands returns the name that was given, not
``command.name``, fixing an unintended change to help text and
``default_map`` lookups. When using patterns like ``AliasedGroup``,
override ``resolve_command`` to change the name that is returned if
needed. :issue:`1895`
- If a default value is invalid, it does not prevent showing help
text. :issue:`1889`
- Pass ``windows_expand_args=False`` when calling the main command to
disable pattern expansion on Windows. There is no way to escape
patterns in CMD, so if the program needs to pass them on as-is then
expansion must be disabled. :issue:`1901`
```
### 8.0.0
```
-------------
Released 2021-05-11
- Drop support for Python 2 and 3.5.
- Colorama is always installed on Windows in order to provide style
and color support. :pr:`1784`
- Adds a repr to Command, showing the command name for friendlier
debugging. :issue:`1267`, :pr:`1295`
- Add support for distinguishing the source of a command line
parameter. :issue:`1264`, :pr:`1329`
- Add an optional parameter to ``ProgressBar.update`` to set the
``current_item``. :issue:`1226`, :pr:`1332`
- ``version_option`` uses ``importlib.metadata`` (or the
``importlib_metadata`` backport) instead of ``pkg_resources``. The
version is detected based on the package name, not the entry point
name. The Python package name must match the installed package
name, or be passed with ``package_name=``. :issue:`1582`
- If validation fails for a prompt with ``hide_input=True``, the value
is not shown in the error message. :issue:`1460`
- An ``IntRange`` or ``FloatRange`` option shows the accepted range in
its help text. :issue:`1525`, :pr:`1303`
- ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead
of closed (``<=``) by setting ``min_open`` and ``max_open``. Error
messages have changed to reflect this. :issue:`1100`
- An option defined with duplicate flag names (``"--foo/--foo"``)
raises a ``ValueError``. :issue:`1465`
- ``echo()`` will not fail when using pytest's ``capsys`` fixture on
Windows. :issue:`1590`
- Resolving commands returns the canonical command name instead of the
matched name. This makes behavior such as help text and
``Context.invoked_subcommand`` consistent when using patterns like
``AliasedGroup``. :issue:`1422`
- The ``BOOL`` type accepts the values "on" and "off". :issue:`1629`
- A ``Group`` with ``invoke_without_command=True`` will always invoke
its result callback. :issue:`1178`
- ``nargs == -1`` and ``nargs > 1`` is parsed and validated for
values from environment variables and defaults. :issue:`729`
- Detect the program name when executing a module or package with
``python -m name``. :issue:`1603`
- Include required parent arguments in help synopsis of subcommands.
:issue:`1475`
- Help for boolean flags with ``show_default=True`` shows the flag
name instead of ``True`` or ``False``. :issue:`1538`
- Non-string objects passed to ``style()`` and ``secho()`` will be
converted to string. :pr:`1146`
- ``edit(require_save=True)`` will detect saves for editors that exit
very fast on filesystems with 1 second resolution. :pr:`1050`
- New class attributes make it easier to use custom core objects
throughout an entire application. :pr:`938`
- ``Command.context_class`` controls the context created when
running the command.
- ``Context.invoke`` creates new contexts of the same type, so a
custom type will persist to invoked subcommands.
- ``Context.formatter_class`` controls the formatter used to
generate help and usage.
- ``Group.command_class`` changes the default type for
subcommands with ``group.command()``.
- ``Group.group_class`` changes the default type for subgroups
with ``group.group()``. Setting it to ``type`` will create
subgroups of the same type as the group itself.
- Core objects use ``super()`` consistently for better support of
subclassing.
- Use ``Context.with_resource()`` to manage resources that would
normally be used in a ``with`` statement, allowing them to be used
across subcommands and callbacks, then cleaned up when the context
ends. :pr:`1191`
- The result object returned by the test runner's ``invoke()`` method
has a ``return_value`` attribute with the value returned by the
invoked command. :pr:`1312`
- Required arguments with the ``Choice`` type show the choices in
curly braces to indicate that one is required (``{a|b|c}``).
:issue:`1272`
- If only a name is passed to ``option()``, Click suggests renaming it
to ``--name``. :pr:`1355`
- A context's ``show_default`` parameter defaults to the value from
the parent context. :issue:`1565`
- ``click.style()`` can output 256 and RGB color codes. Most modern
terminals support these codes. :pr:`1429`
- When using ``CliRunner.invoke()``, the replaced ``stdin`` file has
``name`` and ``mode`` attributes. This lets ``File`` options with
the ``-`` value match non-testing behavior. :issue:`1064`
- When creating a ``Group``, allow passing a list of commands instead
of a dict. :issue:`1339`
- When a long option name isn't valid, use ``difflib`` to make better
suggestions for possible corrections. :issue:`1446`
- Core objects have a ``to_info_dict()`` method. This gathers
information about the object's structure that could be useful for a
tool generating user-facing documentation. To get the structure of
an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461`
- Redesign the shell completion system. :issue:`1484`, :pr:`1622`
- Support Bash >= 4.4, Zsh, and Fish, with the ability for
extensions to add support for other shells.
- Allow commands, groups, parameters, and types to override their
completions suggestions.
- Groups complete the names commands were registered with, which
can differ from the name they were created with.
- The ``autocompletion`` parameter for options and arguments is
renamed to ``shell_complete``. The function must take
``ctx, param, incomplete``, must do matching rather than return
all values, and must return a list of strings or a list of
``CompletionItem``. The old name and behavior is deprecated and
will be removed in 8.1.
- The env var values used to start completion have changed order.
The shell now comes first, such as ``{shell}_source`` rather
than ``source_{shell}``, and is always required.
- Completion correctly parses command line strings with incomplete
quoting or escape sequences. :issue:`1708`
- Extra context settings (``obj=...``, etc.) are passed on to the
completion system. :issue:`942`
- Include ``--help`` option in completion. :pr:`1504`
- ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530`
- Boolean and UUID types strip surrounding space before converting.
:issue:`1605`
- Adjusted error message from parameter type validation to be more
consistent. Quotes are used to distinguish the invalid value.
:issue:`1605`
- The default value for a parameter with ``nargs`` > 1 and
``multiple=True`` must be a list of tuples. :issue:`1649`
- When getting the value for a parameter, the default is tried in the
same section as other sources to ensure consistent processing.
:issue:`1649`
- All parameter types accept a value that is already the correct type.
:issue:`1649`
- For shell completion, an argument is considered incomplete if its
value did not come from the command line args. :issue:`1649`
- Added ``ParameterSource.PROMPT`` to track parameter values that were
prompted for. :issue:`1649`
- Options with ``nargs`` > 1 no longer raise an error if a default is
not given. Parameters with ``nargs`` > 1 default to ``None``, and
parameters with ``multiple=True`` or ``nargs=-1`` default to an
empty tuple. :issue:`472`
- Handle empty env vars as though the option were not passed. This
extends the change introduced in 7.1 to be consistent in more cases.
:issue:`1285`
- ``Parameter.get_default()`` checks ``Context.default_map`` to
handle overrides consistently in help text, ``invoke()``, and
prompts. :issue:`1548`
- Add ``prompt_required`` param to ``Option``. When set to ``False``,
the user will only be prompted for an input if no value was passed.
:issue:`736`
- Providing the value to an option can be made optional through
``is_flag=False``, and the value can instead be prompted for or
passed in as a default value.
:issue:`549, 736, 764, 921, 1015, 1618`
- Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551`
- Revert adding space between option help text that wraps.
:issue:`1831`
- The default value passed to ``prompt`` will be cast to the correct
type like an input value would be. :pr:`1517`
- Automatically generated short help messages will stop at the first
ending of a phrase or double linebreak. :issue:`1082`
- Skip progress bar render steps for efficiency with very fast
iterators by setting ``update_min_steps``. :issue:`676`
- Respect ``case_sensitive=False`` when doing shell completion for
``Choice`` :issue:`1692`
- Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation.
:issue:`1752`
- If ``Option.show_default`` is a string, it is displayed even if
``default`` is ``None``. :issue:`1732`
- ``click.get_terminal_size()`` is deprecated and will be removed in
8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736`
- Control the location of the temporary directory created by
``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom
directory will not be removed automatically. :issue:`395`
- ``click.confirm()`` will prompt until input is given if called with
``default=None``. :issue:`1381`
- Option prompts validate the value with the option's callback in
addition to its type. :issue:`457`
- ``confirmation_prompt`` can be set to a custom string. :issue:`723`
- Allow styled output in Jupyter on Windows. :issue:`1271`
- ``style()`` supports the ``strikethrough``, ``italic``, and
``overline`` styles. :issue:`805, 1821`
- Multiline marker is removed from short help text. :issue:`1597`
- Restore progress bar behavior of echoing only the label if the file
is not a TTY. :issue:`1138`
- Progress bar output is shown even if execution time is less than 0.5
seconds. :issue:`1648`
- Progress bar ``item_show_func`` shows the current item, not the
previous item. :issue:`1353`
- The ``Path`` param type can be passed ``path_type=pathlib.Path`` to
return a path object instead of a string. :issue:`405`
- ``TypeError`` is raised when parameter with ``multiple=True`` or
``nargs > 1`` has non-iterable default. :issue:`1749`
- Add a ``pass_meta_key`` decorator for passing a key from
``Context.meta``. This is useful for extensions using ``meta`` to
store information. :issue:`1739`
- ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8.
:issue:`1813`
- Command deprecation notice appears at the start of the help text, as
well as in the short help. The notice is not in all caps.
:issue:`1791`
- When taking arguments from ``sys.argv`` on Windows, glob patterns,
user dir, and env vars are expanded. :issue:`1096`
- Marked messages shown by the CLI with ``gettext()`` to allow
applications to translate Click's built-in strings. :issue:`303`
- Writing invalid characters to ``stderr`` when using the test runner
does not raise a ``UnicodeEncodeError``. :issue:`848`
- Fix an issue where ``readline`` would clear the entire ``prompt()``
line instead of only the input when pressing backspace. :issue:`665`
- Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``.
Fixes an inconsistency when nesting ``Context.forward()`` calls.
:issue:`1568`
- The ``MultiCommand.resultcallback`` decorator is renamed to
``result_callback``. The old name is deprecated. :issue:`1160`
- Fix issues with ``CliRunner`` output when using ``echo_stdin=True``.
:issue:`1101`
- Fix a bug of ``click.utils.make_default_short_help`` for which the
returned string could be as long as ``max_width + 3``. :issue:`1849`
- When defining a parameter, ``default`` is validated with
``multiple`` and ``nargs``. More validation is done for values being
processed as well. :issue:`1806`
- ``HelpFormatter.write_text`` uses the full line width when wrapping
text. :issue:`1871`
```
### 7.1.2
```
-------------
Released 2020-04-27
- Revert applying shell quoting to commands for ``echo_with_pager``
and ``edit``. This was intended to allows spaces in commands, but
caused issues if the string was actually a command and arguments, or
on Windows. Instead, the string must be quoted manually as it should
appear on the command line. :issue:`1514`
```
### 7.1.1
```
-------------
Released 2020-03-09
- Fix ``ClickException`` output going to stdout instead of stderr.
:issue:`1495`
```
### 7.1
```
-----------
Released 2020-03-09
- Fix PyPI package name, "click" is lowercase again.
- Fix link in ``unicode_literals`` error message. :pr:`1151`
- Add support for colored output on UNIX Jupyter notebooks.
:issue:`1185`
- Operations that strip ANSI controls will strip the cursor hide/show
sequences. :issue:`1216`
- Remove unused compat shim for ``bytes``. :pr:`1195`
- Expand testing around termui, especially getchar on Windows.
:issue:`1116`
- Fix output on Windows Python 2.7 built with MSVC 14. :pr:`1342`
- Fix ``OSError`` when running in MSYS2. :issue:`1338`
- Fix ``OSError`` when redirecting to ``NUL`` stream on Windows.
:issue:`1065`
- Fix memory leak when parsing Unicode arguments on Windows.
:issue:`1136`
- Fix error in new AppEngine environments. :issue:`1462`
- Always return one of the passed choices for ``click.Choice``
:issue:`1277`, :pr:`1318`
- Add ``no_args_is_help`` option to ``click.Command``, defaults to
False :pr:`1167`
- Add ``show_default`` parameter to ``Context`` to enable showing
defaults globally. :issue:`1018`
- Handle ``env MYPATH=''`` as though the option were not passed.
:issue:`1196`
- It is once again possible to call ``next(bar)`` on an active
progress bar instance. :issue:`1125`
- ``open_file`` with ``atomic=True`` retains permissions of existing
files and respects the current umask for new files. :issue:`1376`
- When using the test ``CliRunner`` with ``mix_stderr=False``, if
``result.stderr`` is empty it will not raise a ``ValueError``.
:issue:`1193`
- Remove the unused ``mix_stderr`` parameter from
``CliRunner.invoke``. :issue:`1435`
- Fix ``TypeError`` raised when using bool flags and specifying
``type=bool``. :issue:`1287`
- Newlines in option help text are replaced with spaces before
re-wrapping to avoid uneven line breaks. :issue:`834`
- ``MissingParameter`` exceptions are printable in the Python
interpreter. :issue:`1139`
- Fix how default values for file-type options are shown during
prompts. :issue:`914`
- Fix environment variable automatic generation for commands
containing ``-``. :issue:`1253`
- Option help text replaces newlines with spaces when rewrapping, but
preserves paragraph breaks, fixing multiline formatting.
:issue:`834, 1066, 1397`
- Option help text that is wrapped adds an extra newline at the end to
distinguish it from the next option. :issue:`1075`
- Consider ``sensible-editor`` when determining the editor to use for
``click.edit()``. :pr:`1469`
- Arguments to system calls such as the executable path passed to
``click.edit`` can contains spaces. :pr:`1470`
- Add ZSH completion autoloading and error handling. :issue:`1348`
- Add a repr to ``Command``, ``Group``, ``Option``, and ``Argument``,
showing the name for friendlier debugging. :issue:`1267`
- Completion doesn't consider option names if a value starts with
``-`` after the ``--`` separator. :issue:`1247`
- ZSH completion escapes special characters in values. :pr:`1418`
- Add completion support for Fish shell. :pr:`1423`
- Decoding bytes option values falls back to UTF-8 in more cases.
:pr:`1468`
- Make the warning about old 2-arg parameter callbacks a deprecation
warning, to be removed in 8.0. This has been a warning since Click
2.0. :pr:`1492`
- Adjust error messages to standardize the types of quotes used so
they match error messages from Python.
```
Links
- PyPI: https://pypi.org/project/click
- Changelog: https://pyup.io/changelogs/click/
- Homepage: https://palletsprojects.com/p/click/
Changelog
### 1.23.4
```
the 1.23.3 release and keeps the build infrastructure current. The main
improvements are fixes for some annotation corner cases, a fix for a
long time `nested_iters` memory leak, and a fix of complex vector dot
for very large arrays. The Python versions supported for this release
are 3.8-3.11.
Note that the mypy version needs to be 0.981+ if you test using Python
3.10.7, otherwise the typing tests will fail.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Matthew Barber
- Matti Picus
- Ralf Gommers
- Ross Barnowski
- Sebastian Berg
- Sicheng Zeng +
Pull requests merged
A total of 13 pull requests were merged for this release.
- [22368](https://github.com/numpy/numpy/pull/22368): BUG: Add `__array_api_version__` to `numpy.array_api` namespace
- [22370](https://github.com/numpy/numpy/pull/22370): MAINT: update sde toolkit to 9.0, fix download link
- [22382](https://github.com/numpy/numpy/pull/22382): BLD: use macos-11 image on azure, macos-1015 is deprecated
- [22383](https://github.com/numpy/numpy/pull/22383): MAINT: random: remove `get_info` from \"extending with Cython\"\...
- [22384](https://github.com/numpy/numpy/pull/22384): BUG: Fix complex vector dot with more than NPY_CBLAS_CHUNK elements
- [22387](https://github.com/numpy/numpy/pull/22387): REV: Loosen `lookfor`\'s import try/except again
- [22388](https://github.com/numpy/numpy/pull/22388): TYP,ENH: Mark `numpy.typing` protocols as runtime checkable
- [22389](https://github.com/numpy/numpy/pull/22389): TYP,MAINT: Change more overloads to play nice with pyright
- [22390](https://github.com/numpy/numpy/pull/22390): TST,TYP: Bump mypy to 0.981
- [22391](https://github.com/numpy/numpy/pull/22391): DOC: Update delimiter param description.
- [22392](https://github.com/numpy/numpy/pull/22392): BUG: Memory leaks in numpy.nested_iters
- [22413](https://github.com/numpy/numpy/pull/22413): REL: Prepare for the NumPy 1.23.4 release.
- [22424](https://github.com/numpy/numpy/pull/22424): TST: Fix failing aarch64 wheel builds.
Checksums
MD5
90a3d95982490cfeeef22c0f7cbd874f numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
c3cae63394db6c82fd2cb5700fc5917d numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
b3ff0878de205f56c38fd7dcab80081f numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b086ca2229209f2f996c2f9a38bf9c numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44cc8bb112ca737520cf986fff92dfb0 numpy-1.23.4-cp310-cp310-win32.whl
21c8e5fdfba2ff953e446189379cf0c9 numpy-1.23.4-cp310-cp310-win_amd64.whl
27445a9c85977cb8efa682a4b993347f numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
11ef4b7dfdaa37604cb881f3ca4459db numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
b3c77344274f91514f728a454fd471fa numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43aef7f984cd63d95c11fb74dd59ef0b numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
637fe21b585228c9670d6e002bf8047f numpy-1.23.4-cp311-cp311-win32.whl
f529edf9b849d6e3b8cdb5120ae5b81a numpy-1.23.4-cp311-cp311-win_amd64.whl
76c61ce36317a7e509663829c6844fd9 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
2133f6893eef41cd9331c7d0271044c4 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
5ccb3aa6fb8cb9e20ec336e315d01dec numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
da71f34a4df0b98e4d9e17906dd57b07 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a318978f51fb80a17c2381e39194e906 numpy-1.23.4-cp38-cp38-win32.whl
eac810d6bc43830bf151ea55cd0ded93 numpy-1.23.4-cp38-cp38-win_amd64.whl
4cf0a6007abe42564c7380dbf92a26ce numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
2e005bedf129ce8bafa6f550537f3740 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
10aa210311fcd19a03f6c5495824a306 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6301298a67999657a0878b64eeed09f2 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76144e575a3c3863ea22e03cdf022d8a numpy-1.23.4-cp39-cp39-win32.whl
8291dd66ef5451b4db2da55c21535757 numpy-1.23.4-cp39-cp39-win_amd64.whl
7cc095b18690071828b5b620d5ec40e7 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
63742f15e8bfa215c893136bbfc6444f numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4ed382e55abc09c89a34db047692f6a6 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
d9ffd2c189633486ec246e61d4b947a0 numpy-1.23.4.tar.gz
SHA256
95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd numpy-1.23.4-cp310-cp310-win32.whl
d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 numpy-1.23.4-cp310-cp310-win_amd64.whl
488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 numpy-1.23.4-cp311-cp311-win32.whl
7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d numpy-1.23.4-cp311-cp311-win_amd64.whl
7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba numpy-1.23.4-cp38-cp38-win32.whl
0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 numpy-1.23.4-cp38-cp38-win_amd64.whl
c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef numpy-1.23.4-cp39-cp39-win32.whl
f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e numpy-1.23.4-cp39-cp39-win_amd64.whl
61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c numpy-1.23.4.tar.gz
```
### 1.23.3
```
the 1.23.2 release. There is no major theme for this release, the main
improvements are for some downstream builds and some annotation corner
cases. The Python versions supported for this release are 3.8-3.11.
Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the
```
### 1.23.2
```
the 1.23.1 release. Notable features are:
- Typing changes needed for Python 3.11
- Wheels for Python 3.11.0rc1
The Python versions supported for this release are 3.8-3.11.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- Alexander Grund +
- Bas van Beek
- Charles Harris
- Jon Cusick +
- Matti Picus
- Michael Osthege +
- Pal Barta +
- Ross Barnowski
- Sebastian Berg
Pull requests merged
A total of 15 pull requests were merged for this release.
- [22030](https://github.com/numpy/numpy/pull/22030): ENH: Add `__array_ufunc__` typing support to the `nin=1` ufuncs
- [22031](https://github.com/numpy/numpy/pull/22031): MAINT, TYP: Fix `np.angle` dtype-overloads
- [22032](https://github.com/numpy/numpy/pull/22032): MAINT: Do not let `_GenericAlias` wrap the underlying classes\'\...
- [22033](https://github.com/numpy/numpy/pull/22033): TYP,MAINT: Allow `einsum` subscripts to be passed via integer\...
- [22034](https://github.com/numpy/numpy/pull/22034): MAINT,TYP: Add object-overloads for the `np.generic` rich comparisons
- [22035](https://github.com/numpy/numpy/pull/22035): MAINT,TYP: Allow the `squeeze` and `transpose` method to\...
- [22036](https://github.com/numpy/numpy/pull/22036): BUG: Fix subarray to object cast ownership details
- [22037](https://github.com/numpy/numpy/pull/22037): BUG: Use `Popen` to silently invoke f77 -v
- [22038](https://github.com/numpy/numpy/pull/22038): BUG: Avoid errors on NULL during deepcopy
- [22039](https://github.com/numpy/numpy/pull/22039): DOC: Add versionchanged for converter callable behavior.
- [22057](https://github.com/numpy/numpy/pull/22057): MAINT: Quiet the anaconda uploads.
- [22078](https://github.com/numpy/numpy/pull/22078): ENH: reorder includes for testing on top of system installations\...
- [22106](https://github.com/numpy/numpy/pull/22106): TST: fix test_linear_interpolation_formula_symmetric
- [22107](https://github.com/numpy/numpy/pull/22107): BUG: Fix skip condition for test_loss_of_precision\[complex256\]
- [22115](https://github.com/numpy/numpy/pull/22115): BLD: Build python3.11.0rc1 wheels.
Checksums
MD5
fe1e3480ea8c417c8f7b05f543c1448d numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
0ab14b1afd0a55a374ca69b3b39cab3c numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
df059e5405bfe75c0ac77b01abbdb237 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4ed412c4c078e96edf11ca3b11eef76b numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0caad53d9a5e3c5e8cd29f19a9f0c014 numpy-1.23.2-cp310-cp310-win32.whl
01e508b8b4f591daff128da1cfde8e1f numpy-1.23.2-cp310-cp310-win_amd64.whl
8ecdb7e2a87255878b748550d91cfbe0 numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
e3004aae46cec9e234f78eaf473272e0 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
ec23c73caf581867d5ca9255b802f144 numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b8389f528fe113247954248f0b78ce1 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a54b136daa2fbb483909f08eecbfa3c5 numpy-1.23.2-cp311-cp311-win32.whl
ead32e141857c5ef33b1a6cd88aefc0f numpy-1.23.2-cp311-cp311-win_amd64.whl
df1f18e52d0a2840d101fdc9c2c6af84 numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
04c986880bb24fac2f44face75eab914 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
edeba58edb214390112810f7ead903a8 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c26ea699d94d7f1009c976c66cc4def3 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c246a78b09f8893d998d449dcab0fac3 numpy-1.23.2-cp38-cp38-win32.whl
b5c5a2f961402259e301c49b8b05de55 numpy-1.23.2-cp38-cp38-win_amd64.whl
d156dfae94d33eeff7fb9c6e5187e049 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
7f2ad7867c577eab925a31de76486765 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
76262a8e5d7a4d945446467467300a10 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ee105f4574d61a2d494418b55f63fcb numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b7c79cae66023f8e716150223201981 numpy-1.23.2-cp39-cp39-win32.whl
d7af57dd070ccb165f3893412eb602e3 numpy-1.23.2-cp39-cp39-win_amd64.whl
355a231dbd87a0f2125cc23eb8f97075 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4ab13c35056f67981d03f9ceec41db42 numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a6f1e1256ee9be10d8cdf6be578fe52 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
9bf2a361509797de14ceee607387fe0f numpy-1.23.2.tar.gz
SHA256
e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5 numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8 numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5 numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450 numpy-1.23.2-cp310-cp310-win32.whl
8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414 numpy-1.23.2-cp310-cp310-win_amd64.whl
dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722 numpy-1.23.2-cp311-cp311-win32.whl
8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e numpy-1.23.2-cp311-cp311-win_amd64.whl
909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d numpy-1.23.2-cp38-cp38-win32.whl
dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d numpy-1.23.2-cp38-cp38-win_amd64.whl
4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77 numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c numpy-1.23.2-cp39-cp39-win32.whl
5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913 numpy-1.23.2-cp39-cp39-win_amd64.whl
806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01 numpy-1.23.2.tar.gz
```
### 1.23.1
```
The NumPy 1.23.1 is a maintenance release that fixes bugs discovered
after the 1.23.0 release. Notable fixes are:
- Fix searchsorted for float16 NaNs
- Fix compilation on Apple M1
- Fix KeyError in crackfortran operator support (Slycot)
The Python version supported for this release are 3.8-3.10.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- Charles Harris
- Matthias Koeppe +
- Pranab Das +
- Rohit Goswami
- Sebastian Berg
- Serge Guelton
- Srimukh Sripada +
Pull requests merged
A total of 8 pull requests were merged for this release.
- [21866](https://github.com/numpy/numpy/pull/21866): BUG: Fix discovered MachAr (still used within valgrind)
- [21867](https://github.com/numpy/numpy/pull/21867): BUG: Handle NaNs correctly for float16 during sorting
- [21868](https://github.com/numpy/numpy/pull/21868): BUG: Use `keepdims` during normalization in `np.average` and\...
- [21869](https://github.com/numpy/numpy/pull/21869): DOC: mention changes to `max_rows` behaviour in `np.loadtxt`
- [21870](https://github.com/numpy/numpy/pull/21870): BUG: Reject non integer array-likes with size 1 in delete
- [21949](https://github.com/numpy/numpy/pull/21949): BLD: Make can_link_svml return False for 32bit builds on x86_64
- [21951](https://github.com/numpy/numpy/pull/21951): BUG: Reorder extern \"C\" to only apply to function declarations\...
- [21952](https://github.com/numpy/numpy/pull/21952): BUG: Fix KeyError in crackfortran operator support
Checksums
MD5
79f0d8c114f282b834b49209d6955f98 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
42a89a88ef26b768e8933ce46b1cc2bd numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
1c1d68b3483eaf99b9a3583c8ac8bf47 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d3e9f7f9b3dce6cf15209e4f25f346e numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a9afb7c34b48d08fc50427ae6516b42d numpy-1.23.1-cp310-cp310-win32.whl
a0e02823883bdfcec49309e108f65e13 numpy-1.23.1-cp310-cp310-win_amd64.whl
f40cdf4ec7bb0cf31a90a4fa294323c2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
80115a959f0fe30d6c401b2650a61c70 numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
1cf199b3a93960c4f269853a56a8d8eb numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa6f0f192312c79cd770c2c395e9982a numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d07bee0ea3142a96cb5e4e16aca273ca numpy-1.23.1-cp38-cp38-win32.whl
02d0734ae8ad5e18a40c6c6de18486a0 numpy-1.23.1-cp38-cp38-win_amd64.whl
e1ca14acd7d83bc74bdf6ab0bb4bd195 numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
c9152c62b2f31e742e24bfdc97b28666 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
05b0b37c92f7a7e7c01afac0a5322b40 numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d9810bb71a0ef9837e87ea5c44fcab5e numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4255577f857e838f7a94e3a614ddc5eb numpy-1.23.1-cp39-cp39-win32.whl
787486e3cd87b98024ffe1c969c4db7a numpy-1.23.1-cp39-cp39-win_amd64.whl
5c7b2d1471b1b9ec6ff1cb3fe1f8ac14 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
40d5b2ff869707b0d97325ce44631135 numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44ce1e07927cc09415df9898857792da numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
4f8636a9c1a77ca0fb923ba55378891f numpy-1.23.1.tar.gz
SHA256
b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5 numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953 numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447 numpy-1.23.1-cp310-cp310-win32.whl
1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622 numpy-1.23.1-cp310-cp310-win_amd64.whl
aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641 numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7 numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e numpy-1.23.1-cp38-cp38-win32.whl
37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645 numpy-1.23.1-cp38-cp38-win_amd64.whl
173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c numpy-1.23.1-cp39-cp39-win32.whl
37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9 numpy-1.23.1-cp39-cp39-win_amd64.whl
8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148 numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624 numpy-1.23.1.tar.gz
```
### 1.23.0
```
The NumPy 1.23.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, clarify
the documentation, and expire old deprecations. The highlights are:
- Implementation of `loadtxt` in C, greatly improving its performance.
- Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
- A masked array specialization of `ndenumerate` is now available as
`numpy.ma.ndenumerate`. It provides an alternative to
`numpy.ndenumerate` and skips masked values by default.
([gh-20020](https://github.com/numpy/numpy/pull/20020))
- `numpy.from_dlpack` has been added to allow easy exchange of data
using the DLPack protocol. It accepts Python objects that implement
the `__dlpack__` and `__dlpack_device__` methods and returns a
ndarray object which is generally the view of the data of the input
object.
([gh-21145](https://github.com/numpy/numpy/pull/21145))
Deprecations
- Setting `__array_finalize__` to `None` is deprecated. It must now be
a method and may wish to call `super().__array_finalize__(obj)`
after checking for `None` or if the NumPy version is sufficiently
new.
([gh-20766](https://github.com/numpy/numpy/pull/20766))
- Using `axis=32` (`axis=np.MAXDIMS`) in many cases had the same
meaning as `axis=None`. This is deprecated and `axis=None` must be
used instead.
([gh-20920](https://github.com/numpy/numpy/pull/20920))
- The hook function `PyDataMem_SetEventHook` has been deprecated and
the demonstration of its use in tool/allocation_tracking has been
removed. The ability to track allocations is now built-in to python
via `tracemalloc`.
([gh-20394](https://github.com/numpy/numpy/pull/20394))
- `numpy.distutils` has been deprecated, as a result of `distutils`
itself being deprecated. It will not be present in NumPy for
Python >= 3.12, and will be removed completely 2 years after the
release of Python 3.12 For more details, see
`distutils-status-migration`{.interpreted-text role="ref"}.
([gh-20875](https://github.com/numpy/numpy/pull/20875))
Expired deprecations
- The `NpzFile.iteritems()` and `NpzFile.iterkeys()` methods have been
removed as part of the continued removal of Python 2 compatibility.
This concludes the deprecation from 1.15.
([gh-16830](https://github.com/numpy/numpy/pull/16830))
- The `alen` and `asscalar` functions have been removed.
([gh-20414](https://github.com/numpy/numpy/pull/20414))
- The `UPDATEIFCOPY` array flag has been removed together with the
enum `NPY_ARRAY_UPDATEIFCOPY`. The associated (and deprecated)
`PyArray_XDECREF_ERR` was also removed. These were all deprecated in
1.14. They are replaced by `WRITEBACKIFCOPY`, that requires calling
`PyArray_ResoveWritebackIfCopy` before the array is deallocated.
([gh-20589](https://github.com/numpy/numpy/pull/20589))
- Exceptions will be raised during array-like creation. When an object
raised an exception during access of the special attributes
`__array__` or `__array_interface__`, this exception was usually
ignored. This behaviour was deprecated in 1.21, and the exception
will now be raised.
([gh-20835](https://github.com/numpy/numpy/pull/20835))
- Multidimensional indexing with non-tuple values is not allowed.
Previously, code such as `arr[ind]` where `ind = [[0, 1], [0, 1]]`
produced a `FutureWarning` and was interpreted as a multidimensional
index (i.e., `arr[tuple(ind)]`). Now this example is treated like an
array index over a single dimension (`arr[array(ind)]`).
Multidimensional indexing with anything but a tuple was deprecated
in NumPy 1.15.
([gh-21029](https://github.com/numpy/numpy/pull/21029))
- Changing to a dtype of different size in F-contiguous arrays is no
longer permitted. Deprecated since Numpy 1.11.0. See below for an
extended explanation of the effects of this change.
([gh-20722](https://github.com/numpy/numpy/pull/20722))
New Features
crackfortran has support for operator and assignment overloading
`crackfortran` parser now understands operator and assignment
definitions in a module. They are added in the `body` list of the module
which contains a new key `implementedby` listing the names of the
subroutines or functions implementing the operator or assignment.
([gh-15006](https://github.com/numpy/numpy/pull/15006))
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use `public` or `private` statements
to specify derived type access properties.
([gh-15844](https://github.com/numpy/numpy/pull/15844))
New parameter `ndmin` added to `genfromtxt`
This parameter behaves the same as `ndmin` from `numpy.loadtxt`.
([gh-20500](https://github.com/numpy/numpy/pull/20500))
`np.loadtxt` now supports quote character and single converter function
`numpy.loadtxt` now supports an additional `quotechar` keyword argument
which is not set by default. Using `quotechar='"'` will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the `converters` argument.
([gh-20580](https://github.com/numpy/numpy/pull/20580))
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size
required that the entire array be C-contiguous. This limitation would
unnecessarily force the user to make contiguous copies of non-contiguous
arrays before being able to change the dtype.
This change affects not only `ndarray.view`, but other construction
mechanisms, including the discouraged direct assignment to
`ndarray.dtype`.
This change expires the deprecation regarding the viewing of
F-contiguous arrays, described elsewhere in the release notes.
([gh-20722](https://github.com/numpy/numpy/pull/20722))
Deterministic output files for F2PY
For F77 inputs, `f2py` will generate `modname-f2pywrappers.f`
unconditionally, though these may be empty. For free-form inputs,
`modname-f2pywrappers.f`, `modname-f2pywrappers2.f90` will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in `cmake` or `meson` and other build systems. Older
behavior can be restored by passing `--skip-empty-wrappers` to `f2py`.
`f2py-meson`{.interpreted-text role="ref"} details usage.
([gh-21187](https://github.com/numpy/numpy/pull/21187))
`keepdims` parameter for `average`
The parameter `keepdims` was added to the functions `numpy.average` and
`numpy.ma.average`. The parameter has the same meaning as it does in
reduction functions such as `numpy.sum` or `numpy.mean`.
([gh-21485](https://github.com/numpy/numpy/pull/21485))
Compatibility notes
1D `np.linalg.norm` preserves float input types, even for scalar results
Previously, this would promote to `float64` when the `ord` argument was
not one of the explicitly listed values, e.g. `ord=3`:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') numpy 1.22
dtype('float32') numpy 1.23
This change affects only `float32` and `float16` vectors with `ord`
other than `-Inf`, `0`, `1`, `2`, and `Inf`.
([gh-17709](https://github.com/numpy/numpy/pull/17709))
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion
for structured dtypes by promoting the subtypes of each field instead of
raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of `np.concatenate`) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
`structured_dtype_comparison_and_promotion`{.interpreted-text
role="ref"} for further details.
The `repr` of aligned structures will now never print the long form
including `offsets` and `itemsize` unless the structure includes padding
not guaranteed by `align=True`.
In alignment with the above changes to the promotion logic, the casting
safety has been updated:
- `"equiv"` enforces matching names and titles. The itemsize is
allowed to differ due to padding.
- `"safe"` allows mismatching field names and titles
- The cast safety is limited by the cast safety of each included
field.
- The order of fields is used to decide cast safety of each individual
field. Previously, the field names were used and only unsafe casts
were possible when names mismatched.
The main important change here is that name mismatches are now
considered \"safe\" casts.
([gh-19226](https://github.com/numpy/numpy/pull/19226))
`NPY_RELAXED_STRIDES_CHECKING` has been removed
NumPy cannot be compiled with `NPY_RELAXED_STRIDES_CHECKING=0` anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
([gh-20220](https://github.com/numpy/numpy/pull/20220))
`np.loadtxt` has recieved several changes
The row counting of `numpy.loadtxt` was fixed. `loadtxt` ignores fully
empty lines in the file, but counted them towards `max_rows`. When
`max_rows` is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than `max_rows` rows even though more data was available to be read. If
the old behaviour is required, `itertools.islice` may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, `numpy.loadtxt` may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as `1.0` into integers will now
fail
- Parsing hexadecimal floats such as `0x3p3` will fail
- An `_` was previously accepted as a thousands delimiter `100_000`.
This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate `converters=`. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, `converters=float.fromhex` can read hexadecimal float numbers
and `converters=int` will be able to read `100_000`.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a `ValueError` is
now always raised when parsing of a single entry fails.
([gh-20580](https://github.com/numpy/numpy/pull/20580))
Improvements
`ndarray.__array_finalize__` is now callable
This means subclasses can now use `super().__array_finalize__(obj)`
without worrying whether `ndarray` is their superclass or not. The
actual call remains a no-op.
([gh-20766](https://github.com/numpy/numpy/pull/20766))
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power
ISA 3.1 can be used to accelerate some NumPy operations, e.g.,
floor_divide, modulo, etc.
([gh-20821](https://github.com/numpy/numpy/pull/20821))
`np.fromiter` now accepts objects and subarrays
The `numpy.fromiter` function now supports object and subarray dtypes.
Please see he function documentation for examples.
([gh-20993](https://github.com/numpy/numpy/pull/20993))
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the `wasm-ld` backend (compilation for web assembly) and reduces the
number of warnings.
([gh-21154](https://github.com/numpy/numpy/pull/21154))
`np.kron` now maintains subclass information
`np.kron` maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
python
>>> x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]])
>>> np.kron(x,x)
masked_array(
data=[[1, --, --, --],
[--, 4, --, --],
[--, --, 4, --],
[--, --, --, 16]],
mask=[[False, True, True, True],
[ True, False, True, True],
[ True, True, False, True],
[ True, True, True, False]],
fill_value=999999)
:warning: Warning, `np.kron` output now follows `ufunc` ordering (`multiply`) to determine
the output class type
python
>>> class myarr(np.ndarray):
>>> __array_priority__ = -1
>>> a = np.ones([2, 2])
>>> ma = myarray(a.shape, a.dtype, a.data)
>>> type(np.kron(a, ma)) == np.ndarray
False Before it was True
>>> type(np.kron(a, ma)) == myarr
True
([gh-21262](https://github.com/numpy/numpy/pull/21262))
Performance improvements and changes
Faster `np.loadtxt`
`numpy.loadtxt` is now generally much faster than previously as most of
it is now implemented in C.
([gh-20580](https://github.com/numpy/numpy/pull/20580))
Faster reduction operators
Reduction operations like `numpy.sum`, `numpy.prod`, `numpy.add.reduce`,
`numpy.logical_and.reduce` on contiguous integer-based arrays are now
much faster.
([gh-21001](https://github.com/numpy/numpy/pull/21001))
Faster `np.where`
`numpy.where` is now much faster than previously on unpredictable/random
input data.
([gh-21130](https://github.com/numpy/numpy/pull/21130))
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using `scalar.item()`.
([gh-21188](https://github.com/numpy/numpy/pull/21188))
Faster `np.kron`
`numpy.kron` is about 80% faster as the product is now computed using
broadcasting.
([gh-21354](https://github.com/numpy/numpy/pull/21354))
Checksums
MD5
c67b4cc1de8a0753bc65765a508aa0e3 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
9daceb162c46298986b5fceb13f10e54 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
ac07046b70001710d8d3243d9b5d0389 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
14269d197cd6aac02655d43aa10ba108 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ba5fc5cd776549afc353e0043f6c6f5a numpy-1.23.0rc1-cp310-cp310-win32.whl
0e1b00f156f32aabde1e29607c709a24 numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
34b5a9f3abeb9f6e9c6fbd494305d53d numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
bb825cf372822daad1e440577e324042 numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
45296e6b41691c4265c90562c94254aa numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b10b131e5c0576629ab99829301d6fba numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bc6210254087b73715d8c6a79dafa3b8 numpy-1.23.0rc1-cp38-cp38-win32.whl
d9b7fb5a539a738309a717051f13e41a numpy-1.23.0rc1-cp38-cp38-win_amd64.whl
d2cec33489c96dfc489bb00353d351fe numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
e4982f3bf3d4acab67cb61d3d0e2f85b numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl
781a79ea9f1683a579a1ef27d809a8e0 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c03ea50c2baa172e8252d10dea73498 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
61829dec0785cf72b8f5bc92dc44d828 numpy-1.23.0rc1-cp39-cp39-win32.whl
94c7c971ed5eedb1b61a09bcfc123617 numpy-1.23.0rc1-cp39-cp39-win_amd64.whl
b5c6f674b468e7fc513882563391efec numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
41ab4b757478c8e244018c37bcb52bb3 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2082734772a6a7afbe3568e7b2ad458 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl
faf6a08cda5696b96acb670c433495e5 numpy-1.23.0rc1.tar.gz
SHA256
a72607e12891615a314a892f8d21301b930f211841f0084d269baa1eb31710b4 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
4784a81089c75a941dcc013b09290dfb22768780a1f3525667328d09a3338116 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
d4ebdeb0e2a57bbd28c3258a562ee011775127427eea833613744af1a66c3e11 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a2dfb54cb1c6470918a3c02da77706f28977cb7eac4b76cc40b14942c8634615 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1567c488f9ef97341c5937b4140a45ac37e0592c43ba2c59d3e49ff7d5da90b0 numpy-1.23.0rc1-cp310-cp310-win32.whl
78df1fc2ddf543508b5358dd24ac68ee693599e5df0d136062b9ec21ba7643cf numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
020c6d8476fced48f42629f46996af8a07bc725cb821081205c4422eacaa2283 numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
efd26eecd1ada0c8dadc5b221c52086ccc72e4cb0707e451889ef3b62c14163c numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
8cf3f61984777a830eef452d8b04338795691949214e6cafc46c5236900cd1f5 numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
96738ae39db010
Update Click from 7.0 to 8.1.3.
Changelog
### 8.1.3 ``` ------------- Released 2022-04-28 - Use verbose form of ``typing.Callable`` for ``command`` and ``group``. :issue:`2255` - Show error when attempting to create an option with ``multiple=True, is_flag=True``. Use ``count`` instead. :issue:`2246` ``` ### 8.1.2 ``` ------------- Released 2022-03-31 - Fix error message for readable path check that was mixed up with the executable check. :pr:`2236` - Restore parameter order for ``Path``, placing the ``executable`` parameter at the end. It is recommended to use keyword arguments instead of positional arguments. :issue:`2235` ``` ### 8.1.1 ``` ------------- Released 2022-03-30 - Fix an issue with decorator typing that caused type checking to report that a command was not callable. :issue:`2227` ``` ### 8.1.0 ``` ------------- Released 2022-03-28 - Drop support for Python 3.6. :pr:`2129` - Remove previously deprecated code. :pr:`2130` - ``Group.resultcallback`` is renamed to ``result_callback``. - ``autocompletion`` parameter to ``Command`` is renamed to ``shell_complete``. - ``get_terminal_size`` is removed, use ``shutil.get_terminal_size`` instead. - ``get_os_args`` is removed, use ``sys.argv[1:]`` instead. - Rely on :pep:`538` and :pep:`540` to handle selecting UTF-8 encoding instead of ASCII. Click's locale encoding detection is removed. :issue:`2198` - Single options boolean flags with ``show_default=True`` only show the default if it is ``True``. :issue:`1971` - The ``command`` and ``group`` decorators can be applied with or without parentheses. :issue:`1359` - The ``Path`` type can check whether the target is executable. :issue:`1961` - ``Command.show_default`` overrides ``Context.show_default``, instead of the other way around. :issue:`1963` - Parameter decorators and ``group`` handles ``cls=None`` the same as not passing ``cls``. ``option`` handles ``help=None`` the same as not passing ``help``. :issue:`1959` - A flag option with ``required=True`` requires that the flag is passed instead of choosing the implicit default value. :issue:`1978` - Indentation in help text passed to ``Option`` and ``Command`` is cleaned the same as using the ``option`` and ``command`` decorators does. A command's ``epilog`` and ``short_help`` are also processed. :issue:`1985` - Store unprocessed ``Command.help``, ``epilog`` and ``short_help`` strings. Processing is only done when formatting help text for output. :issue:`2149` - Allow empty str input for ``prompt()`` when ``confirmation_prompt=True`` and ``default=""``. :issue:`2157` - Windows glob pattern expansion doesn't fail if a value is an invalid pattern. :issue:`2195` - It's possible to pass a list of ``params`` to ``command``. Any params defined with decorators are appended to the passed params. :issue:`2131`. - ``command`` decorator is annotated as returning the correct type if a ``cls`` argument is used. :issue:`2211` - A ``Group`` with ``invoke_without_command=True`` and ``chain=False`` will invoke its result callback with the group function's return value. :issue:`2124` - ``to_info_dict`` will not fail if a ``ParamType`` doesn't define a ``name``. :issue:`2168` - Shell completion prioritizes option values with option prefixes over new options. :issue:`2040` - Options that get an environment variable value using ``autoenvvar_prefix`` treat an empty value as ``None``, consistent with a direct ``envvar``. :issue:`2146` ``` ### 8.0.4 ``` ------------- Released 2022-02-18 - ``open_file`` recognizes ``Path("-")`` as a standard stream, the same as the string ``"-"``. :issue:`2106` - The ``option`` and ``argument`` decorators preserve the type annotation of the decorated function. :pr:`2155` - A callable default value can customize its help text by overriding ``__str__`` instead of always showing ``(dynamic)``. :issue:`2099` - Fix a typo in the Bash completion script that affected file and directory completion. If this script was generated by a previous version, it should be regenerated. :issue:`2163` - Fix typing for ``echo`` and ``secho`` file argument. :issue:`2174, 2185` ``` ### 8.0.3 ``` ------------- Released 2021-10-10 - Fix issue with ``Path(resolve_path=True)`` type creating invalid paths. :issue:`2088` - Importing ``readline`` does not cause the ``confirm()`` prompt to disappear when pressing backspace. :issue:`2092` - Any default values injected by ``invoke()`` are cast to the corresponding parameter's type. :issue:`2089, 2090` ``` ### 8.0.2 ``` ------------- Released 2021-10-08 - ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``. :issue:`1925` - Bash version detection is locale independent. :issue:`1940` - Empty ``default`` value is not shown for ``multiple=True``. :issue:`1969` - Fix shell completion for arguments that start with a forward slash such as absolute file paths. :issue:`1929` - ``Path`` type with ``resolve_path=True`` resolves relative symlinks to be relative to the containing directory. :issue:`1921` - Completion does not skip Python's resource cleanup when exiting, avoiding some unexpected warning output. :issue:`1738, 2017` - Fix type annotation for ``type`` argument in ``prompt`` function. :issue:`2062` - Fix overline and italic styles, which were incorrectly added when adding underline. :pr:`2058` - An option with ``count=True`` will not show "[x>=0]" in help text. :issue:`2072` - Default values are not cast to the parameter type twice during processing. :issue:`2085` - Options with ``multiple`` and ``flag_value`` use the flag value instead of leaving an internal placeholder. :issue:`2001` ``` ### 8.0.1 ``` ------------- Released 2021-05-19 - Mark top-level names as exported so type checking understand imports in user projects. :issue:`1879` - Annotate ``Context.obj`` as ``Any`` so type checking allows all operations on the arbitrary object. :issue:`1885` - Fix some types that weren't available in Python 3.6.0. :issue:`1882` - Fix type checking for iterating over ``ProgressBar`` object. :issue:`1892` - The ``importlib_metadata`` backport package is installed on Python < 3.8. :issue:`1889` - Arguments with ``nargs=-1`` only use env var value if no command line values are given. :issue:`1903` - Flag options guess their type from ``flag_value`` if given, like regular options do from ``default``. :issue:`1886` - Added documentation that custom parameter types may be passed already valid values in addition to strings. :issue:`1898` - Resolving commands returns the name that was given, not ``command.name``, fixing an unintended change to help text and ``default_map`` lookups. When using patterns like ``AliasedGroup``, override ``resolve_command`` to change the name that is returned if needed. :issue:`1895` - If a default value is invalid, it does not prevent showing help text. :issue:`1889` - Pass ``windows_expand_args=False`` when calling the main command to disable pattern expansion on Windows. There is no way to escape patterns in CMD, so if the program needs to pass them on as-is then expansion must be disabled. :issue:`1901` ``` ### 8.0.0 ``` ------------- Released 2021-05-11 - Drop support for Python 2 and 3.5. - Colorama is always installed on Windows in order to provide style and color support. :pr:`1784` - Adds a repr to Command, showing the command name for friendlier debugging. :issue:`1267`, :pr:`1295` - Add support for distinguishing the source of a command line parameter. :issue:`1264`, :pr:`1329` - Add an optional parameter to ``ProgressBar.update`` to set the ``current_item``. :issue:`1226`, :pr:`1332` - ``version_option`` uses ``importlib.metadata`` (or the ``importlib_metadata`` backport) instead of ``pkg_resources``. The version is detected based on the package name, not the entry point name. The Python package name must match the installed package name, or be passed with ``package_name=``. :issue:`1582` - If validation fails for a prompt with ``hide_input=True``, the value is not shown in the error message. :issue:`1460` - An ``IntRange`` or ``FloatRange`` option shows the accepted range in its help text. :issue:`1525`, :pr:`1303` - ``IntRange`` and ``FloatRange`` bounds can be open (``<``) instead of closed (``<=``) by setting ``min_open`` and ``max_open``. Error messages have changed to reflect this. :issue:`1100` - An option defined with duplicate flag names (``"--foo/--foo"``) raises a ``ValueError``. :issue:`1465` - ``echo()`` will not fail when using pytest's ``capsys`` fixture on Windows. :issue:`1590` - Resolving commands returns the canonical command name instead of the matched name. This makes behavior such as help text and ``Context.invoked_subcommand`` consistent when using patterns like ``AliasedGroup``. :issue:`1422` - The ``BOOL`` type accepts the values "on" and "off". :issue:`1629` - A ``Group`` with ``invoke_without_command=True`` will always invoke its result callback. :issue:`1178` - ``nargs == -1`` and ``nargs > 1`` is parsed and validated for values from environment variables and defaults. :issue:`729` - Detect the program name when executing a module or package with ``python -m name``. :issue:`1603` - Include required parent arguments in help synopsis of subcommands. :issue:`1475` - Help for boolean flags with ``show_default=True`` shows the flag name instead of ``True`` or ``False``. :issue:`1538` - Non-string objects passed to ``style()`` and ``secho()`` will be converted to string. :pr:`1146` - ``edit(require_save=True)`` will detect saves for editors that exit very fast on filesystems with 1 second resolution. :pr:`1050` - New class attributes make it easier to use custom core objects throughout an entire application. :pr:`938` - ``Command.context_class`` controls the context created when running the command. - ``Context.invoke`` creates new contexts of the same type, so a custom type will persist to invoked subcommands. - ``Context.formatter_class`` controls the formatter used to generate help and usage. - ``Group.command_class`` changes the default type for subcommands with ``group.command()``. - ``Group.group_class`` changes the default type for subgroups with ``group.group()``. Setting it to ``type`` will create subgroups of the same type as the group itself. - Core objects use ``super()`` consistently for better support of subclassing. - Use ``Context.with_resource()`` to manage resources that would normally be used in a ``with`` statement, allowing them to be used across subcommands and callbacks, then cleaned up when the context ends. :pr:`1191` - The result object returned by the test runner's ``invoke()`` method has a ``return_value`` attribute with the value returned by the invoked command. :pr:`1312` - Required arguments with the ``Choice`` type show the choices in curly braces to indicate that one is required (``{a|b|c}``). :issue:`1272` - If only a name is passed to ``option()``, Click suggests renaming it to ``--name``. :pr:`1355` - A context's ``show_default`` parameter defaults to the value from the parent context. :issue:`1565` - ``click.style()`` can output 256 and RGB color codes. Most modern terminals support these codes. :pr:`1429` - When using ``CliRunner.invoke()``, the replaced ``stdin`` file has ``name`` and ``mode`` attributes. This lets ``File`` options with the ``-`` value match non-testing behavior. :issue:`1064` - When creating a ``Group``, allow passing a list of commands instead of a dict. :issue:`1339` - When a long option name isn't valid, use ``difflib`` to make better suggestions for possible corrections. :issue:`1446` - Core objects have a ``to_info_dict()`` method. This gathers information about the object's structure that could be useful for a tool generating user-facing documentation. To get the structure of an entire CLI, use ``Context(cli).to_info_dict()``. :issue:`461` - Redesign the shell completion system. :issue:`1484`, :pr:`1622` - Support Bash >= 4.4, Zsh, and Fish, with the ability for extensions to add support for other shells. - Allow commands, groups, parameters, and types to override their completions suggestions. - Groups complete the names commands were registered with, which can differ from the name they were created with. - The ``autocompletion`` parameter for options and arguments is renamed to ``shell_complete``. The function must take ``ctx, param, incomplete``, must do matching rather than return all values, and must return a list of strings or a list of ``CompletionItem``. The old name and behavior is deprecated and will be removed in 8.1. - The env var values used to start completion have changed order. The shell now comes first, such as ``{shell}_source`` rather than ``source_{shell}``, and is always required. - Completion correctly parses command line strings with incomplete quoting or escape sequences. :issue:`1708` - Extra context settings (``obj=...``, etc.) are passed on to the completion system. :issue:`942` - Include ``--help`` option in completion. :pr:`1504` - ``ParameterSource`` is an ``enum.Enum`` subclass. :issue:`1530` - Boolean and UUID types strip surrounding space before converting. :issue:`1605` - Adjusted error message from parameter type validation to be more consistent. Quotes are used to distinguish the invalid value. :issue:`1605` - The default value for a parameter with ``nargs`` > 1 and ``multiple=True`` must be a list of tuples. :issue:`1649` - When getting the value for a parameter, the default is tried in the same section as other sources to ensure consistent processing. :issue:`1649` - All parameter types accept a value that is already the correct type. :issue:`1649` - For shell completion, an argument is considered incomplete if its value did not come from the command line args. :issue:`1649` - Added ``ParameterSource.PROMPT`` to track parameter values that were prompted for. :issue:`1649` - Options with ``nargs`` > 1 no longer raise an error if a default is not given. Parameters with ``nargs`` > 1 default to ``None``, and parameters with ``multiple=True`` or ``nargs=-1`` default to an empty tuple. :issue:`472` - Handle empty env vars as though the option were not passed. This extends the change introduced in 7.1 to be consistent in more cases. :issue:`1285` - ``Parameter.get_default()`` checks ``Context.default_map`` to handle overrides consistently in help text, ``invoke()``, and prompts. :issue:`1548` - Add ``prompt_required`` param to ``Option``. When set to ``False``, the user will only be prompted for an input if no value was passed. :issue:`736` - Providing the value to an option can be made optional through ``is_flag=False``, and the value can instead be prompted for or passed in as a default value. :issue:`549, 736, 764, 921, 1015, 1618` - Fix formatting when ``Command.options_metavar`` is empty. :pr:`1551` - Revert adding space between option help text that wraps. :issue:`1831` - The default value passed to ``prompt`` will be cast to the correct type like an input value would be. :pr:`1517` - Automatically generated short help messages will stop at the first ending of a phrase or double linebreak. :issue:`1082` - Skip progress bar render steps for efficiency with very fast iterators by setting ``update_min_steps``. :issue:`676` - Respect ``case_sensitive=False`` when doing shell completion for ``Choice`` :issue:`1692` - Use ``mkstemp()`` instead of ``mktemp()`` in pager implementation. :issue:`1752` - If ``Option.show_default`` is a string, it is displayed even if ``default`` is ``None``. :issue:`1732` - ``click.get_terminal_size()`` is deprecated and will be removed in 8.1. Use :func:`shutil.get_terminal_size` instead. :issue:`1736` - Control the location of the temporary directory created by ``CLIRunner.isolated_filesystem`` by passing ``temp_dir``. A custom directory will not be removed automatically. :issue:`395` - ``click.confirm()`` will prompt until input is given if called with ``default=None``. :issue:`1381` - Option prompts validate the value with the option's callback in addition to its type. :issue:`457` - ``confirmation_prompt`` can be set to a custom string. :issue:`723` - Allow styled output in Jupyter on Windows. :issue:`1271` - ``style()`` supports the ``strikethrough``, ``italic``, and ``overline`` styles. :issue:`805, 1821` - Multiline marker is removed from short help text. :issue:`1597` - Restore progress bar behavior of echoing only the label if the file is not a TTY. :issue:`1138` - Progress bar output is shown even if execution time is less than 0.5 seconds. :issue:`1648` - Progress bar ``item_show_func`` shows the current item, not the previous item. :issue:`1353` - The ``Path`` param type can be passed ``path_type=pathlib.Path`` to return a path object instead of a string. :issue:`405` - ``TypeError`` is raised when parameter with ``multiple=True`` or ``nargs > 1`` has non-iterable default. :issue:`1749` - Add a ``pass_meta_key`` decorator for passing a key from ``Context.meta``. This is useful for extensions using ``meta`` to store information. :issue:`1739` - ``Path`` ``resolve_path`` resolves symlinks on Windows Python < 3.8. :issue:`1813` - Command deprecation notice appears at the start of the help text, as well as in the short help. The notice is not in all caps. :issue:`1791` - When taking arguments from ``sys.argv`` on Windows, glob patterns, user dir, and env vars are expanded. :issue:`1096` - Marked messages shown by the CLI with ``gettext()`` to allow applications to translate Click's built-in strings. :issue:`303` - Writing invalid characters to ``stderr`` when using the test runner does not raise a ``UnicodeEncodeError``. :issue:`848` - Fix an issue where ``readline`` would clear the entire ``prompt()`` line instead of only the input when pressing backspace. :issue:`665` - Add all kwargs passed to ``Context.invoke()`` to ``ctx.params``. Fixes an inconsistency when nesting ``Context.forward()`` calls. :issue:`1568` - The ``MultiCommand.resultcallback`` decorator is renamed to ``result_callback``. The old name is deprecated. :issue:`1160` - Fix issues with ``CliRunner`` output when using ``echo_stdin=True``. :issue:`1101` - Fix a bug of ``click.utils.make_default_short_help`` for which the returned string could be as long as ``max_width + 3``. :issue:`1849` - When defining a parameter, ``default`` is validated with ``multiple`` and ``nargs``. More validation is done for values being processed as well. :issue:`1806` - ``HelpFormatter.write_text`` uses the full line width when wrapping text. :issue:`1871` ``` ### 7.1.2 ``` ------------- Released 2020-04-27 - Revert applying shell quoting to commands for ``echo_with_pager`` and ``edit``. This was intended to allows spaces in commands, but caused issues if the string was actually a command and arguments, or on Windows. Instead, the string must be quoted manually as it should appear on the command line. :issue:`1514` ``` ### 7.1.1 ``` ------------- Released 2020-03-09 - Fix ``ClickException`` output going to stdout instead of stderr. :issue:`1495` ``` ### 7.1 ``` ----------- Released 2020-03-09 - Fix PyPI package name, "click" is lowercase again. - Fix link in ``unicode_literals`` error message. :pr:`1151` - Add support for colored output on UNIX Jupyter notebooks. :issue:`1185` - Operations that strip ANSI controls will strip the cursor hide/show sequences. :issue:`1216` - Remove unused compat shim for ``bytes``. :pr:`1195` - Expand testing around termui, especially getchar on Windows. :issue:`1116` - Fix output on Windows Python 2.7 built with MSVC 14. :pr:`1342` - Fix ``OSError`` when running in MSYS2. :issue:`1338` - Fix ``OSError`` when redirecting to ``NUL`` stream on Windows. :issue:`1065` - Fix memory leak when parsing Unicode arguments on Windows. :issue:`1136` - Fix error in new AppEngine environments. :issue:`1462` - Always return one of the passed choices for ``click.Choice`` :issue:`1277`, :pr:`1318` - Add ``no_args_is_help`` option to ``click.Command``, defaults to False :pr:`1167` - Add ``show_default`` parameter to ``Context`` to enable showing defaults globally. :issue:`1018` - Handle ``env MYPATH=''`` as though the option were not passed. :issue:`1196` - It is once again possible to call ``next(bar)`` on an active progress bar instance. :issue:`1125` - ``open_file`` with ``atomic=True`` retains permissions of existing files and respects the current umask for new files. :issue:`1376` - When using the test ``CliRunner`` with ``mix_stderr=False``, if ``result.stderr`` is empty it will not raise a ``ValueError``. :issue:`1193` - Remove the unused ``mix_stderr`` parameter from ``CliRunner.invoke``. :issue:`1435` - Fix ``TypeError`` raised when using bool flags and specifying ``type=bool``. :issue:`1287` - Newlines in option help text are replaced with spaces before re-wrapping to avoid uneven line breaks. :issue:`834` - ``MissingParameter`` exceptions are printable in the Python interpreter. :issue:`1139` - Fix how default values for file-type options are shown during prompts. :issue:`914` - Fix environment variable automatic generation for commands containing ``-``. :issue:`1253` - Option help text replaces newlines with spaces when rewrapping, but preserves paragraph breaks, fixing multiline formatting. :issue:`834, 1066, 1397` - Option help text that is wrapped adds an extra newline at the end to distinguish it from the next option. :issue:`1075` - Consider ``sensible-editor`` when determining the editor to use for ``click.edit()``. :pr:`1469` - Arguments to system calls such as the executable path passed to ``click.edit`` can contains spaces. :pr:`1470` - Add ZSH completion autoloading and error handling. :issue:`1348` - Add a repr to ``Command``, ``Group``, ``Option``, and ``Argument``, showing the name for friendlier debugging. :issue:`1267` - Completion doesn't consider option names if a value starts with ``-`` after the ``--`` separator. :issue:`1247` - ZSH completion escapes special characters in values. :pr:`1418` - Add completion support for Fish shell. :pr:`1423` - Decoding bytes option values falls back to UTF-8 in more cases. :pr:`1468` - Make the warning about old 2-arg parameter callbacks a deprecation warning, to be removed in 8.0. This has been a warning since Click 2.0. :pr:`1492` - Adjust error messages to standardize the types of quotes used so they match error messages from Python. ```Links
- PyPI: https://pypi.org/project/click - Changelog: https://pyup.io/changelogs/click/ - Homepage: https://palletsprojects.com/p/click/Update numpy from 1.17.1 to 1.23.4.
Changelog
### 1.23.4 ``` the 1.23.3 release and keeps the build infrastructure current. The main improvements are fixes for some annotation corner cases, a fix for a long time `nested_iters` memory leak, and a fix of complex vector dot for very large arrays. The Python versions supported for this release are 3.8-3.11. Note that the mypy version needs to be 0.981+ if you test using Python 3.10.7, otherwise the typing tests will fail. Contributors A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Bas van Beek - Charles Harris - Matthew Barber - Matti Picus - Ralf Gommers - Ross Barnowski - Sebastian Berg - Sicheng Zeng + Pull requests merged A total of 13 pull requests were merged for this release. - [22368](https://github.com/numpy/numpy/pull/22368): BUG: Add `__array_api_version__` to `numpy.array_api` namespace - [22370](https://github.com/numpy/numpy/pull/22370): MAINT: update sde toolkit to 9.0, fix download link - [22382](https://github.com/numpy/numpy/pull/22382): BLD: use macos-11 image on azure, macos-1015 is deprecated - [22383](https://github.com/numpy/numpy/pull/22383): MAINT: random: remove `get_info` from \"extending with Cython\"\... - [22384](https://github.com/numpy/numpy/pull/22384): BUG: Fix complex vector dot with more than NPY_CBLAS_CHUNK elements - [22387](https://github.com/numpy/numpy/pull/22387): REV: Loosen `lookfor`\'s import try/except again - [22388](https://github.com/numpy/numpy/pull/22388): TYP,ENH: Mark `numpy.typing` protocols as runtime checkable - [22389](https://github.com/numpy/numpy/pull/22389): TYP,MAINT: Change more overloads to play nice with pyright - [22390](https://github.com/numpy/numpy/pull/22390): TST,TYP: Bump mypy to 0.981 - [22391](https://github.com/numpy/numpy/pull/22391): DOC: Update delimiter param description. - [22392](https://github.com/numpy/numpy/pull/22392): BUG: Memory leaks in numpy.nested_iters - [22413](https://github.com/numpy/numpy/pull/22413): REL: Prepare for the NumPy 1.23.4 release. - [22424](https://github.com/numpy/numpy/pull/22424): TST: Fix failing aarch64 wheel builds. Checksums MD5 90a3d95982490cfeeef22c0f7cbd874f numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl c3cae63394db6c82fd2cb5700fc5917d numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl b3ff0878de205f56c38fd7dcab80081f numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl e2b086ca2229209f2f996c2f9a38bf9c numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 44cc8bb112ca737520cf986fff92dfb0 numpy-1.23.4-cp310-cp310-win32.whl 21c8e5fdfba2ff953e446189379cf0c9 numpy-1.23.4-cp310-cp310-win_amd64.whl 27445a9c85977cb8efa682a4b993347f numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl 11ef4b7dfdaa37604cb881f3ca4459db numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl b3c77344274f91514f728a454fd471fa numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 43aef7f984cd63d95c11fb74dd59ef0b numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 637fe21b585228c9670d6e002bf8047f numpy-1.23.4-cp311-cp311-win32.whl f529edf9b849d6e3b8cdb5120ae5b81a numpy-1.23.4-cp311-cp311-win_amd64.whl 76c61ce36317a7e509663829c6844fd9 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl 2133f6893eef41cd9331c7d0271044c4 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl 5ccb3aa6fb8cb9e20ec336e315d01dec numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl da71f34a4df0b98e4d9e17906dd57b07 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl a318978f51fb80a17c2381e39194e906 numpy-1.23.4-cp38-cp38-win32.whl eac810d6bc43830bf151ea55cd0ded93 numpy-1.23.4-cp38-cp38-win_amd64.whl 4cf0a6007abe42564c7380dbf92a26ce numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl 2e005bedf129ce8bafa6f550537f3740 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl 10aa210311fcd19a03f6c5495824a306 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 6301298a67999657a0878b64eeed09f2 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 76144e575a3c3863ea22e03cdf022d8a numpy-1.23.4-cp39-cp39-win32.whl 8291dd66ef5451b4db2da55c21535757 numpy-1.23.4-cp39-cp39-win_amd64.whl 7cc095b18690071828b5b620d5ec40e7 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 63742f15e8bfa215c893136bbfc6444f numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4ed382e55abc09c89a34db047692f6a6 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl d9ffd2c189633486ec246e61d4b947a0 numpy-1.23.4.tar.gz SHA256 95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl 926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd numpy-1.23.4-cp310-cp310-win32.whl d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 numpy-1.23.4-cp310-cp310-win_amd64.whl 488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl 8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 numpy-1.23.4-cp311-cp311-win32.whl 7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d numpy-1.23.4-cp311-cp311-win_amd64.whl 7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl 8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba numpy-1.23.4-cp38-cp38-win32.whl 0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 numpy-1.23.4-cp38-cp38-win_amd64.whl c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl 12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef numpy-1.23.4-cp39-cp39-win32.whl f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e numpy-1.23.4-cp39-cp39-win_amd64.whl 61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c numpy-1.23.4.tar.gz ``` ### 1.23.3 ``` the 1.23.2 release. There is no major theme for this release, the main improvements are for some downstream builds and some annotation corner cases. The Python versions supported for this release are 3.8-3.11. Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the ``` ### 1.23.2 ``` the 1.23.1 release. Notable features are: - Typing changes needed for Python 3.11 - Wheels for Python 3.11.0rc1 The Python versions supported for this release are 3.8-3.11. Contributors A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Alexander Grund + - Bas van Beek - Charles Harris - Jon Cusick + - Matti Picus - Michael Osthege + - Pal Barta + - Ross Barnowski - Sebastian Berg Pull requests merged A total of 15 pull requests were merged for this release. - [22030](https://github.com/numpy/numpy/pull/22030): ENH: Add `__array_ufunc__` typing support to the `nin=1` ufuncs - [22031](https://github.com/numpy/numpy/pull/22031): MAINT, TYP: Fix `np.angle` dtype-overloads - [22032](https://github.com/numpy/numpy/pull/22032): MAINT: Do not let `_GenericAlias` wrap the underlying classes\'\... - [22033](https://github.com/numpy/numpy/pull/22033): TYP,MAINT: Allow `einsum` subscripts to be passed via integer\... - [22034](https://github.com/numpy/numpy/pull/22034): MAINT,TYP: Add object-overloads for the `np.generic` rich comparisons - [22035](https://github.com/numpy/numpy/pull/22035): MAINT,TYP: Allow the `squeeze` and `transpose` method to\... - [22036](https://github.com/numpy/numpy/pull/22036): BUG: Fix subarray to object cast ownership details - [22037](https://github.com/numpy/numpy/pull/22037): BUG: Use `Popen` to silently invoke f77 -v - [22038](https://github.com/numpy/numpy/pull/22038): BUG: Avoid errors on NULL during deepcopy - [22039](https://github.com/numpy/numpy/pull/22039): DOC: Add versionchanged for converter callable behavior. - [22057](https://github.com/numpy/numpy/pull/22057): MAINT: Quiet the anaconda uploads. - [22078](https://github.com/numpy/numpy/pull/22078): ENH: reorder includes for testing on top of system installations\... - [22106](https://github.com/numpy/numpy/pull/22106): TST: fix test_linear_interpolation_formula_symmetric - [22107](https://github.com/numpy/numpy/pull/22107): BUG: Fix skip condition for test_loss_of_precision\[complex256\] - [22115](https://github.com/numpy/numpy/pull/22115): BLD: Build python3.11.0rc1 wheels. Checksums MD5 fe1e3480ea8c417c8f7b05f543c1448d numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl 0ab14b1afd0a55a374ca69b3b39cab3c numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl df059e5405bfe75c0ac77b01abbdb237 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 4ed412c4c078e96edf11ca3b11eef76b numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0caad53d9a5e3c5e8cd29f19a9f0c014 numpy-1.23.2-cp310-cp310-win32.whl 01e508b8b4f591daff128da1cfde8e1f numpy-1.23.2-cp310-cp310-win_amd64.whl 8ecdb7e2a87255878b748550d91cfbe0 numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl e3004aae46cec9e234f78eaf473272e0 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl ec23c73caf581867d5ca9255b802f144 numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9b8389f528fe113247954248f0b78ce1 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl a54b136daa2fbb483909f08eecbfa3c5 numpy-1.23.2-cp311-cp311-win32.whl ead32e141857c5ef33b1a6cd88aefc0f numpy-1.23.2-cp311-cp311-win_amd64.whl df1f18e52d0a2840d101fdc9c2c6af84 numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl 04c986880bb24fac2f44face75eab914 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl edeba58edb214390112810f7ead903a8 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl c26ea699d94d7f1009c976c66cc4def3 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c246a78b09f8893d998d449dcab0fac3 numpy-1.23.2-cp38-cp38-win32.whl b5c5a2f961402259e301c49b8b05de55 numpy-1.23.2-cp38-cp38-win_amd64.whl d156dfae94d33eeff7fb9c6e5187e049 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl 7f2ad7867c577eab925a31de76486765 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl 76262a8e5d7a4d945446467467300a10 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8ee105f4574d61a2d494418b55f63fcb numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2b7c79cae66023f8e716150223201981 numpy-1.23.2-cp39-cp39-win32.whl d7af57dd070ccb165f3893412eb602e3 numpy-1.23.2-cp39-cp39-win_amd64.whl 355a231dbd87a0f2125cc23eb8f97075 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 4ab13c35056f67981d03f9ceec41db42 numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3a6f1e1256ee9be10d8cdf6be578fe52 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl 9bf2a361509797de14ceee607387fe0f numpy-1.23.2.tar.gz SHA256 e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5 numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl 633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8 numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl 17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5 numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450 numpy-1.23.2-cp310-cp310-win32.whl 8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414 numpy-1.23.2-cp310-cp310-win_amd64.whl dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl 5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722 numpy-1.23.2-cp311-cp311-win32.whl 8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e numpy-1.23.2-cp311-cp311-win_amd64.whl 909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl 8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d numpy-1.23.2-cp38-cp38-win32.whl dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d numpy-1.23.2-cp38-cp38-win_amd64.whl 4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl 806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl 8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77 numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c numpy-1.23.2-cp39-cp39-win32.whl 5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913 numpy-1.23.2-cp39-cp39-win_amd64.whl 806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01 numpy-1.23.2.tar.gz ``` ### 1.23.1 ``` The NumPy 1.23.1 is a maintenance release that fixes bugs discovered after the 1.23.0 release. Notable fixes are: - Fix searchsorted for float16 NaNs - Fix compilation on Apple M1 - Fix KeyError in crackfortran operator support (Slycot) The Python version supported for this release are 3.8-3.10. Contributors A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Charles Harris - Matthias Koeppe + - Pranab Das + - Rohit Goswami - Sebastian Berg - Serge Guelton - Srimukh Sripada + Pull requests merged A total of 8 pull requests were merged for this release. - [21866](https://github.com/numpy/numpy/pull/21866): BUG: Fix discovered MachAr (still used within valgrind) - [21867](https://github.com/numpy/numpy/pull/21867): BUG: Handle NaNs correctly for float16 during sorting - [21868](https://github.com/numpy/numpy/pull/21868): BUG: Use `keepdims` during normalization in `np.average` and\... - [21869](https://github.com/numpy/numpy/pull/21869): DOC: mention changes to `max_rows` behaviour in `np.loadtxt` - [21870](https://github.com/numpy/numpy/pull/21870): BUG: Reject non integer array-likes with size 1 in delete - [21949](https://github.com/numpy/numpy/pull/21949): BLD: Make can_link_svml return False for 32bit builds on x86_64 - [21951](https://github.com/numpy/numpy/pull/21951): BUG: Reorder extern \"C\" to only apply to function declarations\... - [21952](https://github.com/numpy/numpy/pull/21952): BUG: Fix KeyError in crackfortran operator support Checksums MD5 79f0d8c114f282b834b49209d6955f98 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl 42a89a88ef26b768e8933ce46b1cc2bd numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl 1c1d68b3483eaf99b9a3583c8ac8bf47 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9d3e9f7f9b3dce6cf15209e4f25f346e numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl a9afb7c34b48d08fc50427ae6516b42d numpy-1.23.1-cp310-cp310-win32.whl a0e02823883bdfcec49309e108f65e13 numpy-1.23.1-cp310-cp310-win_amd64.whl f40cdf4ec7bb0cf31a90a4fa294323c2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl 80115a959f0fe30d6c401b2650a61c70 numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl 1cf199b3a93960c4f269853a56a8d8eb numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl aa6f0f192312c79cd770c2c395e9982a numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl d07bee0ea3142a96cb5e4e16aca273ca numpy-1.23.1-cp38-cp38-win32.whl 02d0734ae8ad5e18a40c6c6de18486a0 numpy-1.23.1-cp38-cp38-win_amd64.whl e1ca14acd7d83bc74bdf6ab0bb4bd195 numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl c9152c62b2f31e742e24bfdc97b28666 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl 05b0b37c92f7a7e7c01afac0a5322b40 numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d9810bb71a0ef9837e87ea5c44fcab5e numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4255577f857e838f7a94e3a614ddc5eb numpy-1.23.1-cp39-cp39-win32.whl 787486e3cd87b98024ffe1c969c4db7a numpy-1.23.1-cp39-cp39-win_amd64.whl 5c7b2d1471b1b9ec6ff1cb3fe1f8ac14 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 40d5b2ff869707b0d97325ce44631135 numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 44ce1e07927cc09415df9898857792da numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl 4f8636a9c1a77ca0fb923ba55378891f numpy-1.23.1.tar.gz SHA256 b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl 9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5 numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953 numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447 numpy-1.23.1-cp310-cp310-win32.whl 1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622 numpy-1.23.1-cp310-cp310-win_amd64.whl aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl 7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl 68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641 numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7 numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e numpy-1.23.1-cp38-cp38-win32.whl 37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645 numpy-1.23.1-cp38-cp38-win_amd64.whl 173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl 876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl 35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c numpy-1.23.1-cp39-cp39-win32.whl 37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9 numpy-1.23.1-cp39-cp39-win_amd64.whl 8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148 numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624 numpy-1.23.1.tar.gz ``` ### 1.23.0 ``` The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are: - Implementation of `loadtxt` in C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange. - Changes to the promotion and comparisons of structured dtypes. - Improvements to f2py. See below for the details, New functions - A masked array specialization of `ndenumerate` is now available as `numpy.ma.ndenumerate`. It provides an alternative to `numpy.ndenumerate` and skips masked values by default. ([gh-20020](https://github.com/numpy/numpy/pull/20020)) - `numpy.from_dlpack` has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the `__dlpack__` and `__dlpack_device__` methods and returns a ndarray object which is generally the view of the data of the input object. ([gh-21145](https://github.com/numpy/numpy/pull/21145)) Deprecations - Setting `__array_finalize__` to `None` is deprecated. It must now be a method and may wish to call `super().__array_finalize__(obj)` after checking for `None` or if the NumPy version is sufficiently new. ([gh-20766](https://github.com/numpy/numpy/pull/20766)) - Using `axis=32` (`axis=np.MAXDIMS`) in many cases had the same meaning as `axis=None`. This is deprecated and `axis=None` must be used instead. ([gh-20920](https://github.com/numpy/numpy/pull/20920)) - The hook function `PyDataMem_SetEventHook` has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python via `tracemalloc`. ([gh-20394](https://github.com/numpy/numpy/pull/20394)) - `numpy.distutils` has been deprecated, as a result of `distutils` itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, see `distutils-status-migration`{.interpreted-text role="ref"}. ([gh-20875](https://github.com/numpy/numpy/pull/20875)) Expired deprecations - The `NpzFile.iteritems()` and `NpzFile.iterkeys()` methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15. ([gh-16830](https://github.com/numpy/numpy/pull/16830)) - The `alen` and `asscalar` functions have been removed. ([gh-20414](https://github.com/numpy/numpy/pull/20414)) - The `UPDATEIFCOPY` array flag has been removed together with the enum `NPY_ARRAY_UPDATEIFCOPY`. The associated (and deprecated) `PyArray_XDECREF_ERR` was also removed. These were all deprecated in 1.14. They are replaced by `WRITEBACKIFCOPY`, that requires calling `PyArray_ResoveWritebackIfCopy` before the array is deallocated. ([gh-20589](https://github.com/numpy/numpy/pull/20589)) - Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes `__array__` or `__array_interface__`, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised. ([gh-20835](https://github.com/numpy/numpy/pull/20835)) - Multidimensional indexing with non-tuple values is not allowed. Previously, code such as `arr[ind]` where `ind = [[0, 1], [0, 1]]` produced a `FutureWarning` and was interpreted as a multidimensional index (i.e., `arr[tuple(ind)]`). Now this example is treated like an array index over a single dimension (`arr[array(ind)]`). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15. ([gh-21029](https://github.com/numpy/numpy/pull/21029)) - Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change. ([gh-20722](https://github.com/numpy/numpy/pull/20722)) New Features crackfortran has support for operator and assignment overloading `crackfortran` parser now understands operator and assignment definitions in a module. They are added in the `body` list of the module which contains a new key `implementedby` listing the names of the subroutines or functions implementing the operator or assignment. ([gh-15006](https://github.com/numpy/numpy/pull/15006)) f2py supports reading access type attributes from derived type statements As a result, one does not need to use `public` or `private` statements to specify derived type access properties. ([gh-15844](https://github.com/numpy/numpy/pull/15844)) New parameter `ndmin` added to `genfromtxt` This parameter behaves the same as `ndmin` from `numpy.loadtxt`. ([gh-20500](https://github.com/numpy/numpy/pull/20500)) `np.loadtxt` now supports quote character and single converter function `numpy.loadtxt` now supports an additional `quotechar` keyword argument which is not set by default. Using `quotechar='"'` will read quoted fields as used by the Excel CSV dialect. Further, it is now possible to pass a single callable rather than a dictionary for the `converters` argument. ([gh-20580](https://github.com/numpy/numpy/pull/20580)) Changing to dtype of a different size now requires contiguity of only the last axis Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype. This change affects not only `ndarray.view`, but other construction mechanisms, including the discouraged direct assignment to `ndarray.dtype`. This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes. ([gh-20722](https://github.com/numpy/numpy/pull/20722)) Deterministic output files for F2PY For F77 inputs, `f2py` will generate `modname-f2pywrappers.f` unconditionally, though these may be empty. For free-form inputs, `modname-f2pywrappers.f`, `modname-f2pywrappers2.f90` will both be generated unconditionally, and may be empty. This allows writing generic output rules in `cmake` or `meson` and other build systems. Older behavior can be restored by passing `--skip-empty-wrappers` to `f2py`. `f2py-meson`{.interpreted-text role="ref"} details usage. ([gh-21187](https://github.com/numpy/numpy/pull/21187)) `keepdims` parameter for `average` The parameter `keepdims` was added to the functions `numpy.average` and `numpy.ma.average`. The parameter has the same meaning as it does in reduction functions such as `numpy.sum` or `numpy.mean`. ([gh-21485](https://github.com/numpy/numpy/pull/21485)) Compatibility notes 1D `np.linalg.norm` preserves float input types, even for scalar results Previously, this would promote to `float64` when the `ord` argument was not one of the explicitly listed values, e.g. `ord=3`: >>> f32 = np.float32([1, 2]) >>> np.linalg.norm(f32, 2).dtype dtype('float32') >>> np.linalg.norm(f32, 3) dtype('float64') numpy 1.22 dtype('float32') numpy 1.23 This change affects only `float32` and `float16` vectors with `ord` other than `-Inf`, `0`, `1`, `2`, and `Inf`. ([gh-17709](https://github.com/numpy/numpy/pull/17709)) Changes to structured (void) dtype promotion and comparisons In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception: >>> np.result_type(np.dtype("i,i"), np.dtype("i,d")) dtype([('f0', '<i4'), ('f1', '<f8')]) For promotion matching field names, order, and titles are enforced, however padding is ignored. Promotion involving structured dtypes now always ensures native byte-order for all fields (which may change the result of `np.concatenate`) and ensures that the result will be \"packed\", i.e. all fields are ordered contiguously and padding is removed. See `structured_dtype_comparison_and_promotion`{.interpreted-text role="ref"} for further details. The `repr` of aligned structures will now never print the long form including `offsets` and `itemsize` unless the structure includes padding not guaranteed by `align=True`. In alignment with the above changes to the promotion logic, the casting safety has been updated: - `"equiv"` enforces matching names and titles. The itemsize is allowed to differ due to padding. - `"safe"` allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field. - The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched. The main important change here is that name mismatches are now considered \"safe\" casts. ([gh-19226](https://github.com/numpy/numpy/pull/19226)) `NPY_RELAXED_STRIDES_CHECKING` has been removed NumPy cannot be compiled with `NPY_RELAXED_STRIDES_CHECKING=0` anymore. Relaxed strides have been the default for many years and the option was initially introduced to allow a smoother transition. ([gh-20220](https://github.com/numpy/numpy/pull/20220)) `np.loadtxt` has recieved several changes The row counting of `numpy.loadtxt` was fixed. `loadtxt` ignores fully empty lines in the file, but counted them towards `max_rows`. When `max_rows` is used and the file contains empty lines, these will now not be counted. Previously, it was possible that the result contained fewer than `max_rows` rows even though more data was available to be read. If the old behaviour is required, `itertools.islice` may be used: import itertools lines = itertools.islice(open("file"), 0, max_rows) result = np.loadtxt(lines, ...) While generally much faster and improved, `numpy.loadtxt` may now fail to converter certain strings to numbers that were previously successfully read. The most important cases for this are: - Parsing floating point values such as `1.0` into integers will now fail - Parsing hexadecimal floats such as `0x3p3` will fail - An `_` was previously accepted as a thousands delimiter `100_000`. This will now result in an error. If you experience these limitations, they can all be worked around by passing appropriate `converters=`. NumPy now supports passing a single converter to be used for all columns to make this more convenient. For example, `converters=float.fromhex` can read hexadecimal float numbers and `converters=int` will be able to read `100_000`. Further, the error messages have been generally improved. However, this means that error types may differ. In particularly, a `ValueError` is now always raised when parsing of a single entry fails. ([gh-20580](https://github.com/numpy/numpy/pull/20580)) Improvements `ndarray.__array_finalize__` is now callable This means subclasses can now use `super().__array_finalize__(obj)` without worrying whether `ndarray` is their superclass or not. The actual call remains a no-op. ([gh-20766](https://github.com/numpy/numpy/pull/20766)) Add support for VSX4/Power10 With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc. ([gh-20821](https://github.com/numpy/numpy/pull/20821)) `np.fromiter` now accepts objects and subarrays The `numpy.fromiter` function now supports object and subarray dtypes. Please see he function documentation for examples. ([gh-20993](https://github.com/numpy/numpy/pull/20993)) Math C library feature detection now uses correct signatures Compiling is preceded by a detection phase to determine whether the underlying libc supports certain math operations. Previously this code did not respect the proper signatures. Fixing this enables compilation for the `wasm-ld` backend (compilation for web assembly) and reduces the number of warnings. ([gh-21154](https://github.com/numpy/numpy/pull/21154)) `np.kron` now maintains subclass information `np.kron` maintains subclass information now such as masked arrays while computing the Kronecker product of the inputs python >>> x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) >>> np.kron(x,x) masked_array( data=[[1, --, --, --], [--, 4, --, --], [--, --, 4, --], [--, --, --, 16]], mask=[[False, True, True, True], [ True, False, True, True], [ True, True, False, True], [ True, True, True, False]], fill_value=999999) :warning: Warning, `np.kron` output now follows `ufunc` ordering (`multiply`) to determine the output class type python >>> class myarr(np.ndarray): >>> __array_priority__ = -1 >>> a = np.ones([2, 2]) >>> ma = myarray(a.shape, a.dtype, a.data) >>> type(np.kron(a, ma)) == np.ndarray False Before it was True >>> type(np.kron(a, ma)) == myarr True ([gh-21262](https://github.com/numpy/numpy/pull/21262)) Performance improvements and changes Faster `np.loadtxt` `numpy.loadtxt` is now generally much faster than previously as most of it is now implemented in C. ([gh-20580](https://github.com/numpy/numpy/pull/20580)) Faster reduction operators Reduction operations like `numpy.sum`, `numpy.prod`, `numpy.add.reduce`, `numpy.logical_and.reduce` on contiguous integer-based arrays are now much faster. ([gh-21001](https://github.com/numpy/numpy/pull/21001)) Faster `np.where` `numpy.where` is now much faster than previously on unpredictable/random input data. ([gh-21130](https://github.com/numpy/numpy/pull/21130)) Faster operations on NumPy scalars Many operations on NumPy scalars are now significantly faster, although rare operations (e.g. with 0-D arrays rather than scalars) may be slower in some cases. However, even with these improvements users who want the best performance for their scalars, may want to convert a known NumPy scalar into a Python one using `scalar.item()`. ([gh-21188](https://github.com/numpy/numpy/pull/21188)) Faster `np.kron` `numpy.kron` is about 80% faster as the product is now computed using broadcasting. ([gh-21354](https://github.com/numpy/numpy/pull/21354)) Checksums MD5 c67b4cc1de8a0753bc65765a508aa0e3 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 9daceb162c46298986b5fceb13f10e54 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl ac07046b70001710d8d3243d9b5d0389 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 14269d197cd6aac02655d43aa10ba108 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl ba5fc5cd776549afc353e0043f6c6f5a numpy-1.23.0rc1-cp310-cp310-win32.whl 0e1b00f156f32aabde1e29607c709a24 numpy-1.23.0rc1-cp310-cp310-win_amd64.whl 34b5a9f3abeb9f6e9c6fbd494305d53d numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl bb825cf372822daad1e440577e324042 numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl 45296e6b41691c4265c90562c94254aa numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl b10b131e5c0576629ab99829301d6fba numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl bc6210254087b73715d8c6a79dafa3b8 numpy-1.23.0rc1-cp38-cp38-win32.whl d9b7fb5a539a738309a717051f13e41a numpy-1.23.0rc1-cp38-cp38-win_amd64.whl d2cec33489c96dfc489bb00353d351fe numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl e4982f3bf3d4acab67cb61d3d0e2f85b numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl 781a79ea9f1683a579a1ef27d809a8e0 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8c03ea50c2baa172e8252d10dea73498 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 61829dec0785cf72b8f5bc92dc44d828 numpy-1.23.0rc1-cp39-cp39-win32.whl 94c7c971ed5eedb1b61a09bcfc123617 numpy-1.23.0rc1-cp39-cp39-win_amd64.whl b5c6f674b468e7fc513882563391efec numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 41ab4b757478c8e244018c37bcb52bb3 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f2082734772a6a7afbe3568e7b2ad458 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl faf6a08cda5696b96acb670c433495e5 numpy-1.23.0rc1.tar.gz SHA256 a72607e12891615a314a892f8d21301b930f211841f0084d269baa1eb31710b4 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 4784a81089c75a941dcc013b09290dfb22768780a1f3525667328d09a3338116 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl d4ebdeb0e2a57bbd28c3258a562ee011775127427eea833613744af1a66c3e11 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a2dfb54cb1c6470918a3c02da77706f28977cb7eac4b76cc40b14942c8634615 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 1567c488f9ef97341c5937b4140a45ac37e0592c43ba2c59d3e49ff7d5da90b0 numpy-1.23.0rc1-cp310-cp310-win32.whl 78df1fc2ddf543508b5358dd24ac68ee693599e5df0d136062b9ec21ba7643cf numpy-1.23.0rc1-cp310-cp310-win_amd64.whl 020c6d8476fced48f42629f46996af8a07bc725cb821081205c4422eacaa2283 numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl efd26eecd1ada0c8dadc5b221c52086ccc72e4cb0707e451889ef3b62c14163c numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl 8cf3f61984777a830eef452d8b04338795691949214e6cafc46c5236900cd1f5 numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 96738ae39db010