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

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: classify_imports-4.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 da154c05f87e37d04b141709e6e9e0626a1cf0c2cbf1d544b812f1c7bc50da4b
MD5 24de00641b4e8f2967a6754e7d4c82cd
BLAKE2b-256 2ede050770b586924a53068b901279dd652c103160def2206d39839f7fbf377d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for classify_imports-4.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 56aa2250c93ac5f82ecf8eb410c70879aedf326916a7c1983c9eb9cb86736219
MD5 4b00bc8a6eaeb38378aa3ab257c7c3b9
BLAKE2b-256 e5210b1584c30bff9f9277055fa729a1e798e0637a0ccbb61a96165ddc7fc951

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