RENAMED
this library has been rewritten and renamed to classify-imports for version 4
aspy.refactor_imports
Utilities for refactoring imports in python-like syntax.
Installation
pip install aspy.refactor_imports
Examples
aspy.refactor_imports.import_obj
Constructing an import object
>>> from aspy.refactor_imports.import_obj import FromImport
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> FromImport.from_str('from foo import bar').to_text()
'from foo import bar\n'
>>> ImportImport.from_str('import bar as baz').to_text()
'import bar as baz\n'
Splitting an import object
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> obj = ImportImport.from_str('import foo, bar, baz')
>>> [i.to_text() for i in obj.split_imports()]
['import foo\n', 'import bar\n', 'import baz\n']
Sorting import objects
>>> import pprint
>>> from aspy.refactor_imports.import_obj import FromImport
>>> objs = sorted([
FromImport.from_str('from a import foo'),
FromImport.from_str('from a.b import baz'),
FromImport.from_str('from a import bar'),
FromImport.from_str('from a import bar as buz'),
FromImport.from_str('from a import bar as baz'),
])
>>> pprint.pprint([i.to_text() for i in objs])
['from a import bar\n',
'from a import bar as baz\n',
'from a import bar as buz\n',
'from a import foo\n',
'from a.b import baz\n']
# Or to partition into blocks (even with mixed imports)
>>> import buck.pprint as pprint
>>> from aspy.refactor_imports.import_obj import FromImport
>>> from aspy.refactor_imports.import_obj import ImportImport
>>> from aspy.refactor_imports.sort import sort
>>> partitioned = sort(
[
FromImport.from_str('from aspy import refactor_imports'),
ImportImport.from_str('import sys'),
FromImport.from_str('from pyramid.view import view_config'),
ImportImport.from_str('import cached_property'),
],
separate=True,
import_before_from=True,
))
>>> pprint.pprint(partitioned)
(
(ImportImport.from_str('import sys\n'),),
(
ImportImport.from_str('import cached_property\n'),
FromImport.from_str('from pyramid.view import view_config\n'),
),
(FromImport.from_str('from aspy import refactor_imports\n'),),
)
aspy.refactor_imports.classify
Classify a module
>>> from aspy.refactor_imports.classify import classify_import
>>> classify_import('__future__')
'FUTURE'
>>> classify_import('aspy')
'APPLICATION'
>>> classify_import('pyramid')
'THIRD_PARTY'
>>> classify_import('os')
'BUILTIN'
>>> classify_import('os.path')
'BUILTIN'
Also as convenient constants
## From aspy.refactor_imports.classify
class ImportType(object):
__slots__ = ()
FUTURE = 'FUTURE'
BUILTIN = 'BUILTIN'
THIRD_PARTY = 'THIRD_PARTY'
APPLICATION = 'APPLICATION'
__all__ = (FUTURE, BUILTIN, THIRD_PARTY, APPLICATION)
Metadata
Release files for aspy.refactor-imports 3.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aspy.refactor_imports-3.0.2.tar.gz | 7.6 kB | Without provenance | Details for aspy.refactor_imports-3.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aspy.refactor_imports-3.0.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for aspy.refactor_imports-3.0.2-py2.py3-none-any.whl |
Total release size: 15.5 kB
Release files / aspy.refactor_imports-3.0.2.tar.gz
| Download URL | aspy.refactor_imports-3.0.2.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c7329cdb2613c46fcd757c8e45120efbc3d4b9db805092911eb605c19c5795c
|
|
BLAKE2b-256 checksum How to use checksums |
1d2c051d8bcdce88969dd9f2d96b97cdf7ce55e6fa54e609ad79fd3423f424a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
|
Release files / aspy.refactor_imports-3.0.2-py2.py3-none-any.whl
| Download URL | aspy.refactor_imports-3.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
f306037682479945df61b2e6d01bf97256d68f3e704742768deef549e0d61fbb
|
|
BLAKE2b-256 checksum How to use checksums |
fad318747b53e6b92bdc2bb3eae56f27f4aea6b6c1228a45372484984aea84c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10
|
Security for aspy.refactor-imports 3.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.