Skip to main content

Utilities for refactoring imports in python-like syntax.

Project description

build status pre-commit.ci status

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')

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.4.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

classify_imports-4.4.1-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file classify_imports-4.4.1.tar.gz.

File metadata

  • Download URL: classify_imports-4.4.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for classify_imports-4.4.1.tar.gz
Algorithm Hash digest
SHA256 a3792ca499f1ed781254583229f291c1ae20cc1584a86c6b405d30b0ac6ce946
MD5 bbace8d40e792fcebfe6700a2d8314dd
BLAKE2b-256 241d8a1f3154db30a0ba2e3f9b076ca6395c9a68e077be5fc08a9e395a98d78f

See more details on using hashes here.

File details

Details for the file classify_imports-4.4.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for classify_imports-4.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7cfbc59a1f65a2b077fee2b56f804e9d421359db761eafd392f63fc7f91b0aa7
MD5 96ee7fc7f40d78319e81ce7e104d788e
BLAKE2b-256 64e3d6d6655c3e106f66e49d5ca294edd6357bc849f99babdb245efd5ecc5892

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page