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.5.0.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.5.0-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: classify_imports-4.5.0.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.5.0.tar.gz
Algorithm Hash digest
SHA256 83af69ba9d4d05dd15146848d7b2cfa900a8f5cc81f26693688af73e8b199497
MD5 43abbd3ee4c474de6c5fcbe527c0e40b
BLAKE2b-256 b5ac1223bc31ef2947227fe8c705efd005e6d06170cff33db3ccaef34ab98b69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for classify_imports-4.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 04f37f789241f2f35cb04b63de8f77b502405bba144402a97b75542582fbdcdc
MD5 cb718cd59f181d0b19caa3699e73ccbd
BLAKE2b-256 0ed223d18e9a5047bb2b5a30b82fd89aa22b095e3347b7dc0f1dc624fa011564

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