Utilities for refactoring imports in python-like syntax.
Project Links
Meta
Author: Anthony Sottile
Requires Python: >=3.10
Classifiers
Programming Language
- Python :: 3
- Python :: 3 :: Only
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
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, Classified
>>> classify_base('__future__')
'FUTURE'
>>> classify_base('classify_imports')
'APPLICATION'
>>> classify_base('pyramid')
'THIRD_PARTY'
>>> classify_base('os')
'BUILTIN'
>>> classify_base(import_obj_from_str('import os.path').module_base)
'BUILTIN'
>>> Classified.APPLICATION
'APPLICATION'
>>> Classified.order
('FUTURE', 'BUILTIN', 'THIRD_PARTY', 'APPLICATION')
4.5.0
Jul 10, 2026
4.4.1
Jul 10, 2026
4.4.0
Jul 10, 2026
4.3.0
Jul 10, 2026
4.2.0
Jul 31, 2022
4.1.0
Jul 07, 2022
4.0.2
Jul 02, 2022
4.0.1
Jul 02, 2022
4.0.0
Jul 02, 2022
Wheel compatibility matrix
Files in release
No dependencies