Utilities for refactoring imports in python-like syntax.
Project description
classify-imports
Utilities for refactoring imports in python-like syntax.
installation
pip install classify-imports
examples
splitting an import object
>>> from classify_imports import import_obj_from_str
>>> obj = import_obj_from_str('import foo, bar, baz')
>>> [str(i) for i in obj.split()]
['import foo\n', 'import bar\n', 'import baz\n']
sorting import objects
# Or to partition into blocks (even with mixed imports)
>>> import pprint
>>> from classify_imports import import_obj_from_str, sort
>>> partitioned = sort(
[
import_obj_from_str('from classify_imports import sort'),
import_obj_from_str('import sys'),
import_obj_from_str('from pyramid.view import view_config'),
import_obj_from_str('import cached_property'),
],
)
>>> pprint.pprint(partitioned)
(
(import_obj_from_str('import sys\n'),),
(
import_obj_from_str('import cached_property\n'),
import_obj_from_str('from pyramid.view import view_config\n'),
),
(import_obj_from_str('from classify_imports import sort\n'),),
)
classify a module
>>> from classify_imports import classify_base, import_obj_from_str
>>> classify_base('__future__')
<Classified.FUTURE: 0>
>>> classify_base('classify_imports')
<Classified.APPLICATION: 3>
>>> classify_base('pyramid')
<Classified.THIRD_PARTY: 2>
>>> classify_base('os')
<Classified.BUILTIN: 1>
>>> classify_base(import_obj_from_str('import os.path').module_base)
<Classified.BUILTIN: 1>
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
classify_imports-4.0.1.tar.gz
(5.2 kB
view hashes)
Built Distribution
Close
Hashes for classify_imports-4.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa5ed4a55a6956081b162a31540933dc8f2d1cef15d46729a84b6d985fbd5718 |
|
MD5 | ebb7d92e27a953192d004f3928d18c51 |
|
BLAKE2b-256 | 5ac78853db82d3f0dd580b3aa0b097e1f3a196ec8809821c65b700de1bc33e87 |