Rez
update_sphinx_documentation_2
  • API Documentation
    • rez
      • backport
      • bind
      • build_process
      • build_process_
      • build_system
      • bundle_context
      • cli
      • command
      • config
      • developer_package
      • exceptions
      • package_bind
      • package_cache
      • package_copy
      • package_filter
      • package_help
      • package_maker
      • package_maker__
      • package_move
      • package_order
      • package_py_utils
      • package_remove
      • package_repository
      • package_resources
      • package_resources_
      • package_search
      • package_serialise
      • package_test
      • packages
      • packages_
      • pip
      • plugin_managers
      • release_hook
      • release_vcs
      • resolved_context
      • resolver
      • rex
      • rex_bindings
      • rezconfig
      • serialise
      • shells
      • solver
      • status
      • suite
      • system
      • util
      • utils
      • wrapper
    • rezplugins
  • One-Liners
Rez
  • »
  • src »
  • rez »
  • rez.package_search
  • Edit on GitHub

rez.package_search

Default algorithms for searching for packages based on some criteria. Package repository plugins may implement these algorithms instead, because they may be able to search packages much faster - for example, in a database-based package repository. The algorithms here serve as backup for those package repositories that do not provide an implementation.

class rez.package_search.ResourceSearchResult(resource, resource_type, validation_error=None)[source]

Bases: object

Items from a search.

Will contain either a package, variant, or name of a package family (str).

class rez.package_search.ResourceSearchResultFormatter(output_format=None, suppress_newlines=False)[source]

Bases: object

Formats search results.

fields = ('pre_commands', 'tools', 'uuid', 'build_requires', 'version', 'timestamp', 'release_message', 'private_build_requires', 'revision', 'description', 'base', 'authors', 'variants', 'commands', 'name', 'changelog', 'post_commands', 'requires', 'root', 'index', 'uri', 'num_variants', 'qualified_name')
format_search_results(search_results)[source]

Format search results.

Parameters

search_results (list of ResourceSearchResult) – Search to format.

Returns

Text and color to print in.

Return type

List of 2-tuple

print_search_results(search_results, buf=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]

Print formatted search results.

Parameters

search_results (list of ResourceSearchResult) – Search to format.

class rez.package_search.ResourceSearcher(package_paths=None, resource_type=None, no_local=False, latest=False, after_time=None, before_time=None, validate=False)[source]

Bases: object

Search for resources (packages, variants or package families).

iter_resources(resources_request=None)[source]

Iterate over matching resources.

Parameters

resources_request (str) – Resource to search, glob-style patterns are supported. If None, returns all matching resource types.

Returns

  • str: resource type (family, package, variant);

  • Iterator of ResourceSearchResult: Matching resources. Will be in alphabetical order if families, and version ascending for packages or variants.

Return type

2-tuple

search(resources_request=None)[source]

Search for resources.

Parameters

resources_request (str) – Resource to search, glob-style patterns are supported. If None, returns all matching resource types.

Returns

  • str: resource type (family, package, variant);

  • List of ResourceSearchResult: Matching resources. Will be in alphabetical order if families, and version ascending for packages or variants.

Return type

2-tuple

rez.package_search.get_plugins(package_name, paths=None)[source]

Find packages that are plugins of the given package.

Parameters
  • package_name (str) – Name of the package.

  • paths (list of str) – Paths to search for packages, defaults to config.packages_path.

Returns

The packages that are plugins of the given package.

Return type

list of str

rez.package_search.get_reverse_dependency_tree(package_name, depth=None, paths=None, build_requires=False, private_build_requires=False)[source]

Find packages that depend on the given package.

This is a reverse dependency lookup. A tree is constructed, showing what packages depend on the given package, with an optional depth limit. A resolve does not occur. Only the latest version of each package is used, and requirements from all variants of that package are used.

Parameters
  • package_name (str) – Name of the package depended on.

  • depth (int) – Tree depth limit, unlimited if None.

  • paths (list of str) – paths to search for packages, defaults to config.packages_path.

  • build_requires (bool) – If True, includes packages’ build_requires.

  • private_build_requires (bool) – If True, include package_name’s private_build_requires.

Returns

  • (list of list of str): Lists of package names, where each list is a single depth in the tree. The first list is always [package_name].

  • pygraph.digraph object, where nodes are package names, and package_name is always the leaf node.

Return type

A 2-tuple

Previous Next

© Copyright 2014, Allan Johns. Revision 8b55b091.

Built with Sphinx using a theme provided by Read the Docs.