Skip to main content

Show how long each Python import takes during startup

Project description

philiprehberger-import-profiler

Show how long each Python import takes during startup.

Installation

pip install philiprehberger-import-profiler

Usage

from philiprehberger_import_profiler import profile_imports

report = profile_imports("my_package")

# Slowest imports
for entry in report.slowest(10):
    print(f"{entry.name}: {entry.duration_ms:.1f}ms")

# Tree view
report.print_tree(threshold_ms=5.0)
# └── my_package (124.5ms)
#     ├── requests (45.2ms)
#     │   └── urllib3 (22.1ms)
#     └── numpy (62.0ms)

# Summary
print(f"Total: {report.total_ms:.1f}ms, Modules: {report.module_count}")

# Export
data = report.to_dict()

API

  • profile_imports(module_name) — Profile all imports, returns ImportReport
  • report.slowest(n) — Top N slowest imports
  • report.print_tree(threshold_ms=0) — Print indented tree
  • report.total_ms — Total import time
  • report.to_dict() — Export as list of dicts

License

MIT

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

philiprehberger_import_profiler-0.1.1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file philiprehberger_import_profiler-0.1.1.tar.gz.

File metadata

File hashes

Hashes for philiprehberger_import_profiler-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e56be80155eadf1d02754957537d3325c00c196f5cb87204205f573d134275b8
MD5 950862c3faee63d7bb1ab8d8ca71fc09
BLAKE2b-256 4031aacf8fb0292fc5ebc5f78c6b9a1a8099e285c4bca7ae72223ed07effd733

See more details on using hashes here.

File details

Details for the file philiprehberger_import_profiler-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for philiprehberger_import_profiler-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ee481709859f31e57ea4dba49b2d9ba346abf8484e0017441e53c4d4a5ea032
MD5 c341475d613b41cab8f796c04ca94b02
BLAKE2b-256 ee22071eebbbe1c55f14b60ffa6d30d220c084434b0af25cbc2ca8c879ea1676

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