Skip to main content

CLI and importable library for Python dependency analysis and bootstrap.

Project description

pyre_tools

pyre_tools is a Python dependency analysis tool that works both as a CLI and as an importable module.

Install

pip install pyre_tools

CLI

Analyze a project:

pyre_tools path/to/project

Analyze and install missing dependencies:

pyre_tools path/to/project --install

Generate requirements.txt and pyproject.toml:

pyre_tools path/to/project --write-files

The legacy pyre command is still available as a compatibility alias.

pyre_tools -h also shows how to call the package as a module from other Python code. If you hit Ubuntu/Debian user-site pip environment issues, run:

pyre --repair-hints

The CLI defaults to English for terminal compatibility. You can switch languages with:

pyre --lang zh path/to/project
pyre --lang en path/to/project

Python API

import pyre_tools; pyre_tools.shield()

Put that line at the top of your entry script. pyre_tools will infer the current project, install missing dependencies, and restart the process once if it had to patch the environment.

shield() now does a fast preflight on the current script first:

  • local project modules like utils.py or utils/ are treated as already satisfied
  • already importable dependencies are accepted immediately
  • only real missing modules fall back to full project analysis and installation
  • in REPL / python -c mode, it falls back to the current working directory instead of trying to parse <stdin> or <string>

Public API

  • analyze_path(path, include_stdlib=False)
  • bootstrap(path=".", auto_install=True, output_dir=None, write_files=False, include_stdlib=False, upgrade=False)
  • check_and_install_dependencies(path=".", auto_install=True, output_dir=None, write_files=False, include_stdlib=False, upgrade=False)
  • shield(path=None, auto_install=True, output_dir=None, write_files=False, include_stdlib=False, upgrade=False, restart_on_install=True)
  • find_missing_requirements(report_or_requirements)
  • install_requirements(requirements, python_executable=None, upgrade=False)
  • export_requirements(requirements, output_path)
  • export_pyproject_toml(requirements, output_path, project_name)
  • get_install_hint(package_name="pyre_tools")
  • format_module_not_found_hint(module_name="pyre_tools", package_name="pyre_tools")

Notes

  • The importable module name is pyre_tools.
  • The primary console command is also pyre_tools.
  • This makes missing-module guidance straightforward: if users see ModuleNotFoundError: No module named 'pyre_tools', the install command is pip install pyre_tools.
  • The shortest module integration is import pyre_tools; pyre_tools.shield().

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

pyre_tools-1.6.2.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

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

pyre_tools-1.6.2-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file pyre_tools-1.6.2.tar.gz.

File metadata

  • Download URL: pyre_tools-1.6.2.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for pyre_tools-1.6.2.tar.gz
Algorithm Hash digest
SHA256 e03a569ff38d581b893b4bc643d37348f6df38a27dc410fc7f67ca357f187ec5
MD5 3829b6cd288fac617ddddf15a5ca3197
BLAKE2b-256 f9c573ae73deb12cd1ca0983caa38b0bfe9c08d99832b9c90e764eebcbaada32

See more details on using hashes here.

File details

Details for the file pyre_tools-1.6.2-py3-none-any.whl.

File metadata

  • Download URL: pyre_tools-1.6.2-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for pyre_tools-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ea6a2f79dec532cb742cd6aa6ac2a4ea645086a0969f1b1e3a24b556d3463333
MD5 340e228c3ddddb986b833810633d9e9b
BLAKE2b-256 f19d60da6c694b5d604033f97ea7064b3381690780d65a674dac3e7992d9ff14

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