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.

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.0.tar.gz (11.2 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.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyre_tools-1.6.0.tar.gz
  • Upload date:
  • Size: 11.2 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.0.tar.gz
Algorithm Hash digest
SHA256 529fbbb4f82f32e71ad327d076535d03fe4ea116c58ea198f099a6e04462622b
MD5 2edd8edb1dd77ebfb20ce90744166f8b
BLAKE2b-256 4f2d9e99c9da87ad4507a7910c4fc0d628c561995e519191b888a2691b6890aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyre_tools-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d94dfd9144e57b250724adee0f85a4b69d858df1267fc567d796fc8a164806e5
MD5 e7ad991216ff0e0de863cea95d817f41
BLAKE2b-256 fb4f764aa2d016981ab583364a82770a6141d89f0937d5c181f5563f7447c271

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