Update asttokens from 2.1.0 to 2.2.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/asttokens
- Repo: https://github.com/gristlabs/asttokens
Update attrs from 22.1.0 to 22.2.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/attrs
- Homepage: https://www.attrs.org/
Update black from 22.10.0 to 22.12.0.
Changelog
22.12.0
Preview style
<!-- Changes that affect Black's preview style -->
- Enforce empty lines before classes and functions with sticky leading comments (3302)
- Reformat empty and whitespace-only files as either an empty file (if no newline is
present) or as a single newline character (if a newline is present) (3348)
- Implicitly concatenated strings used as function args are now wrapped inside
parentheses (3307)
- For assignment statements, prefer splitting the right hand side if the left hand side
fits on a single line (3368)
- Correctly handle trailing commas that are inside a line's leading non-nested parens
(3370)
Configuration
<!-- Changes to how Black can be configured -->
- Fix incorrectly applied `.gitignore` rules by considering the `.gitignore` location
and the relative path to the target file (3338)
- Fix incorrectly ignoring `.gitignore` presence when more than one source directory is
specified (3336)
Parser
<!-- Changes to the parser or to version autodetection -->
- Parsing support has been added for walruses inside generator expression that are
passed as function args (for example,
`any(match := my_re.match(text) for text in texts)`) (3327).
Integrations
<!-- For example, Docker, GitHub Actions, pre-commit, editors -->
- Vim plugin: Optionally allow using the system installation of Black via
`let g:black_use_virtualenv = 0`(3309)
Links
- PyPI: https://pypi.org/project/black
- Changelog: https://pyup.io/changelogs/black/
Update certifi from 2022.9.24 to 2022.12.7.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/certifi
- Repo: https://github.com/certifi/python-certifi
Update chardet from 5.0.0 to 5.1.0.
Changelog
5.1.0
Features
- Add `should_rename_legacy` argument to most functions, which will rename older encodings to their more modern equivalents (e.g., `GB2312` becomes `GB18030`) (264, dan-blanchard)
- Add capital letter sharp S and ISO-8859-15 support (222, SimonWaldherr)
- Add a prober for MacRoman encoding (5 updated as c292b52a97e57c95429ef559af36845019b88b33, Rob Speer and dan-blanchard )
- Add `--minimal` flag to `chardetect` command (214, dan-blanchard)
- Add type annotations to the project and run mypy on CI (261, jdufresne)
- Add support for Python 3.11 (274, hugovk)
Fixes
- Clarify LGPL version in License trove classifier (255, musicinmybrain)
- Remove support for EOL Python 3.6 (260, jdufresne)
- Remove unnecessary guards for non-falsey values (259, jdufresne)
Misc changes
- Switch to Python 3.10 release in GitHub actions (257, jdufresne)
- Remove setup.py in favor of build package (262, jdufresne)
- Run tests on macos, Windows, and 3.11-dev (267, dan-blanchard)
Links
- PyPI: https://pypi.org/project/chardet
- Changelog: https://pyup.io/changelogs/chardet/
- Repo: https://github.com/chardet/chardet
Update coverage from 6.5.0 to 7.0.1.
Changelog
7.0.1
--------------------------
- When checking if a file mapping resolved to a file that exists, we weren't
considering files in .whl files. This is now fixed, closing `issue 1511`_.
- File pattern rules were too strict, forbidding plus signs and curly braces in
directory and file names. This is now fixed, closing `issue 1513`_.
- Unusual Unicode or control characters in source files could prevent
reporting. This is now fixed, closing `issue 1512`_.
- The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing `issue 1510`_.
.. _issue 1510: https://github.com/nedbat/coveragepy/issues/1510
.. _issue 1511: https://github.com/nedbat/coveragepy/issues/1511
.. _issue 1512: https://github.com/nedbat/coveragepy/issues/1512
.. _issue 1513: https://github.com/nedbat/coveragepy/issues/1513
.. _changes_7-0-0:
7.0.0
--------------------------
Nothing new beyond 7.0.0b1.
.. _changes_7-0-0b1:
7.0.0b1
<changes_7-0-0b1_>`_.)
- Changes to file pattern matching, which might require updating your
configuration:
- Previously, ``*`` would incorrectly match directory separators, making
precise matching difficult. This is now fixed, closing `issue 1407`_.
- Now ``**`` matches any number of nested directories, including none.
- Improvements to combining data files when using the
:ref:`config_run_relative_files` setting:
- During ``coverage combine``, relative file paths are implicitly combined
without needing a ``[paths]`` configuration setting. This also fixed
`issue 991`_.
- A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
relative file paths can be combined more easily.
- The setting is properly interpreted in more places, fixing `issue 1280`_.
- Fixed environment variable expansion in pyproject.toml files. It was overly
broad, causing errors outside of coverage.py settings, as described in `issue
1481`_ and `issue 1345`_. This is now fixed, but in rare cases will require
changing your pyproject.toml to quote non-string values that use environment
substitution.
- Fixed internal logic that prevented coverage.py from running on
implementations other than CPython or PyPy (`issue 1474`_).
.. _issue 991: https://github.com/nedbat/coveragepy/issues/991
.. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
.. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
.. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
.. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
.. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
.. _changes_6-5-0:
6.6.0
- Changes to file pattern matching, which might require updating your
configuration:
- Previously, ``*`` would incorrectly match directory separators, making
precise matching difficult. This is now fixed, closing `issue 1407`_.
- Now ``**`` matches any number of nested directories, including none.
- Improvements to combining data files when using the
:ref:`config_run_relative_files` setting, which might require updating your
configuration:
- During ``coverage combine``, relative file paths are implicitly combined
without needing a ``[paths]`` configuration setting. This also fixed
`issue 991`_.
- A ``[paths]`` setting like ``*/foo`` will now match ``foo/bar.py`` so that
relative file paths can be combined more easily.
- The :ref:`config_run_relative_files` setting is properly interpreted in
more places, fixing `issue 1280`_.
- When remapping file paths with ``[paths]``, a path will be remapped only if
the resulting path exists. The documentation has long said the prefix had to
exist, but it was never enforced. This fixes `issue 608`_, improves `issue
649`_, and closes `issue 757`_.
- Reporting operations now implicitly use the ``[paths]`` setting to remap file
paths within a single data file. Combining multiple files still requires the
``coverage combine`` step, but this simplifies some single-file situations.
Closes `issue 1212`_ and `issue 713`_.
- The ``coverage report`` command now has a ``--format=`` option. The original
style is now ``--format=text``, and is the default.
- Using ``--format=markdown`` will write the table in Markdown format, thanks
to `Steve Oswald <pull 1479_>`_, closing `issue 1418`_.
- Using ``--format=total`` will write a single total number to the
output. This can be useful for making badges or writing status updates.
- Combining data files with ``coverage combine`` now hashes the data files to
skip files that add no new information. This can reduce the time needed.
Many details affect the speed-up, but for coverage.py's own test suite,
combining is about 40% faster. Closes `issue 1483`_.
- When searching for completely un-executed files, coverage.py uses the
presence of ``__init__.py`` files to determine which directories have source
that could have been imported. However, `implicit namespace packages`_ don't
require ``__init__.py``. A new setting ``[report]
include_namespace_packages`` tells coverage.py to consider these directories
during reporting. Thanks to `Felix Horvat <pull 1387_>`_ for the
contribution. Closes `issue 1383`_ and `issue 1024`_.
- Fixed environment variable expansion in pyproject.toml files. It was overly
broad, causing errors outside of coverage.py settings, as described in `issue
1481`_ and `issue 1345`_. This is now fixed, but in rare cases will require
changing your pyproject.toml to quote non-string values that use environment
substitution.
- An empty file has a coverage total of 100%, but used to fail with
``--fail-under``. This has been fixed, closing `issue 1470`_.
- The text report table no longer writes out two separator lines if there are
no files listed in the table. One is plenty.
- Fixed a mis-measurement of a strange use of wildcard alternatives in
match/case statements, closing `issue 1421`_.
- Fixed internal logic that prevented coverage.py from running on
implementations other than CPython or PyPy (`issue 1474`_).
- The deprecated ``[run] note`` setting has been completely removed.
.. _implicit namespace packages: https://peps.python.org/pep-0420/
.. _issue 608: https://github.com/nedbat/coveragepy/issues/608
.. _issue 649: https://github.com/nedbat/coveragepy/issues/649
.. _issue 713: https://github.com/nedbat/coveragepy/issues/713
.. _issue 757: https://github.com/nedbat/coveragepy/issues/757
.. _issue 991: https://github.com/nedbat/coveragepy/issues/991
.. _issue 1024: https://github.com/nedbat/coveragepy/issues/1024
.. _issue 1212: https://github.com/nedbat/coveragepy/issues/1212
.. _issue 1280: https://github.com/nedbat/coveragepy/issues/1280
.. _issue 1345: https://github.com/nedbat/coveragepy/issues/1345
.. _issue 1383: https://github.com/nedbat/coveragepy/issues/1383
.. _issue 1407: https://github.com/nedbat/coveragepy/issues/1407
.. _issue 1418: https://github.com/nedbat/coveragepy/issues/1418
.. _issue 1421: https://github.com/nedbat/coveragepy/issues/1421
.. _issue 1470: https://github.com/nedbat/coveragepy/issues/1470
.. _issue 1474: https://github.com/nedbat/coveragepy/issues/1474
.. _issue 1481: https://github.com/nedbat/coveragepy/issues/1481
.. _issue 1483: https://github.com/nedbat/coveragepy/issues/1483
.. _pull 1387: https://github.com/nedbat/coveragepy/pull/1387
.. _pull 1479: https://github.com/nedbat/coveragepy/pull/1479
.. _changes_6-6-0b1:
6.6.0b1
----------------------------
Links
- PyPI: https://pypi.org/project/coverage
- Changelog: https://pyup.io/changelogs/coverage/
- Repo: https://github.com/nedbat/coveragepy
Update debugpy from 1.6.3 to 1.6.4.
Changelog
1.6.4
Fixes: 985, 1003, 1005, 1018, 1024, 1025, 1030, 1031, 1042, 1064, 1081, 1100, 1104, 1111, 1126
Improvements: 532, 989, 1022, 1056, 1099
Links
- PyPI: https://pypi.org/project/debugpy
- Changelog: https://pyup.io/changelogs/debugpy/
- Homepage: https://aka.ms/debugpy
Update filelock from 3.8.0 to 3.8.2.
Changelog
3.8.1
-------------------
- Fix mypy does not accept ``filelock.FileLock`` as a valid type
Links
- PyPI: https://pypi.org/project/filelock
- Changelog: https://pyup.io/changelogs/filelock/
- Repo: https://github.com/tox-dev/py-filelock/archive/main.zip
Update fire from 0.4.0 to 0.5.0.
Changelog
0.5.0
Changelist
* Support for custom serializers with fire.Fire(serializer=your_serializer) 345
* Auto-generated help text now shows short arguments (e.g. -a) when appropriate 318
* Documentation improvements (334, 399, 372, 383, 387)
* Default values are now shown in help for kwonly arguments 414
* Completion script fix where previously completions might not show at all 336
Highlighted change: `fire.Fire(serialize=custom_serialize_fn)` 345
You can now pass a custom serialization function to fire to control how the output is serialized.
Your serialize function should accept an object as input, and may return a string as output. If it returns a string, Fire will display that string. If it returns None, Fire will display nothing. If it returns something else, Fire will use the default serialization method to convert it to text.
The default serialization remains unchanged from previous versions. Primitives and collections of primitives are serialized one item per line. Objects that define a custom `__str__` function are serialized using that. Complex objects that don't define `__str__` trigger their help screen rather than being serialized and displayed.
Links
- PyPI: https://pypi.org/project/fire
- Changelog: https://pyup.io/changelogs/fire/
- Repo: https://github.com/google/python-fire
Update hypothesis from 6.58.1 to 6.61.0.
Changelog
6.61.0
-------------------
This release improves our treatment of database keys, which based on (among other things)
the source code of your test function. We now post-process this source to ignore
decorators, comments, trailing whitespace, and blank lines - so that you can add
:obj:`example() <hypothesis.example>`\ s or make some small no-op edits to your code
without preventing replay of any known failing or covering examples.
6.60.1
-------------------
This patch updates our vendored `list of top-level domains <https://www.iana.org/domains/root/db>`__,
which is used by the provisional :func:`~hypothesis.provisional.domains` strategy.
6.60.0
-------------------
This release improves Hypothesis' ability to resolve forward references in
type annotations. It fixes a bug that prevented
:func:`~hypothesis.strategies.builds` from being used with `pydantic models that
possess updated forward references <https://pydantic-docs.helpmanual.io/usage/postponed_annotations/>`__. See :issue:`3519`.
6.59.0
-------------------
The :obj:`example(...) <hypothesis.example>` decorator now has a ``.via()``
method, which future tools will use to track automatically-added covering
examples (:issue:`3506`).
6.58.2
-------------------
This patch updates our vendored `list of top-level domains <https://www.iana.org/domains/root/db>`__,
which is used by the provisional :func:`~hypothesis.provisional.domains` strategy.
Links
- PyPI: https://pypi.org/project/hypothesis
- Changelog: https://pyup.io/changelogs/hypothesis/
- Homepage: https://hypothesis.works
Update identify from 2.5.9 to 2.5.11.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/identify
- Repo: https://github.com/pre-commit/identify
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/importlib-metadata
- Changelog: https://pyup.io/changelogs/importlib-metadata/
- Repo: https://github.com/python/importlib_metadata
Update isort from 5.10.1 to 5.11.4.
Changelog
5.11.4
- Fixed 2038 (again): stop installing documentation files to top-level site-packages (2057) mgorny
- CI: only run release workflows for upstream (2052) hugovk
- Tests: remove obsolete toml import from the test suite (1978) mgorny
- CI: bump Poetry 1.3.1 (2058) staticdev
5.11.3
- Fixed 2007: settings for py3.11 (2040) staticdev
- Fixed 2038: packaging pypoetry (2042) staticdev
- Docs: renable portray (2043) timothycrosley
- Ci: add minimum GitHub token permissions for workflows (1969) varunsh-coder
- Ci: general CI improvements (2041) staticdev
- Ci: add release workflow (2026) staticdev
5.11.2
- Hotfix 2034: isort --version is not accurate on 5.11.x releases (2034) gschaffner
5.11.1
- Hotfix 2031: only call `colorama.init` if `colorama` is available (2032) tomaarsen
5.11.0
- Added official support for Python 3.11 (1996, 2008, 2011) staticdev
- Dropped support for Python 3.6 (2019) barrelful
- Fixed problematic tests (2021, 2022) staticdev
- Fixed 1960: Rich compatibility (1961) ofek
- Fixed 1945, 1986: Python 4.0 upper bound dependency resolving issues staticdev
- Fixed Pyodide CDN URL (1991) andersk
- Docs: clarify description of use_parentheses (1941) mgedmin
- Fixed 1976: `black` compatibility for `.pyi` files XuehaiPan
- Implemented 1683: magic trailing comma option (1876) legau
- Add missing space in unrecoverable exception message (1933) andersk
- Fixed 1895: skip-gitignore: use allow list, not deny list bmalehorn
- Fixed 1917: infinite loop for unmatched parenthesis (1919) anirudnits
- Docs: shared profiles (1896) matthewhughes934
- Fixed build-backend values in the example plugins (1892) mgorny
- Remove reference to jamescurtin/isort-action (1885) AndrewLane
- Split long cython import lines (1931) davidcollins001
- Update plone profile: copy of `black`, plus three settings. (1926) mauritsvanrees
- Fixed 1815, 1862: Add a command-line flag to sort all re-exports (1863) parafoxia
- Fixed 1854: `lines_before_imports` appending lines after comments (1861) legau
- Remove redundant `multi_line_output = 3` from "Compatibility with black" (1858) jdufresne
- Add tox config example (1856) umonaca
- Docs: add examples for frozenset and tuple settings (1822) sgaist
- Docs: add multiple config documentation (1850) anirudnits
Links
- PyPI: https://pypi.org/project/isort
- Changelog: https://pyup.io/changelogs/isort/
- Repo: https://pycqa.github.io/isort/
Update jsonschema from 4.17.1 to 4.17.3.
Changelog
4.17.3
=======
* Fix instantiating validators with cached refs to boolean schemas
rather than objects (1018).
4.17.2
=======
* Empty strings are not valid relative JSON Pointers (aren't valid under the
RJP format).
* Durations without (trailing) units are not valid durations (aren't
valid under the duration format). This involves changing the dependency
used for validating durations (from ``isoduration`` to ``isodate``).
Links
- PyPI: https://pypi.org/project/jsonschema
- Changelog: https://pyup.io/changelogs/jsonschema/
Update keyring from 23.11.0 to 23.13.1.
Changelog
23.13.1
--------
* 573: Fixed failure in macOS backend when attempting to set a
password after previously setting a blank password, including a
test applying to all backends.
23.13.0
--------
* 608: Added support for tab completion on the ``keyring`` command
if the ``completion`` extra is installed (``keyring[completion]``).
23.12.1
--------
* 612: Prevent installation of ``pywin32-ctypes 0.1.2`` with broken
``use2to3`` directive.
23.12.0
--------
* 607: Removed PSF license as it was unused and confusing. Project
remains MIT licensed as always.
Links
- PyPI: https://pypi.org/project/keyring
- Changelog: https://pyup.io/changelogs/keyring/
- Repo: https://github.com/jaraco/keyring
Update lxml from 4.9.1 to 4.9.2.
Changelog
4.9.2
==================
Bugs fixed
----------
* CVE-2022-2309: A Bug in libxml2 2.9.1[0-4] could let namespace declarations
from a failed parser run leak into later parser runs. This bug was worked around
in lxml and resolved in libxml2 2.10.0.
https://gitlab.gnome.org/GNOME/libxml2/-/issues/378
Other changes
-------------
* LP1981760: ``Element.attrib`` now registers as ``collections.abc.MutableMapping``.
* lxml now has a static build setup for macOS on ARM64 machines (not used for building wheels).
Patch by Quentin Leffray.
Links
- PyPI: https://pypi.org/project/lxml
- Changelog: https://pyup.io/changelogs/lxml/
- Homepage: https://lxml.de/
Update multidict from 6.0.2 to 6.0.4.
Changelog
6.0.3
==================
Features
--------
- Declared the official support for Python 3.11 — by :user:`mlegner`. (:issue:`872`)
Links
- PyPI: https://pypi.org/project/multidict
- Changelog: https://pyup.io/changelogs/multidict/
- Repo: https://github.com/aio-libs/multidict
Update nbclient from 0.7.0 to 0.7.2.
Changelog
0.7.2
([Full Changelog](https://github.com/jupyter/nbclient/compare/v0.7.1...e6f8b9f7001f9988a29bb011a0f6052987e6507a))
Merged PRs
- Allow space after In [264](https://github.com/jupyter/nbclient/pull/264) ([davidbrochart](https://github.com/davidbrochart))
- Fix jupyter_core pinning [263](https://github.com/jupyter/nbclient/pull/263) ([davidbrochart](https://github.com/davidbrochart))
- Update README, add Python 3.11 [260](https://github.com/jupyter/nbclient/pull/260) ([davidbrochart](https://github.com/davidbrochart))
Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/nbclient/graphs/contributors?from=2022-11-29&to=2022-11-29&type=c))
[davidbrochart](https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2022-11-29..2022-11-29&type=Issues)
<!-- <END NEW CHANGELOG ENTRY> -->
0.7.1
([Full Changelog](https://github.com/jupyter/nbclient/compare/v0.7.0...168340e8313e63fd9e037280f98ed22d47e2231b))
Maintenance and upkeep improvements
- CI Refactor [257](https://github.com/jupyter/nbclient/pull/257) ([blink1073](https://github.com/blink1073))
Other merged PRs
- Remove nest-asyncio [259](https://github.com/jupyter/nbclient/pull/259) ([davidbrochart](https://github.com/davidbrochart))
- Add upper bound to dependencies [258](https://github.com/jupyter/nbclient/pull/258) ([davidbrochart](https://github.com/davidbrochart))
Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/nbclient/graphs/contributors?from=2022-10-06&to=2022-11-29&type=c))
[blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Ablink1073+updated%3A2022-10-06..2022-11-29&type=Issues) | [davidbrochart](https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Adavidbrochart+updated%3A2022-10-06..2022-11-29&type=Issues) | [pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnbclient+involves%3Apre-commit-ci+updated%3A2022-10-06..2022-11-29&type=Issues)
Links
- PyPI: https://pypi.org/project/nbclient
- Changelog: https://pyup.io/changelogs/nbclient/
Update nbconvert from 7.2.5 to 7.2.7.
Changelog
7.2.7
([Full Changelog](https://github.com/jupyter/nbconvert/compare/v7.2.6...a32c3c1063e081d7e639b7f1670788d220b93810))
Bugs fixed
- Fix Hanging Tests on Linux [1924](https://github.com/jupyter/nbconvert/pull/1924) ([blink1073](https://github.com/blink1073))
Maintenance and upkeep improvements
- Adopt ruff and handle lint [1925](https://github.com/jupyter/nbconvert/pull/1925) ([blink1073](https://github.com/blink1073))
Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/nbconvert/graphs/contributors?from=2022-12-05&to=2022-12-19&type=c))
[blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ablink1073+updated%3A2022-12-05..2022-12-19&type=Issues) | [pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Apre-commit-ci+updated%3A2022-12-05..2022-12-19&type=Issues)
<!-- <END NEW CHANGELOG ENTRY> -->
7.2.6
([Full Changelog](https://github.com/jupyter/nbconvert/compare/v7.2.5...788dd3c4de1b6333e807250d0f33b59b80d5b202))
Maintenance and upkeep improvements
- Include all templates in sdist [1916](https://github.com/jupyter/nbconvert/pull/1916) ([blink1073](https://github.com/blink1073))
- clean up workflows [1911](https://github.com/jupyter/nbconvert/pull/1911) ([blink1073](https://github.com/blink1073))
- CI Cleanup [1910](https://github.com/jupyter/nbconvert/pull/1910) ([blink1073](https://github.com/blink1073))
Documentation improvements
- Fix docs build and switch to PyData Sphinx Theme [1912](https://github.com/jupyter/nbconvert/pull/1912) ([blink1073](https://github.com/blink1073))
Contributors to this release
([GitHub contributors page for this release](https://github.com/jupyter/nbconvert/graphs/contributors?from=2022-11-14&to=2022-12-05&type=c))
[blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnbconvert+involves%3Ablink1073+updated%3A2022-11-14..2022-12-05&type=Issues)
Links
- PyPI: https://pypi.org/project/nbconvert
- Changelog: https://pyup.io/changelogs/nbconvert/
Update nbformat from 5.7.0 to 5.7.1.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/nbformat
Update numpy from 1.23.5 to 1.24.1.
Changelog
1.24.1
discovered after the 1.24.0 release. The Python versions supported by
this release are 3.8-3.11.
Contributors
A total of 12 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- Andrew Nelson
- Ben Greiner +
- Charles Harris
- Clément Robert
- Matteo Raso
- Matti Picus
- Melissa Weber Mendonça
- Miles Cranmer
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
- Sebastian Berg
Pull requests merged
A total of 18 pull requests were merged for this release.
- [22820](https://github.com/numpy/numpy/pull/22820): BLD: add workaround in setup.py for newer setuptools
- [22830](https://github.com/numpy/numpy/pull/22830): BLD: CIRRUS_TAG redux
- [22831](https://github.com/numpy/numpy/pull/22831): DOC: fix a couple typos in 1.23 notes
- [22832](https://github.com/numpy/numpy/pull/22832): BUG: Fix refcounting errors found using pytest-leaks
- [22834](https://github.com/numpy/numpy/pull/22834): BUG, SIMD: Fix invalid value encountered in several ufuncs
- [22837](https://github.com/numpy/numpy/pull/22837): TST: ignore more np.distutils.log imports
- [22839](https://github.com/numpy/numpy/pull/22839): BUG: Do not use getdata() in np.ma.masked_invalid
- [22847](https://github.com/numpy/numpy/pull/22847): BUG: Ensure correct behavior for rows ending in delimiter in\...
- [22848](https://github.com/numpy/numpy/pull/22848): BUG, SIMD: Fix the bitmask of the boolean comparison
- [22857](https://github.com/numpy/numpy/pull/22857): BLD: Help raspian arm + clang 13 about \_\_builtin_mul_overflow
- [22858](https://github.com/numpy/numpy/pull/22858): API: Ensure a full mask is returned for masked_invalid
- [22866](https://github.com/numpy/numpy/pull/22866): BUG: Polynomials now copy properly (#22669)
- [22867](https://github.com/numpy/numpy/pull/22867): BUG, SIMD: Fix memory overlap in ufunc comparison loops
- [22868](https://github.com/numpy/numpy/pull/22868): BUG: Fortify string casts against floating point warnings
- [22875](https://github.com/numpy/numpy/pull/22875): TST: Ignore nan-warnings in randomized out tests
- [22883](https://github.com/numpy/numpy/pull/22883): MAINT: restore npymath implementations needed for freebsd
- [22884](https://github.com/numpy/numpy/pull/22884): BUG: Fix integer overflow in in1d for mixed integer dtypes #22877
- [22887](https://github.com/numpy/numpy/pull/22887): BUG: Use whole file for encoding checks with `charset_normalizer`.
Checksums
MD5
9e543db90493d6a00939bd54c2012085 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl
4ebd7af622bf617b4876087e500d7586 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl
0c0a3012b438bb455a6c2fadfb1be76a numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0bddb527345449df624d3cb9aa0e1b75 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b246beb773689d97307f7b4c2970f061 numpy-1.24.1-cp310-cp310-win32.whl
1f3823999fce821a28dee10ac6fdd721 numpy-1.24.1-cp310-cp310-win_amd64.whl
8eedcacd6b096a568e4cb393d43b3ae5 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl
50bddb05acd54b4396100a70522496dd numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl
2a76bd9da8a78b44eb816bd70fa3aee3 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9e86658a414272f9749bde39344f9b76 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
915dfb89054e1631574a22a9b53a2b25 numpy-1.24.1-cp311-cp311-win32.whl
ab7caa2c6c20e1fab977e1a94dede976 numpy-1.24.1-cp311-cp311-win_amd64.whl
8246de961f813f5aad89bca3d12f81e7 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl
58366b1a559baa0547ce976e416ed76d numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl
a96f29bf106a64f82b9ba412635727d1 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4c32a43bdb85121614ab3e99929e33c7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
09b20949ed21683ad7c9cbdf9ebb2439 numpy-1.24.1-cp38-cp38-win32.whl
9e9f1577f874286a8bdff8dc5551eb9f numpy-1.24.1-cp38-cp38-win_amd64.whl
4383c1137f0287df67c364fbdba2bc72 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl
987f22c49b2be084b5d72f88f347d31e numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl
848ad020bba075ed8f19072c64dcd153 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
864b159e644848bc25f881907dbcf062 numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
db339ec0b2693cac2d7cf9ca75c334b1 numpy-1.24.1-cp39-cp39-win32.whl
fec91d4c85066ad8a93816d71b627701 numpy-1.24.1-cp39-cp39-win_amd64.whl
619af9cd4f33b668822ae2350f446a15 numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
46f19b4b147f8836c2bd34262fabfffa numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e85b245c57a10891b3025579bf0cf298 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl
dd3aaeeada8e95cc2edf9a3a4aa8b5af numpy-1.24.1.tar.gz
SHA256
179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl
b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl
f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7 numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2 numpy-1.24.1-cp310-cp310-win32.whl
b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2 numpy-1.24.1-cp310-cp310-win_amd64.whl
7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl
28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032 numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl
e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36 numpy-1.24.1-cp311-cp311-win32.whl
de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51 numpy-1.24.1-cp311-cp311-win_amd64.whl
b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl
26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954 numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl
caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1 numpy-1.24.1-cp38-cp38-win32.whl
6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c numpy-1.24.1-cp38-cp38-win_amd64.whl
28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl
84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7 numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl
8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f numpy-1.24.1-cp39-cp39-win32.whl
ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e numpy-1.24.1-cp39-cp39-win_amd64.whl
ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086 numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl
2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2 numpy-1.24.1.tar.gz
1.24
The NumPy 1.24.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, and
clarify the documentation. There are also a large number of new and
expired deprecations due to changes in promotion and cleanups. This
might be called a deprecation release. Highlights are
- Many new deprecations, check them out.
- Many expired deprecations,
- New F2PY features and fixes.
- New \"dtype\" and \"casting\" keywords for stacking functions.
See below for the details,
Deprecations
Deprecate fastCopyAndTranspose and PyArray_CopyAndTranspose
The `numpy.fastCopyAndTranspose` function has been deprecated. Use the
corresponding copy and transpose methods directly:
arr.T.copy()
The underlying C function `PyArray_CopyAndTranspose` has also been
deprecated from the NumPy C-API.
([gh-22313](https://github.com/numpy/numpy/pull/22313))
Conversion of out-of-bound Python integers
Attempting a conversion from a Python integer to a NumPy value will now
always check whether the result can be represented by NumPy. This means
the following examples will fail in the future and give a
`DeprecationWarning` now:
np.uint8(-1)
np.array([3000], dtype=np.int8)
Many of these did succeed before. Such code was mainly useful for
unsigned integers with negative values such as `np.uint8(-1)` giving
`np.iinfo(np.uint8).max`.
Note that conversion between NumPy integers is unaffected, so that
`np.array(-1).astype(np.uint8)` continues to work and use C integer
overflow logic.
([gh-22393](https://github.com/numpy/numpy/pull/22393))
Deprecate `msort`
The `numpy.msort` function is deprecated. Use `np.sort(a, axis=0)`
instead.
([gh-22456](https://github.com/numpy/numpy/pull/22456))
`np.str0` and similar are now deprecated
The scalar type aliases ending in a 0 bit size: `np.object0`, `np.str0`,
`np.bytes0`, `np.void0`, `np.int0`, `np.uint0` as well as `np.bool8` are
now deprecated and will eventually be removed.
([gh-22607](https://github.com/numpy/numpy/pull/22607))
Expired deprecations
- The `normed` keyword argument has been removed from
[np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and
[np.histogramdd]{.title-ref}. Use `density` instead. If `normed` was
passed by position, `density` is now used.
([gh-21645](https://github.com/numpy/numpy/pull/21645))
- Ragged array creation will now always raise a `ValueError` unless
`dtype=object` is passed. This includes very deeply nested
sequences.
([gh-22004](https://github.com/numpy/numpy/pull/22004))
- Support for Visual Studio 2015 and earlier has been removed.
- Support for the Windows Interix POSIX interop layer has been
removed.
([gh-22139](https://github.com/numpy/numpy/pull/22139))
- Support for cygwin \< 3.3 has been removed.
([gh-22159](https://github.com/numpy/numpy/pull/22159))
- The mini() method of `np.ma.MaskedArray` has been removed. Use
either `np.ma.MaskedArray.min()` or `np.ma.minimum.reduce()`.
- The single-argument form of `np.ma.minimum` and `np.ma.maximum` has
been removed. Use `np.ma.minimum.reduce()` or
`np.ma.maximum.reduce()` instead.
([gh-22228](https://github.com/numpy/numpy/pull/22228))
- Passing dtype instances other than the canonical (mainly native
byte-order) ones to `dtype=` or `signature=` in ufuncs will now
raise a `TypeError`. We recommend passing the strings `"int8"` or
scalar types `np.int8` since the byte-order, datetime/timedelta
unit, etc. are never enforced. (Initially deprecated in NumPy 1.21.)
([gh-22540](https://github.com/numpy/numpy/pull/22540))
- The `dtype=` argument to comparison ufuncs is now applied correctly.
That means that only `bool` and `object` are valid values and
`dtype=object` is enforced.
([gh-22541](https://github.com/numpy/numpy/pull/22541))
- The deprecation for the aliases `np.object`, `np.bool`, `np.float`,
`np.complex`, `np.str`, and `np.int` is expired (introduces NumPy
1.20). Some of these will now give a FutureWarning in addition to
raising an error since they will be mapped to the NumPy scalars in
the future.
([gh-22607](https://github.com/numpy/numpy/pull/22607))
Compatibility notes
`array.fill(scalar)` may behave slightly different
`numpy.ndarray.fill` may in some cases behave slightly different now due
to the fact that the logic is aligned with item assignment:
arr = np.array([1]) with any dtype/value
arr.fill(scalar)
is now identical to:
arr[0] = scalar
Previously casting may have produced slightly different answers when
using values that could not be represented in the target `dtype` or when
the target had `object` dtype.
([gh-20924](https://github.com/numpy/numpy/pull/20924))
Subarray to object cast now copies
Casting a dtype that includes a subarray to an object will now ensure a
copy of the subarray. Previously an unsafe view was returned:
arr = np.ones(3, dtype=[("f", "i", 3)])
subarray_fields = arr.astype(object)[0]
subarray = subarray_fields[0] "f" field
np.may_share_memory(subarray, arr)
Is now always false. While previously it was true for the specific cast.
([gh-21925](https://github.com/numpy/numpy/pull/21925))
Returned arrays respect uniqueness of dtype kwarg objects
When the `dtype` keyword argument is used with
:py`np.array()`{.interpreted-text role="func"} or
:py`asarray()`{.interpreted-text role="func"}, the dtype of the returned
array now always exactly matches the dtype provided by the caller.
In some cases this change means that a *view* rather than the input
array is returned. The following is an example for this on 64bit Linux
where `long` and `longlong` are the same precision but different
`dtypes`:
>>> arr = np.array([1, 2, 3], dtype="long")
>>> new_dtype = np.dtype("longlong")
>>> new = np.asarray(arr, dtype=new_dtype)
>>> new.dtype is new_dtype
True
>>> new is arr
False
Before the change, the `dtype` did not match because `new is arr` was
`True`.
([gh-21995](https://github.com/numpy/numpy/pull/21995))
DLPack export raises `BufferError`
When an array buffer cannot be exported via DLPack a `BufferError` is
now always raised where previously `TypeError` or `RuntimeError` was
raised. This allows falling back to the buffer protocol or
`__array_interface__` when DLPack was tried first.
([gh-22542](https://github.com/numpy/numpy/pull/22542))
NumPy builds are no longer tested on GCC-6
Ubuntu 18.04 is deprecated for GitHub actions and GCC-6 is not available
on Ubuntu 20.04, so builds using that compiler are no longer tested. We
still test builds using GCC-7 and GCC-8.
([gh-22598](https://github.com/numpy/numpy/pull/22598))
New Features
New attribute `symbol` added to polynomial classes
The polynomial classes in the `numpy.polynomial` package have a new
`symbol` attribute which is used to represent the indeterminate of the
polynomial. This can be used to change the value of the variable when
printing:
>>> P_y = np.polynomial.Polynomial([1, 0, -1], symbol="y")
>>> print(P_y)
1.0 + 0.0·y¹ - 1.0·y²
Note that the polynomial classes only support 1D polynomials, so
operations that involve polynomials with different symbols are
disallowed when the result would be multivariate:
>>> P = np.polynomial.Polynomial([1, -1]) default symbol is "x"
>>> P_z = np.polynomial.Polynomial([1, 1], symbol="z")
>>> P * P_z
Traceback (most recent call last)
...
ValueError: Polynomial symbols differ
The symbol can be any valid Python identifier. The default is
`symbol=x`, consistent with existing behavior.
([gh-16154](https://github.com/numpy/numpy/pull/16154))
F2PY support for Fortran `character` strings
F2PY now supports wrapping Fortran functions with:
- character (e.g. `character x`)
- character array (e.g. `character, dimension(n) :: x`)
- character string (e.g. `character(len=10) x`)
- and character string array (e.g.
`character(len=10), dimension(n, m) :: x`)
arguments, including passing Python unicode strings as Fortran character
string arguments.
([gh-19388](https://github.com/numpy/numpy/pull/19388))
New function `np.show_runtime`
A new function `numpy.show_runtime` has been added to display the
runtime information of the machine in addition to `numpy.show_config`
which displays the build-related information.
([gh-21468](https://github.com/numpy/numpy/pull/21468))
`strict` option for `testing.assert_array_equal`
The `strict` option is now available for `testing.assert_array_equal`.
Setting `strict=True` will disable the broadcasting behaviour for
scalars and ensure that input arrays have the same data type.
([gh-21595](https://github.com/numpy/numpy/pull/21595))
New parameter `equal_nan` added to `np.unique`
`np.unique` was changed in 1.21 to treat all `NaN` values as equal and
return a single `NaN`. Setting `equal_nan=False` will restore pre-1.21
behavior to treat `NaNs` as unique. Defaults to `True`.
([gh-21623](https://github.com/numpy/numpy/pull/21623))
`casting` and `dtype` keyword arguments for `numpy.stack`
The `casting` and `dtype` keyword arguments are now available for
`numpy.stack`. To use them, write
`np.stack(..., dtype=None, casting='same_kind')`.
`casting` and `dtype` keyword arguments for `numpy.vstack`
The `casting` and `dtype` keyword arguments are now available for
`numpy.vstack`. To use them, write
`np.vstack(..., dtype=None, casting='same_kind')`.
`casting` and `dtype` keyword arguments for `numpy.hstack`
The `casting` and `dtype` keyword arguments are now available for
`numpy.hstack`. To use them, write
`np.hstack(..., dtype=None, casting='same_kind')`.
([gh-21627](https://github.com/numpy/numpy/pull/21627))
The bit generator underlying the singleton RandomState can be changed
The singleton `RandomState` instance exposed in the `numpy.random`
module is initialized at startup with the `MT19937` bit generator. The
new function `set_bit_generator` allows the default bit generator to be
replaced with a user-provided bit generator. This function has been
introduced to provide a method allowing seamless integration of a
high-quality, modern bit generator in new code with existing code that
makes use of the singleton-provided random variate generating functions.
The companion function `get_bit_generator` returns the current bit
generator being used by the singleton `RandomState`. This is provided to
simplify restoring the original source of randomness if required.
The preferred method to generate reproducible random numbers is to use a
modern bit generator in an instance of `Generator`. The function
`default_rng` simplifies instantiation:
>>> rg = np.random.default_rng(3728973198)
>>> rg.random()
The same bit generator can then be shared with the singleton instance so
that calling functions in the `random` module will use the same bit
generator:
>>> orig_bit_gen = np.random.get_bit_generator()
>>> np.random.set_bit_generator(rg.bit_generator)
>>> np.random.normal()
The swap is permanent (until reversed) and so any call to functions in
the `random` module will use the new bit generator. The original can be
restored if required for code to run correctly:
>>> np.random.set_bit_generator(orig_bit_gen)
([gh-21976](https://github.com/numpy/numpy/pull/21976))
`np.void` now has a `dtype` argument
NumPy now allows constructing structured void scalars directly by
passing the `dtype` argument to `np.void`.
([gh-22316](https://github.com/numpy/numpy/pull/22316))
Improvements
F2PY Improvements
- The generated extension modules don\'t use the deprecated NumPy-C
API anymore
- Improved `f2py` generated exception messages
- Numerous bug and `flake8` warning fixes
- various CPP macros that one can use within C-expressions of
signature files are prefixed with `f2py_`. For example, one should
use `f2py_len(x)` instead of `len(x)`
- A new construct `character(f2py_len=...)` is introduced to support
returning assumed length character strings (e.g. `character(len=*)`)
from wrapper functions
A hook to support rewriting `f2py` internal data structures after
reading all its input files is introduced. This is required, for
instance, for BC of SciPy support where character arguments are treated
as character strings arguments in `C` expressions.
([gh-19388](https://github.com/numpy/numpy/pull/19388))
IBM zSystems Vector Extension Facility (SIMD)
Added support for SIMD extensions of zSystem (z13, z14, z15), through
the universal intrinsics interface. This support leads to performance
improvements for all SIMD kernels implemented using the universal
intrinsics, including the following operations: rint, floor, trunc,
ceil, sqrt, absolute, square, reciprocal, tanh, sin, cos, equal,
not_equal, greater, greater_equal, less, less_equal, maximum, minimum,
fmax, fmin, argmax, argmin, add, subtract, multiply, divide.
([gh-20913](https://github.com/numpy/numpy/pull/20913))
NumPy now gives floating point errors in casts
In most cases, NumPy previously did not give floating point warnings or
errors when these happened during casts. For examples, casts like:
np.array([2e300]).astype(np.float32) overflow for float32
np.array([np.inf]).astype(np.int64)
Should now generally give floating point warnings. These warnings should
warn that floating point overflow occurred. For errors when converting
floating point values to integers users should expect invalid value
warnings.
Users can modify the behavior of these warnings using `np.errstate`.
Note that for float to int casts, the exact warnings that are given may
be platform dependent. For example:
arr = np.full(100, value=1000, dtype=np.float64)
arr.astype(np.int8)
May give a result equivalent to (the intermediate cast means no warning
is given):
arr.astype(np.int64).astype(np.int8)
May return an undefined result, with a warning set:
RuntimeWarning: invalid value encountered in cast
The precise behavior is subject to the C99 standard and its
implementation in both software and hardware.
([gh-21437](https://github.com/numpy/numpy/pull/21437))
F2PY supports the value attribute
The Fortran standard requires that variables declared with the `value`
attribute must be passed by value instead of reference. F2PY now
supports this use pattern correctly. So
`integer, intent(in), value :: x` in Fortran codes will have correct
wrappers generated.
([gh-21807](https://github.com/numpy/numpy/pull/21807))
Added pickle support for third-party BitGenerators
The pickle format for bit generators was extended to allow each bit
generator to supply its own constructor when during pickling. Previous
versions of NumPy only supported unpickling `Generator` instances
created with one of the core set of bit generators supplied with NumPy.
Attempting to unpickle a `Generator` that used a third-party bit
generators would fail since the constructor used during the unpickling
was only aware of the bit generators included in NumPy.
([gh-22014](https://github.com/numpy/numpy/pull/22014))
arange() now explicitly fails with dtype=str
Previously, the `np.arange(n, dtype=str)` function worked for `n=1` and
`n=2`, but would raise a non-specific exception message for other values
of `n`. Now, it raises a [TypeError]{.title-ref} informing that `arange`
does not support string dtypes:
>>> np.arange(2, dtype=str)
Traceback (most recent call last)
...
TypeError: arange() not supported for inputs with DType <class 'numpy.dtype[str_]'>.
([gh-22055](https://github.com/numpy/numpy/pull/22055))
`numpy.typing` protocols are now runtime checkable
The protocols used in `numpy.typing.ArrayLike` and
`numpy.typing.DTypeLike` are now properly marked as runtime checkable,
making them easier to use for runtime type checkers.
([gh-22357](https://github.com/numpy/numpy/pull/22357))
Performance improvements and changes
Faster version of `np.isin` and `np.in1d` for integer arrays
`np.in1d` (used by `np.isin`) can now switch to a faster algorithm (up
to \>10x faster) when it is passed two integer arrays. This is often
automatically used, but you can use `kind="sort"` or `kind="table"` to
force the old or new method, respectively.
([gh-12065](https://github.com/numpy/numpy/pull/12065))
Faster comparison operators
The comparison functions (`numpy.equal`, `numpy.not_equal`,
`numpy.less`, `numpy.less_equal`, `numpy.greater` and
`numpy.greater_equal`) are now much faster as they are now vectorized
with universal intrinsics. For a CPU with SIMD extension AVX512BW, the
performance gain is up to 2.57x, 1.65x and 19.15x for integer, float and
boolean data types, respectively (with N=50000).
([gh-21483](https://github.com/numpy/numpy/pull/21483))
Changes
Better reporting of integer division overflow
Integer division overflow of scalars and arrays used to provide a
`RuntimeWarning` and the return value was undefined leading to crashes
at rare occasions:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: divide by zero encountered in floor_divide
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
Integer division overflow now returns the input dtype\'s minimum value
and raise the following `RuntimeWarning`:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: overflow encountered in floor_divide
array([-2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648],
dtype=int32)
([gh-21506](https://github.com/numpy/numpy/pull/21506))
`masked_invalid` now modifies the mask in-place
When used with `copy=False`, `numpy.ma.masked_invalid` now modifies the
input masked array in-place. This makes it behave identically to
`masked_where` and better matches the documentation.
([gh-22046](https://github.com/numpy/numpy/pull/22046))
`nditer`/`NpyIter` allows all allocating all operands
The NumPy iterator available through `np.nditer` in Python and as
`NpyIter` in C now supports allocating all arrays. The iterator shape
defaults to `()` in this case. The operands dtype must be provided,
since a \"common dtype\" cannot be inferred from the other inputs.
([gh-22457](https://github.com/numpy/numpy/pull/22457))
Checksums
MD5
1f08c901040ebe1324d16cfc71fe3cd2 numpy-1.24.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
d35a59a1ccf1542d690860ad85fbb0f0 numpy-1.24.0rc1-cp310-cp310-macosx_11_0_arm64.whl
c7db37964986d7b9756fd1aa077b7e72 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
72c2dad61fc86c4d87e23d0de975e0b6 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c769f1089253266d7a522144696bde3 numpy-1.24.0rc1-cp310-cp310-win32.whl
96226a2045063b9caff40fe2a2098e72 numpy-1.24.0rc1-cp310-cp310-win_amd64.whl
b20897446f52e7fcde80e12c7cc1dc1e numpy-1.24.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
9cafe21759e90c705533d1f3201d35aa numpy-1.24.0rc1-cp311-cp311-macosx_11_0_arm64.whl
0e8621d07dae7ffaba6cfe83f7288042 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0c67808eed6ba6f9e9074e6f11951f09 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1065bea5d0670360353e698093954e35 numpy-1.24.0rc1-cp311-cp311-win32.whl
fe2122ec86b45e00b648071ee2931fbc numpy-1.24.0rc1-cp311-cp311-win_amd64.whl
ab3e8424a04338d43ed466ade66de7a8 numpy-1.24.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
fc6eac08a59c4efb3962d990ff94f2b7 numpy-1.24.0rc1-cp38-cp38-macosx_11_0_arm64.whl
3498ac93ae6abba813e5d76f86ae5356 numpy-1.24.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
629ce4b8cb011ff735ebd482fbf51702 numpy-1.24.0rc1-cp38-cp38-win32.whl
cb503a78e27f0f46b6b43d211275dc58 numpy-1.24.0rc1-cp38-cp38-win_amd64.whl
ffccdb9750336f5e55ab90c8eb7c1a8d numpy-1.24.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
9751b9f833238a7309ad4e6b43fa8cb5 numpy-1.24.0rc1-cp39-cp39-macosx_11_0_arm64.whl
cb8a10f411773f0ac5e06df067599d45 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8d670816134824972afb512498b95ede numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60687b97ab720f6be9e3542e5761769f numpy-1.24.0rc1-cp39-cp39-win32.whl
11fd99748acc0726ac164034c32bb3cd numpy-1.24.0rc1-cp39-cp39-win_amd64.whl
09e1d6f6d75facaf84d2b87a33874d4b numpy-1.24.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2da9ad07343b410aca4edf1285e4266b numpy-1.24.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a0e466a55632cc1d67db119f586cd05 numpy-1.24.0rc1-pp38-pypy38_pp73-win_amd64.whl
abc863895b02cdcc436474f6cdf2d14d numpy-1.24.0rc1.tar.gz
SHA256
36acf6043b94a0e8af75d0a1931678d20e673b83fd79798c805ebc995e233cff numpy-1.24.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
244c2c22f776e168e1060112f87717d73df2462e0eba4095a7673fe87db49b7a numpy-1.24.0rc1-cp310-cp310-macosx_11_0_arm64.whl
730112e692c165e8ad69071c70653522ee19d8c8af2da839339de01013eeef24 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
960b0d980adfa5c37fea89fc556bb482f9d957a3188be46d03a00fa1bd8f617b numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f54788f1a6941cb1b57bcf5ff09a281e5db75bbf9f2ac9534a626128ded0244f numpy-1.24.0rc1-cp310-cp310-win32.whl
07fef63a5113969d7897589928870c57dd3e28671d617f688486f12c3a3b466a numpy-1.24.0rc1-cp310-cp310-win_amd64.whl
aea88e02d9335052172f4d6c8163721c3edd086ea3bf3bc9b6d5c55661540f1b numpy-1.24.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
3950be11c03d250ea780280ce37a6fe7bd21dafcb478e08190c72b6c58ed7d18 numpy-1.24.0rc1-cp311-cp311-macosx_11_0_arm64.whl
743c30cda228f8be9fe552453870b412b38ac232972c617a0f18765dedf395a5 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cab1335b70e24e88ef2b9f727b9f5fc6e0d31d9fe9da0213f6c28cf615b65db0 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5283759f0dd905f9e62ed55775345fbb233a53146ceaf2f75e96d939f564ee79 numpy-1.24.0rc1-cp311-cp311-win32.whl
427bd9c45777e8baf782b6b33ebc26a88716c2d9b76b0474987660c2c066dca0 numpy-1.24.0rc1-cp311-cp311-win_amd64.whl
20edfad312395d1cb8ad6ca5d2c42d2dab057f5d1920af3f94c7a72103335d8a numpy-1.24.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
79134b92e1fb86915369753b3e64a359416cd98ea2329d270eb4e1d0ab300c0d numpy-1.24.0rc1-cp38-cp38-macosx_11_0_arm64.whl
6f00858573e2316ac5d190cf81dc178d94579969f827ac34c7a53110428e6f72 numpy-1.24.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8d6f78be3ad0bd9b4adecba2fda570ef491ae69f8c7cc84acd382802a81e242 numpy-1.24.0rc1-cp38-cp38-win32.whl
f1f5fa912df64dd48ec55352b72f4b036ab7b3911e996703f436e17baca780f9 numpy-1.24.0rc1-cp38-cp38-win_amd64.whl
8d149b3c3062dc68e29bdb244edc30c5d80e2c654b5c27c32773bf7354452b48 numpy-1.24.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
d177fbd4d22248640d73f07c3aac2cc1f79c412f61564452abd08606ee5e3713 numpy-1.24.0rc1-cp39-cp39-macosx_11_0_arm64.whl
05faa4ecb98d7bc593afc5b10c25f0e7dd65244b653756b083c605fbf60b9b67 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
06d8827c6fa511b61047376efc3a677d447193bf88e6bbde35b4e5223a4b58d6 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
15605b92bf10b10e110a9c0f1c4ef6cd58246532c62a0c3d3188c05e69cdcdb6 numpy-1.24.0rc1-cp39-cp39-win32.whl
8046f5c23769791be8432a592b9881984e0e4abc7f552c7e5c349420a27323e7 numpy-1.24.0rc1-cp39-cp39-win_amd64.whl
aa9c4a2f65d669e6559123154da944ad6bd7605cbba5cce81bf6794617870510 numpy-1.24.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
e44fd1bdfa50979ddec76318e21abc82ee3858e5f45dfc5153b6f660d9d29851 numpy-1.24.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1802199d70d9f8ac11eb63a1ef50d33915b78a84bacacaadb2896175005103d4 numpy-1.24.0rc1-pp38-pypy38_pp73-win_amd64.whl
d601180710004799acb8f80e564b84e71490fac9d84e115e2f5b0f6709754f16 numpy-1.24.0rc1.tar.gz
Links
- PyPI: https://pypi.org/project/numpy
- Changelog: https://pyup.io/changelogs/numpy/
- Homepage: https://www.numpy.org
Update packaging from 21.3 to 22.0.
Changelog
22.0
~~~~~~~~~~~~~~~~~
* Explicitly declare support for Python 3.11 (:issue:`587`)
* Remove support for Python 3.6 (:issue:`500`)
* Remove ``LegacySpecifier`` and ``LegacyVersion`` (:issue:`407`)
* Add ``__hash__`` and ``__eq__`` to ``Requirement`` (:issue:`499`)
* Add a ``cpNNN-none-any`` tag (:issue:`541`)
* Adhere to :pep:`685` when evaluating markers with extras (:issue:`545`)
* Allow accepting locally installed prereleases with ``SpecifierSet`` (:issue:`515`)
* Allow pre-release versions in marker evaluation (:issue:`523`)
* Correctly parse ELF for musllinux on Big Endian (:issue:`538`)
* Document ``packaging.utils.NormalizedName`` (:issue:`565`)
* Document exceptions raised by functions in ``packaging.utils`` (:issue:`544`)
* Fix compatible version specifier incorrectly strip trailing ``0`` (:issue:`493`)
* Fix macOS platform tags with old macOS SDK (:issue:`513`)
* Forbid prefix version matching on pre-release/post-release segments (:issue:`563`)
* Normalize specifier version for prefix matching (:issue:`561`)
* Improve documentation for ``packaging.specifiers`` and ``packaging.version``. (:issue:`572`)
* ``Marker.evaluate`` will now assume evaluation environment with empty ``extra``.
Evaluating markers like ``"extra == 'xyz'"`` without passing any extra in the
``environment`` will no longer raise an exception (:issue:`550`)
* Remove dependency on ``pyparsing``, by replacing it with a hand-written parser.
This package now has no runtime dependencies (:issue:`468`)
* Update return type hint for ``Specifier.filter`` and ``SpecifierSet.filter``
to use ``Iterator`` instead of ``Iterable`` (:issue:`584`)
Links
- PyPI: https://pypi.org/project/packaging
- Changelog: https://pyup.io/changelogs/packaging/
Changelog
4.1.2
~~~~~~~~~~~~~~
- Added 2023 holidays to BSE calendar
Links
- PyPI: https://pypi.org/project/pandas-market-calendars
- Changelog: https://pyup.io/changelogs/pandas-market-calendars/
- Repo: https://github.com/rsheftel/pandas_market_calendars
Update pathspec from 0.10.2 to 0.10.3.
Changelog
0.10.3
-------------------
New features:
- Added utility function `pathspec.util.append_dir_sep()` to aid in distinguishing between directories and files on the file-system. See `Issue 65`_.
Bug fixes:
- `Issue 66`_/`Pull 67`_: Package not marked as py.typed.
- `Issue 68`_: Exports are considered private.
- `Issue 70`_/`Pull 71`_: 'Self' string literal type is Unknown in pyright.
Improvements:
- `Issue 65`_: Checking directories via match_file() does not wo
update