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.3.0.tar.gz (4.4 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.3.0-py2.py3-none-any.whl (4.7 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: classify_imports-4.3.0.tar.gz
  • Upload date:
  • Size: 4.4 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.3.0.tar.gz
Algorithm Hash digest
SHA256 09b6133a02697c80fcec5e8250bd630634f27efd36136edd873c47cf8c1c63e1
MD5 ed59dfe6cd636e8e249c0ff3c1c1a81c
BLAKE2b-256 e74aa4f4026f8c4c19470ebad03d7ab36d21d6d5ab1a9e7b65e1bb283128df57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for classify_imports-4.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2099bd5d890834e3048524c55716075a9b42894cf4c39fcab9561368b60bac73
MD5 2a8edc66f116e2f5e74a34ca2965f977
BLAKE2b-256 e23d3c016dac5e52fbe8722f95ea6ae0a4a1ba95bbd9ad696cf8781c8c329128

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