mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
Merge pull request #10198 from uranusjr/release-21-2
For releases 21.2 and 21.2.1
This commit is contained in:
commit
5fbf2b5f35
56 changed files with 125 additions and 91 deletions
17
AUTHORS.txt
17
AUTHORS.txt
|
@ -98,13 +98,16 @@ Brandt Bucher
|
||||||
Brett Randall
|
Brett Randall
|
||||||
Brian Cristante
|
Brian Cristante
|
||||||
Brian Rosner
|
Brian Rosner
|
||||||
|
briantracy
|
||||||
BrownTruck
|
BrownTruck
|
||||||
Bruno Oliveira
|
Bruno Oliveira
|
||||||
Bruno Renié
|
Bruno Renié
|
||||||
|
Bruno S
|
||||||
Bstrdsmkr
|
Bstrdsmkr
|
||||||
Buck Golemon
|
Buck Golemon
|
||||||
burrows
|
burrows
|
||||||
Bussonnier Matthias
|
Bussonnier Matthias
|
||||||
|
bwoodsend
|
||||||
c22
|
c22
|
||||||
Caleb Martinez
|
Caleb Martinez
|
||||||
Calvin Smith
|
Calvin Smith
|
||||||
|
@ -177,13 +180,16 @@ David Tucker
|
||||||
David Wales
|
David Wales
|
||||||
Davidovich
|
Davidovich
|
||||||
Deepak Sharma
|
Deepak Sharma
|
||||||
|
Deepyaman Datta
|
||||||
Denise Yu
|
Denise Yu
|
||||||
derwolfe
|
derwolfe
|
||||||
Desetude
|
Desetude
|
||||||
Devesh Kumar Singh
|
Devesh Kumar Singh
|
||||||
Diego Caraballo
|
Diego Caraballo
|
||||||
|
Diego Ramirez
|
||||||
DiegoCaraballo
|
DiegoCaraballo
|
||||||
Dimitri Merejkowsky
|
Dimitri Merejkowsky
|
||||||
|
Dirk Stolle
|
||||||
Dmitry Gladkov
|
Dmitry Gladkov
|
||||||
Domen Kožar
|
Domen Kožar
|
||||||
Dominic Davis-Foster
|
Dominic Davis-Foster
|
||||||
|
@ -245,17 +251,18 @@ Greg Ward
|
||||||
Guilherme Espada
|
Guilherme Espada
|
||||||
gutsytechster
|
gutsytechster
|
||||||
Guy Rozendorn
|
Guy Rozendorn
|
||||||
|
Guy Tuval
|
||||||
gzpan123
|
gzpan123
|
||||||
Hanjun Kim
|
Hanjun Kim
|
||||||
Hari Charan
|
Hari Charan
|
||||||
Harsh Vardhan
|
Harsh Vardhan
|
||||||
|
harupy
|
||||||
|
Harutaka Kawamura
|
||||||
Henry Schreiner
|
Henry Schreiner
|
||||||
Herbert Pfennig
|
Herbert Pfennig
|
||||||
Hsiaoming Yang
|
Hsiaoming Yang
|
||||||
Hugo
|
|
||||||
Hugo Lopes Tavares
|
Hugo Lopes Tavares
|
||||||
Hugo van Kemenade
|
Hugo van Kemenade
|
||||||
hugovk
|
|
||||||
Hynek Schlawack
|
Hynek Schlawack
|
||||||
Ian Bicking
|
Ian Bicking
|
||||||
Ian Cordasco
|
Ian Cordasco
|
||||||
|
@ -265,12 +272,14 @@ Ian Wienand
|
||||||
Igor Kuzmitshov
|
Igor Kuzmitshov
|
||||||
Igor Sobreira
|
Igor Sobreira
|
||||||
Ilan Schnell
|
Ilan Schnell
|
||||||
|
Illia Volochii
|
||||||
Ilya Baryshev
|
Ilya Baryshev
|
||||||
Inada Naoki
|
Inada Naoki
|
||||||
Ionel Cristian Mărieș
|
Ionel Cristian Mărieș
|
||||||
Ionel Maries Cristian
|
Ionel Maries Cristian
|
||||||
Ivan Pozdeev
|
Ivan Pozdeev
|
||||||
Jacob Kim
|
Jacob Kim
|
||||||
|
Jacob Walls
|
||||||
jakirkham
|
jakirkham
|
||||||
Jakub Stasiak
|
Jakub Stasiak
|
||||||
Jakub Vysoky
|
Jakub Vysoky
|
||||||
|
@ -295,6 +304,7 @@ Jiashuo Li
|
||||||
Jim Fisher
|
Jim Fisher
|
||||||
Jim Garrison
|
Jim Garrison
|
||||||
Jivan Amara
|
Jivan Amara
|
||||||
|
Joe Michelini
|
||||||
John Paton
|
John Paton
|
||||||
John T. Wodder II
|
John T. Wodder II
|
||||||
John-Scott Atlakson
|
John-Scott Atlakson
|
||||||
|
@ -425,6 +435,7 @@ Noah Gorny
|
||||||
Nowell Strite
|
Nowell Strite
|
||||||
NtaleGrey
|
NtaleGrey
|
||||||
nvdv
|
nvdv
|
||||||
|
OBITORASU
|
||||||
Ofekmeister
|
Ofekmeister
|
||||||
ofrinevo
|
ofrinevo
|
||||||
Oliver Jeeves
|
Oliver Jeeves
|
||||||
|
@ -530,6 +541,7 @@ Simon Cross
|
||||||
Simon Pichugin
|
Simon Pichugin
|
||||||
sinoroc
|
sinoroc
|
||||||
sinscary
|
sinscary
|
||||||
|
snook92
|
||||||
socketubs
|
socketubs
|
||||||
Sorin Sbarnea
|
Sorin Sbarnea
|
||||||
Srinivas Nyayapati
|
Srinivas Nyayapati
|
||||||
|
@ -552,6 +564,7 @@ Surbhi Sharma
|
||||||
Sviatoslav Sydorenko
|
Sviatoslav Sydorenko
|
||||||
Swat009
|
Swat009
|
||||||
Takayuki SHIMIZUKAWA
|
Takayuki SHIMIZUKAWA
|
||||||
|
Taneli Hukkinen
|
||||||
tbeswick
|
tbeswick
|
||||||
Thijs Triemstra
|
Thijs Triemstra
|
||||||
Thomas Fenzl
|
Thomas Fenzl
|
||||||
|
|
109
NEWS.rst
109
NEWS.rst
|
@ -1,3 +1,112 @@
|
||||||
|
21.2.1 (2021-07-25)
|
||||||
|
===================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Process
|
||||||
|
-------
|
||||||
|
|
||||||
|
- The source distribution re-installation feature removal has been delayed to 21.3.
|
||||||
|
|
||||||
|
|
||||||
|
21.2 (2021-07-24)
|
||||||
|
=================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Process
|
||||||
|
-------
|
||||||
|
|
||||||
|
- ``pip freeze``, ``pip list``, and ``pip show`` no longer normalize underscore
|
||||||
|
(``_``) in distribution names to dash (``-``). This is a side effect of the
|
||||||
|
migration to ``importlib.metadata``, since the underscore-dash normalization
|
||||||
|
behavior is non-standard and specific to setuptools. This should not affect
|
||||||
|
other parts of pip (for example, when feeding the ``pip freeze`` result back
|
||||||
|
into ``pip install``) since pip internally performs standard PEP 503
|
||||||
|
normalization independently to setuptools.
|
||||||
|
|
||||||
|
Deprecations and Removals
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
- Git version parsing is now done with regular expression to prepare for the
|
||||||
|
pending upstream removal of non-PEP-440 version parsing logic. (`#10117 <https://github.com/pypa/pip/issues/10117>`_)
|
||||||
|
- Re-enable the "Value for ... does not match" location warnings to field a new
|
||||||
|
round of feedback for the ``distutils``-``sysconfig`` transition. (`#10151 <https://github.com/pypa/pip/issues/10151>`_)
|
||||||
|
- Remove deprecated ``--find-links`` option in ``pip freeze`` (`#9069 <https://github.com/pypa/pip/issues/9069>`_)
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- New resolver: Loosen URL comparison logic when checking for direct URL reference
|
||||||
|
equivalency. The logic includes the following notable characteristics:
|
||||||
|
|
||||||
|
* The authentication part of the URL is explicitly ignored.
|
||||||
|
* Most of the fragment part, including ``egg=``, is explicitly ignored. Only
|
||||||
|
``subdirectory=`` and hash values (e.g. ``sha256=``) are kept.
|
||||||
|
* The query part of the URL is parsed to allow ordering differences. (`#10002 <https://github.com/pypa/pip/issues/10002>`_)
|
||||||
|
- Support TOML v1.0.0 syntax in ``pyproject.toml``. (`#10034 <https://github.com/pypa/pip/issues/10034>`_)
|
||||||
|
- Added a warning message for errors caused due to Long Paths being disabled on Windows. (`#10045 <https://github.com/pypa/pip/issues/10045>`_)
|
||||||
|
- Change the encoding of log file from default text encoding to UTF-8. (`#10071 <https://github.com/pypa/pip/issues/10071>`_)
|
||||||
|
- Log the resolved commit SHA when installing a package from a Git repository. (`#10149 <https://github.com/pypa/pip/issues/10149>`_)
|
||||||
|
- Add a warning when passing an invalid requirement to ``pip uninstall``. (`#4958 <https://github.com/pypa/pip/issues/4958>`_)
|
||||||
|
- Add new subcommand ``pip index`` used to interact with indexes, and implement
|
||||||
|
``pip index version`` to list available versions of a package. (`#7975 <https://github.com/pypa/pip/issues/7975>`_)
|
||||||
|
- When pip is asked to uninstall a project without the dist-info/RECORD file
|
||||||
|
it will no longer traceback with FileNotFoundError,
|
||||||
|
but it will provide a better error message instead, such as::
|
||||||
|
|
||||||
|
ERROR: Cannot uninstall foobar 0.1, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps foobar==0.1'.
|
||||||
|
|
||||||
|
When dist-info/INSTALLER is present and contains some useful information, the info is included in the error message instead::
|
||||||
|
|
||||||
|
ERROR: Cannot uninstall foobar 0.1, RECORD file not found. Hint: The package was installed by rpm. (`#8954 <https://github.com/pypa/pip/issues/8954>`_)
|
||||||
|
- Add an additional level of verbosity. ``--verbose`` (and the shorthand ``-v``) now
|
||||||
|
contains significantly less output, and users that need complete full debug-level output
|
||||||
|
should pass it twice (``--verbose --verbose`` or ``-vv``). (`#9450 <https://github.com/pypa/pip/issues/9450>`_)
|
||||||
|
- New resolver: The order of dependencies resolution has been tweaked to traverse
|
||||||
|
the dependency graph in a more breadth-first approach. (`#9455 <https://github.com/pypa/pip/issues/9455>`_)
|
||||||
|
- Make "yes" the default choice in ``pip uninstall``'s prompt. (`#9686 <https://github.com/pypa/pip/issues/9686>`_)
|
||||||
|
- Add a special error message when users forget the ``-r`` flag when installing. (`#9915 <https://github.com/pypa/pip/issues/9915>`_)
|
||||||
|
- New resolver: A distribution's ``Requires-Python`` metadata is now checked
|
||||||
|
before its Python dependencies. This makes the resolver fail quicker when
|
||||||
|
there's an interpreter version conflict. (`#9925 <https://github.com/pypa/pip/issues/9925>`_)
|
||||||
|
- Suppress "not on PATH" warning when ``--prefix`` is given. (`#9931 <https://github.com/pypa/pip/issues/9931>`_)
|
||||||
|
- Include ``rustc`` version in pip's ``User-Agent``, when the system has ``rustc``. (`#9987 <https://github.com/pypa/pip/issues/9987>`_)
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
---------
|
||||||
|
|
||||||
|
- Update vendored six to 1.16.0 and urllib3 to 1.26.5 (`#10043 <https://github.com/pypa/pip/issues/10043>`_)
|
||||||
|
- Correctly allow PEP 517 projects to be detected without warnings in ``pip freeze``. (`#10080 <https://github.com/pypa/pip/issues/10080>`_)
|
||||||
|
- Strip leading slash from a ``file://`` URL built from an path with the Windows
|
||||||
|
drive notation. This fixes bugs where the ``file://`` URL cannot be correctly
|
||||||
|
used as requirement, constraint, or index URLs on Windows. (`#10115 <https://github.com/pypa/pip/issues/10115>`_)
|
||||||
|
- New resolver: URL comparison logic now treats ``file://localhost/`` and
|
||||||
|
``file:///`` as equivalent to conform to RFC 8089. (`#10162 <https://github.com/pypa/pip/issues/10162>`_)
|
||||||
|
- Prefer credentials from the URL over the previously-obtained credentials from URLs of the same domain, so it is possible to use different credentials on the same index server for different ``--extra-index-url`` options. (`#3931 <https://github.com/pypa/pip/issues/3931>`_)
|
||||||
|
- Fix extraction of files with utf-8 encoded paths from tars. (`#7667 <https://github.com/pypa/pip/issues/7667>`_)
|
||||||
|
- Skip distutils configuration parsing on encoding errors. (`#8931 <https://github.com/pypa/pip/issues/8931>`_)
|
||||||
|
- New resolver: Detect an unnamed requirement is user-specified (by building its
|
||||||
|
metadata for the project name) so it can be correctly ordered in the resolver. (`#9204 <https://github.com/pypa/pip/issues/9204>`_)
|
||||||
|
- Fix :ref:`pip freeze` to output packages :ref:`installed from git <vcs support>`
|
||||||
|
in the correct ``git+protocol://git.example.com/MyProject#egg=MyProject`` format
|
||||||
|
rather than the old and no longer supported ``git+git@`` format. (`#9822 <https://github.com/pypa/pip/issues/9822>`_)
|
||||||
|
- Fix warnings about install scheme selection for Python framework builds
|
||||||
|
distributed by Apple's Command Line Tools. (`#9844 <https://github.com/pypa/pip/issues/9844>`_)
|
||||||
|
- Relax interpreter detection to quelch a location mismatch warning where PyPy
|
||||||
|
is deliberately breaking backwards compatibility. (`#9845 <https://github.com/pypa/pip/issues/9845>`_)
|
||||||
|
|
||||||
|
Vendored Libraries
|
||||||
|
------------------
|
||||||
|
|
||||||
|
- Upgrade certifi to 2021.05.30.
|
||||||
|
- Upgrade idna to 3.2.
|
||||||
|
- Upgrade packaging to 21.0
|
||||||
|
- Upgrade requests to 2.26.0.
|
||||||
|
- Upgrade resolvelib to 0.7.1.
|
||||||
|
- Upgrade urllib3 to 1.26.6.
|
||||||
|
|
||||||
|
|
||||||
.. note
|
.. note
|
||||||
|
|
||||||
You should *NOT* be adding new change log entries to this file, this
|
You should *NOT* be adding new change log entries to this file, this
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Fix typos in several files.
|
|
|
@ -1,7 +0,0 @@
|
||||||
New resolver: Loosen URL comparison logic when checking for direct URL reference
|
|
||||||
equivalency. The logic includes the following notable characteristics:
|
|
||||||
|
|
||||||
* The authentication part of the URL is explicitly ignored.
|
|
||||||
* Most of the fragment part, including ``egg=``, is explicitly ignored. Only
|
|
||||||
``subdirectory=`` and hash values (e.g. ``sha256=``) are kept.
|
|
||||||
* The query part of the URL is parsed to allow ordering differences.
|
|
|
@ -1 +0,0 @@
|
||||||
Annotate ``typing.List`` into ``tools.tox_pip.pip()``
|
|
|
@ -1 +0,0 @@
|
||||||
Use annotations from the ``typing`` module on some functions.
|
|
|
@ -1 +0,0 @@
|
||||||
Support TOML v1.0.0 syntax in ``pyproject.toml``.
|
|
|
@ -1 +0,0 @@
|
||||||
Update vendored six to 1.16.0 and urllib3 to 1.26.5
|
|
|
@ -1 +0,0 @@
|
||||||
Added a warning message for errors caused due to Long Paths being disabled on Windows.
|
|
|
@ -1 +0,0 @@
|
||||||
Convert type annotations into proper annotations in ``noxfile.py``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed all the annotations from ``pip/_internal/cli``.
|
|
|
@ -1 +0,0 @@
|
||||||
Change the encoding of log file from default text encoding to UTF-8.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed all the annotations from ``pip/_internal/distributions``.
|
|
|
@ -1 +0,0 @@
|
||||||
Correctly allow PEP 517 projects to be detected without warnings in ``pip freeze``.
|
|
|
@ -1 +0,0 @@
|
||||||
Convert type hint commentaries into annotations on ``setup.py``.
|
|
|
@ -1 +0,0 @@
|
||||||
Converted type commentaries into annotations in ``pip/_internal/index``.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Strip leading slash from a ``file://`` URL built from an path with the Windows
|
|
||||||
drive notation. This fixes bugs where the ``file://`` URL cannot be correctly
|
|
||||||
used as requirement, constraint, or index URLs on Windows.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Git version parsing is now done with regular expression to prepare for the
|
|
||||||
pending upstream removal of non-PEP-440 version parsing logic.
|
|
|
@ -1 +0,0 @@
|
||||||
Converted type commentaries into annotations in ``pip/_internal/metadata``.
|
|
|
@ -1 +0,0 @@
|
||||||
Converted type commentaries into annotations in ``pip/_internal/resolution``.
|
|
|
@ -1 +0,0 @@
|
||||||
Use ``--color=yes`` to color pytest outputs.
|
|
|
@ -1 +0,0 @@
|
||||||
Converted type commentaries into annotations in ``pip/_internal/locations``.
|
|
|
@ -1 +0,0 @@
|
||||||
Convert type commentaries to annotations on ``pip/_internal/models``.
|
|
|
@ -1 +0,0 @@
|
||||||
Log the resolved commit SHA when installing a package from a Git repository.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Re-enable the "Value for ... does not match" location warnings to field a new
|
|
||||||
round of feedback for the ``distutils``-``sysconfig`` transition.
|
|
|
@ -1,7 +0,0 @@
|
||||||
``pip freeze``, ``pip list``, and ``pip show`` no longer normalize underscore
|
|
||||||
(``_``) in distribution names to dash (``-``). This is a side effect of the
|
|
||||||
migration to ``importlib.metadata``, since the underscore-dash normalization
|
|
||||||
behavior is non-standard and specific to setuptools. This should not affect
|
|
||||||
other parts of pip (for example, when feeding the ``pip freeze`` result back
|
|
||||||
into ``pip install``) since pip internally performs standard PEP 503
|
|
||||||
normalization independently to setuptools.
|
|
|
@ -1 +0,0 @@
|
||||||
Complete the type annotations from ``pip/_internal/utils``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
New resolver: URL comparison logic now treats ``file://localhost/`` and
|
|
||||||
``file:///`` as equivalent to conform to RFC 8089.
|
|
|
@ -1 +0,0 @@
|
||||||
Prefer credentials from the URL over the previously-obtained credentials from URLs of the same domain, so it is possible to use different credentials on the same index server for different ``--extra-index-url`` options.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a warning when passing an invalid requirement to ``pip uninstall``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix extraction of files with utf-8 encoded paths from tars.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add new subcommand ``pip index`` used to interact with indexes, and implement
|
|
||||||
``pip index version`` to list available versions of a package.
|
|
|
@ -1 +0,0 @@
|
||||||
The source distribution re-installation feature removal has been delayed to 21.3.
|
|
|
@ -1 +0,0 @@
|
||||||
Skip distutils configuration parsing on encoding errors.
|
|
|
@ -1,9 +0,0 @@
|
||||||
When pip is asked to uninstall a project without the dist-info/RECORD file
|
|
||||||
it will no longer traceback with FileNotFoundError,
|
|
||||||
but it will provide a better error message instead, such as::
|
|
||||||
|
|
||||||
ERROR: Cannot uninstall foobar 0.1, RECORD file not found. You might be able to recover from this via: 'pip install --force-reinstall --no-deps foobar==0.1'.
|
|
||||||
|
|
||||||
When dist-info/INSTALLER is present and contains some useful information, the info is included in the error message instead::
|
|
||||||
|
|
||||||
ERROR: Cannot uninstall foobar 0.1, RECORD file not found. Hint: The package was installed by rpm.
|
|
|
@ -1 +0,0 @@
|
||||||
mailmap: Clean up Git entries
|
|
|
@ -1 +0,0 @@
|
||||||
Remove deprecated ``--find-links`` option in ``pip freeze``
|
|
|
@ -1,2 +0,0 @@
|
||||||
New resolver: Detect an unnamed requirement is user-specified (by building its
|
|
||||||
metadata for the project name) so it can be correctly ordered in the resolver.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add an additional level of verbosity. ``--verbose`` (and the shorthand ``-v``) now
|
|
||||||
contains significantly less output, and users that need complete full debug-level output
|
|
||||||
should pass it twice (``--verbose --verbose`` or ``-vv``).
|
|
|
@ -1,2 +0,0 @@
|
||||||
New resolver: The order of dependencies resolution has been tweaked to traverse
|
|
||||||
the dependency graph in a more breadth-first approach.
|
|
|
@ -1 +0,0 @@
|
||||||
Make "yes" the default choice in ``pip uninstall``'s prompt.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix :ref:`pip freeze` to output packages :ref:`installed from git <vcs support>`
|
|
||||||
in the correct ``git+protocol://git.example.com/MyProject#egg=MyProject`` format
|
|
||||||
rather than the old and no longer supported ``git+git@`` format.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix warnings about install scheme selection for Python framework builds
|
|
||||||
distributed by Apple's Command Line Tools.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Relax interpreter detection to quelch a location mismatch warning where PyPy
|
|
||||||
is deliberately breaking backwards compatibility.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a special error message when users forget the ``-r`` flag when installing.
|
|
|
@ -1,3 +0,0 @@
|
||||||
New resolver: A distribution's ``Requires-Python`` metadata is now checked
|
|
||||||
before its Python dependencies. This makes the resolver fail quicker when
|
|
||||||
there's an interpreter version conflict.
|
|
|
@ -1 +0,0 @@
|
||||||
Suppress "not on PATH" warning when ``--prefix`` is given.
|
|
|
@ -1 +0,0 @@
|
||||||
Include ``rustc`` version in pip's ``User-Agent``, when the system has ``rustc``.
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade certifi to 2021.05.30.
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade idna to 3.2.
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade packaging to 21.0
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade requests to 2.26.0.
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade resolvelib to 0.7.1.
|
|
|
@ -1 +0,0 @@
|
||||||
Upgrade urllib3 to 1.26.6.
|
|
|
@ -1,6 +1,6 @@
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
__version__ = "21.2.dev0"
|
__version__ = "21.3.dev0"
|
||||||
|
|
||||||
|
|
||||||
def main(args: Optional[List[str]] = None) -> int:
|
def main(args: Optional[List[str]] = None) -> int:
|
||||||
|
|
Loading…
Reference in a new issue