Skip to main content

Utilities for refactoring imports in python-like syntax.

Project description

Build Status Azure DevOps coverage 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.2.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

classify_imports-4.2.0-py2.py3-none-any.whl (5.4 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: classify_imports-4.2.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for classify_imports-4.2.0.tar.gz
Algorithm Hash digest
SHA256 7abfb7ea92149b29d046bd34573d247ba6e68cc28100c801eba4af17964fc40e
MD5 37447033e241d596828133c2c7c704a3
BLAKE2b-256 7eb66cdc486fced92110a8166aa190b7d60435165119990fc2e187a56d15144b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: classify_imports-4.2.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for classify_imports-4.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dbbc264b70a470ed8c6c95976a11dfb8b7f63df44ed1af87328bbed2663f5161
MD5 44409567ff808043a36a84c9500bc8d6
BLAKE2b-256 8ba5f752351ea2652744f711bf5d478f00e2ceeeff0def6316ea9e1bfa18d8d2

See more details on using hashes here.

Supported by

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