Skip to main content

Profimp - python imports tracer

https://img.shields.io/coveralls/boris-42/profimp.svg https://api.travis-ci.org/boris-42/profimp.svg?branch=master https://pypip.in/version/profimp/badge.svg https://pypip.in/py_versions/profimp/badge.svg https://pypip.in/download/profimp/badge.svg

Profimp allows you to trace imports of your code.

This lib should be used to simplify optimization of imports in your code. At least you will find what consumes the most part of time and do the right decisions.

Installation

Installation of profimp is super easy:

sudo pip install profimp

or

git clone https://github.com/boris-42/profimp && cd profimp
sudo python setup.py install

Usage

Syntax:

profimp [import_module_line] [--html]

Samples:

profimp "import collections"

profimp "from somemoudle import something"

prpfimp --html "import multiprocessing"

Pretty HTML reports

if you run prpfimp with –html key you will get pretty html output

profimp "import collections"
American Gothic

Raw JSON Results

In output you will see something like:

profimp "import collections"

{
  "level": 0,
  "finished_at": 1427986324.921502,
  "import_line": "root",
  "duration": 1.0581016540527344,
  "started_at": 1427986324.920444,
  "children": [
    {
      "level": 1,
      "finished_at": 1427986324.9215,
      "import_line": "import collections",
      "duration": 1.0390281677246094,
      "started_at": 1427986324.920461,
      "children": [
        {
          "level": 2,
          "finished_at": 1427986324.920694,
          "import_line": "from _abcoll import *",
          "duration": 0.006198883056640625,
          "started_at": 1427986324.920688,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920702,
          "import_line": "import _abcoll",
          "duration": 0.0019073486328125,
          "started_at": 1427986324.9207,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920891,
          "import_line": "from _collections import deque, defaultdict",
          "duration": 0.1850128173828125,
          "started_at": 1427986324.920706,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.920899,
          "import_line": "from operator import itemgetter, eq",
          "duration": 0.00286102294921875,
          "started_at": 1427986324.920896,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921064,
          "import_line": "from keyword import iskeyword",
          "duration": 0.16188621520996094,
          "started_at": 1427986324.920902,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.92107,
          "import_line": "import sys",
          "duration": 0.0021457672119140625,
          "started_at": 1427986324.921068,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921402,
          "import_line": "import heapq",
          "duration": 0.3299713134765625,
          "started_at": 1427986324.921072,
          "children": [
            {
              "level": 3,
              "finished_at": 1427986324.921241,
              "import_line": "from itertools import islice, count, imap, izip, tee, chain",
              "duration": 0.0040531158447265625,
              "started_at": 1427986324.921237,
              "children": []
            },
            {
              "level": 3,
              "finished_at": 1427986324.921246,
              "import_line": "from operator import itemgetter",
              "duration": 0.0021457672119140625,
              "started_at": 1427986324.921244,
              "children": []
            },
            {
              "level": 3,
              "finished_at": 1427986324.921391,
              "import_line": "from _heapq import *",
              "duration": 0.13899803161621094,
              "started_at": 1427986324.921252,
              "children": []
            }
          ]
        },
        {
          "level": 2,
          "finished_at": 1427986324.921409,
          "import_line": "from itertools import repeat, chain, starmap",
          "duration": 0.00286102294921875,
          "started_at": 1427986324.921406,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921413,
          "import_line": "from itertools import imap",
          "duration": 0.0019073486328125,
          "started_at": 1427986324.921411,
          "children": []
        },
        {
          "level": 2,
          "finished_at": 1427986324.921455,
          "import_line": "from thread import get_ident",
          "duration": 0.03981590270996094,
          "started_at": 1427986324.921415,
          "children": []
        }
      ]
    }
  ]

Metadata

Release files for profimp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for profimp 0.1.0
File Size Uploaded
profimp-0.1.0.tar.gz 193.4 kB Details

Release files / profimp-0.1.0.tar.gz

Download URL profimp-0.1.0.tar.gz
Size 193.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d18e0145e131092a5d467e3a04a9034064856dfd5e1860ed6354dd844c9e0d54
BLAKE2b-256 checksum
How to use checksums
70ef88078eb6d309242bc75cd1eb1f035a8489ce539b8ee44fc53300170d0d92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.7.0 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page