Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Import profiler to find bottlenecks in import times.

Project Description

# import-profiler
A basic python import profiler to find bottlenecks in import times. While not
often a problem, imports can be an issue for applications that need to start
quickly, such as CLI tools. The goal of import profiler is to help find the
bottlenecks when importing a given package.

## Example

This is Work in Progress. To try it out, write something as follows:

``` python
from import_profiler import profile_import

with profile_import() as context:
# Anything expensive in here
import requests

# Print cumulative and inline times. The number of + in the 3rd column
# indicates the depth of the stack.
context.print_info()
```

Output:

```
cumtime (ms) intime (ms) name
83 0.5 requests
55 0.5 +packages.urllib3.contrib
54.1 0.3 ++
53.1 0.7 +++connectionpool
6.3 1.1 ++++logging
1.4 0.5 +++++collections
2.7 1.3 +++++threading
1.4 0.3 ++++++re
7 0.7 ++++socket
5.7 5.7 +++++_ssl
7 0.1 ++++packages.ssl_match_hostname
6.9 0.1 +++++
6.8 2.3 ++++++ssl
3.2 1.5 +++++++textwrap
1.7 1.6 ++++++++string
12 0.4 ++++connection
7.7 1.1 +++++httplib
2.3 2.3 ++++++urlparse
4.2 0.2 ++++++mimetools
3.4 0.3 +++++++tempfile
2.1 1.4 ++++++++random
3.6 0.1 +++++util.ssl_
1.1 1 ++++++url
16.4 0.2 ++++request
1.5 1.4 +++++urllib.parse
14.7 0.2 +++++filepost
9.1 6 ++++++uuid
2.9 1.7 +++++++ctypes
5.4 0.2 ++++++fields
4.8 1.7 +++++++email.utils
2.4 0.2 ++++++++email._parseaddr
2.2 0.7 +++++++++calendar
1.4 1.4 ++++++++++locale
1.2 0.4 ++++response
24.8 0.4 +
1.8 1.7 ++cgi
5.4 5.4 ++platform
15.1 0.1 ++compat
2.4 0.2 +++json
1.5 0.5 ++++decoder
1.6 1.3 +++urllib2
7.6 6.8 +++cookielib
3 2.5 +++Cookie
1.5 0.6 +models
1 0.1 +api
```

# Missing features

We don't track where imports happen: it would be nice to know where a given
import in the profile output happens.

Release History

This version
History Node

0.0.3

History Node

0.0.2

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
import_profiler-0.0.3-py2.py3-none-any.whl
(5.2 kB) Copy SHA256 Hash SHA256
Wheel py2.py3 May 21, 2016
import_profiler-0.0.3.tar.gz
(3.2 kB) Copy SHA256 Hash SHA256
Source None May 21, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting