| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
| |
Fix issue #907, adding minimal appdirs requirement version
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This caches the result of the function for future invocations with the same
input, which can massively speed up future invocations if they have the same
input as previous calls.
In the case of this function this happens a lot, as it always is tried with all
parent paths in the file system from `isort` starting point.
The "backports.functools_lru_cache" package is used for Python 2 as it doesn't
have the built in `lru_cache` decorator which was added in Python 3.2.
Some benchmarks against a folder with 182 Python files with all finders enabled:
Python 2.7.15: Before 32 seconds, after 4 seconds.
Python 3.7.2: Before 28 seconds, after 2 seconds.
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
In addition to ~/.isort.cfg, isort will try to read a configuration file from
$XDG_CONFIG_HOME/isort.cfg
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As isort is primarily used as a command-line tool, it is in a good
position to move to Python 3 only. Other command-line-only tools have
begun moving to Python 3. For example: black, mypy, pylint, and Sphinx.
It will continue to support formatting Python 2 code, so users can still
format their Python 2 projects.
Allows for many code cleanups. By removing these workarounds, the
project will be easier to maintain and reduce testing resources.
Python 2 is scheduled to be EOL on January 1, 2020. The Python community
is moving on.
https://www.python.org/dev/peps/pep-0373/
For reasons to drop Python 2 support, see:
https://python3statement.org/
For an overview of projects that have dropped Python 2 support entirely,
see:
https://hugovk.github.io/drop-python/2.7/
Fixes #808
|
|
|
|
|
|
|
|
|
|
| |
Parse pyproject.toml using a TOML parser (pytoml), not configparser.
Installing pytoml is optional through the extra 'pyproject'. Handles
TOML quoting and types.
Refs #790
Refs #760
Fixes #763
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoids duplicating the list of dependencies. They will now always stay
in sync with the setuptools definition. The feature was added in tox
2.4 (2016-10-12), so added a "minversion" to the configuration.
https://tox.readthedocs.io/en/latest/config.html#conf-extras
> extras
>
> A list of “extras” to be installed with the sdist or develop install.
> For example, extras = testing is equivalent to [testing] in a pip
> install command.
|
|\
| |
| | |
Drop legacy distutils fallback in setup.py
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The command "python setup.py test" hasn't been used for testing since
ea10824e12e7d9409e7a8918094c1dbfa2d66f05. Can greatly simplify setup.py
and testing by removing the unnecessary workarounds for this.
The distutils package is not recommended for use and unnecessary for
modern Python environments. Use only setuptools instead. From
https://docs.python.org/3/library/distutils.html:
> Most Python users will not want to use this module directly, but
> instead use the cross-version tools maintained by the Python Packaging
> Authority. In particular, setuptools is an enhanced alternative to
> distutils ...
>
> The recommended pip installer runs all setup.py scripts with
> setuptools, even if the script itself only imports distutils. Refer to
> the Python Packaging User Guide for more information.
|
|\ \
| | |
| | | |
Add testing and document support for Python 3.7
|
| |/
| |
| |
| |
| |
| | |
Python 3.7 was released on June 27, 2018.
https://docs.python.org/3/whatsnew/3.7.html
|
| |
| |
| |
| |
| |
| |
| | |
Some packages contains `-` into their names, but installed modules uses
`_` instead.
Example: `Flask-RESTFul` package installs module `flask_restful`.
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The "futures" package need only be installed on Python 2. To specify a
conditional dependency, setuptools, pip, and wheel support "environment
markers". Use this mechanism instead of adding install time logic to the
setup.py file.
Allows restoring universal wheel support, allowing a single wheel for
all version of Python.
For additional details on wheel support for environment markers, see the
documentation at:
https://wheel.readthedocs.io/en/stable/index.html#defining-conditional-dependencies
> Defining conditional dependencies
>
> In wheel, the only way to have conditional dependencies (that might
> only be needed on certain platforms) is to use environment markers as
> defined by PEP 426.
>
> ...
>
> As of setuptools 36.2.1, you can pass extras as part of
> install_requires. The above requirements could thus be written like
> this:
>
> install_requires=[
> 'argparse; python_version=="2.6"',
> 'keyring; extra=="signatures"',
> 'pyxdg; extra=="signatures" and sys_platform!="win32"',
> 'ed25519ll; extra=="faster-signatures"'
> ]
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Helps pip decide what version of the library to install.
https://packaging.python.org/tutorials/distributing-packages/#python-requires
> If your project only runs on certain Python versions, setting the
> python_requires argument to the appropriate PEP 440 version specifier
> string will prevent pip from installing the project on other Python
> versions.
https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords
> python_requires
>
> A string corresponding to a version specifier (as defined in PEP 440)
> for the Python version, used to specify the Requires-Python defined in
> PEP 345.
|
|\ |
|
| |\ |
|
| | | |
|
| |/
|/| |
|
|\ \
| |/ |
|
| | |
|
|/
|
|
| |
This reverts commit 5bb3309ff3652d7cd1144e9c081acbe16a8a345e.
|
| |
|