SYMBOL INDEX (219 symbols across 48 files) FILE: pipcompilemulti/actions.py function recompile (line 16) | def recompile(): function compile_topologically (line 34) | def compile_topologically(env_confs, deduplicator): FILE: pipcompilemulti/cli_v1.py function cli (line 21) | def cli(ctx): function verify (line 32) | def verify(ctx): function exception_hook (line 43) | def exception_hook(exctype, value, traceback): function trim_traceback (line 48) | def trim_traceback(traceback): FILE: pipcompilemulti/cli_v2.py function cli (line 22) | def cli(): function lock (line 28) | def lock(): function upgrade (line 35) | def upgrade(packages): function verify (line 42) | def verify(ctx): function skipper (line 53) | def skipper(func): function run_configurations (line 68) | def run_configurations(callback, sections_reader, **overrides): FILE: pipcompilemulti/config.py function read_config (line 11) | def read_config(): function filter_sections (line 19) | def filter_sections(sections): function read_sections (line 37) | def read_sections(): function _read_cfg_sections (line 45) | def _read_cfg_sections(): function _read_toml_sections (line 61) | def _read_toml_sections(): function _make_toml_scalar (line 93) | def _make_toml_scalar(v: object) -> str: function _collect_feature_options (line 105) | def _collect_feature_options() -> Dict[str, ClickOption]: function parse_value (line 116) | def parse_value(key: str, value: str) -> Union[str, List[str], bool]: function python_version_matchers (line 128) | def python_version_matchers(): FILE: pipcompilemulti/deduplicate.py class PackageDeduplicator (line 11) | class PackageDeduplicator: method __init__ (line 14) | def __init__(self): method on_discover (line 18) | def on_discover(self, env_confs): method register_packages_for_env (line 22) | def register_packages_for_env(self, in_path, packages): method ignored_packages (line 26) | def ignored_packages(self, in_path): method recursive_refs (line 33) | def recursive_refs(self, in_path): class IgnoredPackages (line 40) | class IgnoredPackages: method __init__ (line 48) | def __init__(self, package_versions): method __getitem__ (line 55) | def __getitem__(self, key): method __contains__ (line 59) | def __contains__(self, key): method _make_stem (line 63) | def _make_stem(cls, name): FILE: pipcompilemulti/dependency.py class Dependency (line 8) | class Dependency(object): # pylint: disable=too-many-instance-attributes method __init__ (line 87) | def __init__(self, line): method serialize (line 123) | def serialize(self): method without_editable (line 161) | def without_editable(cls, line): method drop_post (line 173) | def drop_post(self, in_path): method _adjust_span (line 178) | def _adjust_span(span, matchobj): FILE: pipcompilemulti/discover.py function discover (line 15) | def discover(glob_pattern): function order_by_refs (line 58) | def order_by_refs(envs): FILE: pipcompilemulti/environment.py class Environment (line 18) | class Environment(object): method __init__ (line 24) | def __init__(self, in_path, deduplicator=None): method maybe_create_lockfile (line 35) | def maybe_create_lockfile(self): method create_lockfile (line 54) | def create_lockfile(self): method parse_references (line 83) | def parse_references(cls, filename): method name (line 103) | def name(self): method infile (line 108) | def infile(self): method outfile (line 113) | def outfile(self): method pin_command (line 118) | def pin_command(self): method fix_lockfile (line 127) | def fix_lockfile(self): method concatenated (line 143) | def concatenated(fp): method parse_sections (line 166) | def parse_sections(self, lines): method fix_pin (line 187) | def fix_pin(self, section): method add_references (line 217) | def add_references(self, other_in_paths): method split_header (line 235) | def split_header(fp): method replace_header (line 251) | def replace_header(self, header_text): method _read_infile (line 259) | def _read_infile(self): method _restore_in_file (line 263) | def _restore_in_file(self, content): method _inject_sink (line 267) | def _inject_sink(self): FILE: pipcompilemulti/features/add_hashes.py class AddHashes (line 49) | class AddHashes(BaseFeature): method __init__ (line 63) | def __init__(self, controller): method enabled_in_paths (line 68) | def enabled_in_paths(self): method on_discover (line 84) | def on_discover(self, env_confs): method _needs_hashes (line 92) | def _needs_hashes(self, in_path): method pin_options (line 96) | def pin_options(self, in_path): FILE: pipcompilemulti/features/annotate_index.py class AnnotateIndex (line 40) | class AnnotateIndex(ForwardOption): FILE: pipcompilemulti/features/autoresolve.py class Autoresolve (line 46) | class Autoresolve(BaseFeature): method __init__ (line 57) | def __init__(self): method enabled (line 61) | def enabled(self): method on_discover (line 65) | def on_discover(self, env_confs): method sink_path (line 69) | def sink_path(self): method _find_sink (line 74) | def _find_sink(envs): FILE: pipcompilemulti/features/backtracking.py class Backtracking (line 30) | class Backtracking(ForwardOption): FILE: pipcompilemulti/features/base.py class ClickOption (line 8) | class ClickOption: method __init__ (line 11) | def __init__(self, method decorate (line 26) | def decorate(self, command): method decorator (line 30) | def decorator(self): method argument_name (line 45) | def argument_name(self): class BaseFeature (line 56) | class BaseFeature: method bind (line 62) | def bind(self, command): method extract_option (line 66) | def extract_option(self, kwargs): method value (line 80) | def value(self): method value (line 85) | def value(self, new_value): FILE: pipcompilemulti/features/base_dir.py class BaseDir (line 24) | class BaseDir(BaseFeature): method path (line 37) | def path(self): method file_path (line 45) | def file_path(self, file_name): FILE: pipcompilemulti/features/build_isolation.py class BuildIsolation (line 25) | class BuildIsolation(ForwardOption): FILE: pipcompilemulti/features/compatible.py class Compatible (line 31) | class Compatible(BaseFeature): method patterns (line 44) | def patterns(self): method constraint (line 48) | def constraint(self, package_name): method is_matched (line 61) | def is_matched(self, package_name): FILE: pipcompilemulti/features/controller.py class FeaturesController (line 29) | class FeaturesController: method __init__ (line 33) | def __init__(self): method bind (line 83) | def bind(self, command): method pin_command (line 96) | def pin_command(self): method pin_options (line 117) | def pin_options(self, in_path): method compose_input_file_path (line 135) | def compose_input_file_path(self, basename): method compose_output_file_path (line 141) | def compose_output_file_path(self, in_path): method drop_post (line 145) | def drop_post(self, in_path, package_name, version): method constraint (line 153) | def constraint(self, package_name): method on_discover (line 157) | def on_discover(self, env_confs): method affected (line 169) | def affected(self, in_path): method included (line 177) | def included(self, in_path): method get_header_text (line 181) | def get_header_text(self): method sink_in_path (line 185) | def sink_in_path(self): method sink_out_path (line 189) | def sink_out_path(self): method process_dependency_comments (line 199) | def process_dependency_comments(self, comment): method pipe_arguments (line 203) | def pipe_arguments(self): FILE: pipcompilemulti/features/emit_find_links.py class EmitFindLinks (line 42) | class EmitFindLinks(ForwardOption): FILE: pipcompilemulti/features/emit_trusted_host.py class EmitTrustedHost (line 39) | class EmitTrustedHost(ForwardOption): FILE: pipcompilemulti/features/extra_index_url.py class ExtraIndexUrl (line 47) | class ExtraIndexUrl(BaseFeature): method pin_options (line 61) | def pin_options(self): FILE: pipcompilemulti/features/file_extensions.py class InputExtension (line 24) | class InputExtension(BaseFeature): method compose_input_file_name (line 36) | def compose_input_file_name(self, base_name): class OutputExtension (line 45) | class OutputExtension(BaseFeature): method compose_output_file_path (line 57) | def compose_output_file_path(self, in_path): FILE: pipcompilemulti/features/forbid_post.py class ForbidPost (line 28) | class ForbidPost(BaseFeature): method enabled_envs (line 42) | def enabled_envs(self): method drop_post (line 47) | def drop_post(version): method post_forbidden (line 60) | def post_forbidden(self, env_name): FILE: pipcompilemulti/features/forward.py class ForwardOption (line 6) | class ForwardOption(BaseFeature): method enabled (line 15) | def enabled(self): method pin_options (line 19) | def pin_options(self): FILE: pipcompilemulti/features/header.py class CustomHeader (line 31) | class CustomHeader(BaseFeature): method __init__ (line 42) | def __init__(self): method text (line 46) | def text(self): method _read_header_text (line 55) | def _read_header_text(self): FILE: pipcompilemulti/features/limit_in_paths.py class LimitInPaths (line 37) | class LimitInPaths(BaseFeature): method __init__ (line 65) | def __init__(self): method direct_envs (line 69) | def direct_envs(self): method on_discover (line 73) | def on_discover(self, env_confs): method included (line 86) | def included(self, in_path): FILE: pipcompilemulti/features/live_output.py class LiveOutput (line 23) | class LiveOutput(BaseFeature): method pipe_arguments (line 34) | def pipe_arguments(self): FILE: pipcompilemulti/features/skip_constraint_comments.py class SkipConstraintComments (line 37) | class SkipConstraintComments(BaseFeature): method enabled (line 58) | def enabled(self): method process_dependency_comments (line 62) | def process_dependency_comments(self, comment): method _drop_sink_comment (line 68) | def _drop_sink_comment(self, comment): method _collapse_single_via (line 87) | def _collapse_single_via(self, lines): FILE: pipcompilemulti/features/strip_extras.py class StripExtras (line 21) | class StripExtras(ForwardOption): FILE: pipcompilemulti/features/unsafe.py class AllowUnsafe (line 31) | class AllowUnsafe(ForwardOption): FILE: pipcompilemulti/features/upgrade.py class UpgradeAll (line 50) | class UpgradeAll(ForwardOption): method __init__ (line 62) | def __init__(self, controller): method enabled (line 66) | def enabled(self): class UpgradeSelected (line 71) | class UpgradeSelected(BaseFeature): method __init__ (line 87) | def __init__(self, controller): method reset (line 91) | def reset(self): method package_specs (line 96) | def package_specs(self): method package_names (line 101) | def package_names(self): method active (line 113) | def active(self): method pin_options (line 117) | def pin_options(self): method has_package (line 124) | def has_package(self, in_path, package_name): method _get_packages (line 128) | def _get_packages(self, in_path): method _read_packages (line 136) | def _read_packages(outfile): method _compose_output_file_path (line 148) | def _compose_output_file_path(self, in_path): method affected (line 151) | def affected(self, in_path): FILE: pipcompilemulti/features/use_cache.py class UseCache (line 31) | class UseCache(ForwardOption): FILE: pipcompilemulti/features/use_uv.py class UseUV (line 39) | class UseUV(BaseFeature): method is_available (line 56) | def is_available(): FILE: pipcompilemulti/utils.py function extract_env_name (line 11) | def extract_env_name(file_path): function fix_reference_path (line 22) | def fix_reference_path(orig_path, ref_path): function recursive_refs (line 31) | def recursive_refs(envs, in_path): function merged_packages (line 52) | def merged_packages(env_packages, names): function reference_cluster (line 90) | def reference_cluster(envs, in_path): FILE: pipcompilemulti/verify.py function verify_environments (line 71) | def verify_environments(): function generate_hash_comment (line 95) | def generate_hash_comment(file_path): function generate_robust_hash_comment (line 108) | def generate_robust_hash_comment(file_path): function parse_hash_comment (line 126) | def parse_hash_comment(file_path): FILE: tests/conftest.py function runner (line 18) | def runner(): function wipe_options (line 24) | def wipe_options(): function test_data_tmpdir (line 30) | def test_data_tmpdir(): FILE: tests/test_add_hashes.py class AddHashesTestCase (line 9) | class AddHashesTestCase(unittest.TestCase): method setUp (line 10) | def setUp(self): method test_pin_options (line 19) | def test_pin_options(self): class FakeController (line 24) | class FakeController(): method compose_input_file_path (line 25) | def compose_input_file_path(self, name): FILE: tests/test_cli_v1.py function requirements_dir (line 18) | def requirements_dir(): function test_v1_command_exits_with_zero (line 26) | def test_v1_command_exits_with_zero(command, monkeypatch): function test_v1_verify_exits_with_zero (line 62) | def test_v1_verify_exits_with_zero(monkeypatch): function _load_tree (line 71) | def _load_tree(root, replace_name=None): function test_package_upgrade (line 85) | def test_package_upgrade(test_data_tmpdir, name, args): FILE: tests/test_cli_v2.py function requirements_dir (line 12) | def requirements_dir(): function test_command_exits_with_zero (line 19) | def test_command_exits_with_zero(command): FILE: tests/test_config.py function _write_asset (line 20) | def _write_asset(name: str) -> None: function in_temp_dir (line 25) | def in_temp_dir() -> Iterator[str]: function test_load_no_configs (line 37) | def test_load_no_configs() -> None: function test_load_single_config (line 58) | def test_load_single_config(asset_name: str, expected: List) -> None: function test_load_two_configs (line 65) | def test_load_two_configs() -> None: function test_load_ini_with_empty_pyproject (line 77) | def test_load_ini_with_empty_pyproject() -> None: function test_pyproject_without_section_name (line 85) | def test_pyproject_without_section_name() -> None: FILE: tests/test_conflicts.py function test_conflict_detected (line 9) | def test_conflict_detected(test_data_tmpdir, conflict): FILE: tests/test_deduplicate.py function test_package_deduplicator_handles_delimiters_normalization (line 5) | def test_package_deduplicator_handles_delimiters_normalization(): FILE: tests/test_dependency.py function test_parse_package_name (line 8) | def test_parse_package_name(): function test_parse_url_without_postfix (line 27) | def test_parse_url_without_postfix(): function test_parse_url_with_postfix (line 51) | def test_parse_url_with_postfix(): function test_parse_at_url_notation (line 80) | def test_parse_at_url_notation(): function test_sanitize_package_version (line 106) | def test_sanitize_package_version(): function test_parse_sys_platform (line 125) | def test_parse_sys_platform(): FILE: tests/test_discover.py function test_discover_nested (line 12) | def test_discover_nested(): FILE: tests/test_pipcompilemulti.py function test_fix_compatible_pin (line 23) | def test_fix_compatible_pin(): function test_no_fix_incompatible_pin (line 31) | def test_no_fix_incompatible_pin(): function test_pin_is_ommitted_if_set_to_ignore (line 38) | def test_pin_is_ommitted_if_set_to_ignore(): function test_post_releases_are_kept_by_default (line 51) | def test_post_releases_are_kept_by_default(): function test_forbid_post_releases (line 59) | def test_forbid_post_releases(): function test_parse_references (line 73) | def test_parse_references(in_path, refs): function test_split_header (line 82) | def test_split_header(): function test_concatenation (line 93) | def test_concatenation(): function test_parse_hashes_with_comment (line 104) | def test_parse_hashes_with_comment(): function test_parse_hashes_without_comment (line 112) | def test_parse_hashes_without_comment(): function test_serialize_hashes (line 121) | def test_serialize_hashes(): function test_reference_cluster (line 134) | def test_reference_cluster(): function test_parse_vcs_dependencies (line 147) | def test_parse_vcs_dependencies(): function test_merged_packages_raise_for_conflict (line 244) | def test_merged_packages_raise_for_conflict(): function test_fix_pin_detects_version_conflict (line 256) | def test_fix_pin_detects_version_conflict(): FILE: tests/test_skip_constraint_comments.py class SkipConstraintCommentsAlwayOn (line 20) | class SkipConstraintCommentsAlwayOn(SkipConstraintComments): function test_drop_sink_example (line 25) | def test_drop_sink_example(): FILE: tests/test_upgrade_feature.py function test_upgrade_package_disables_upgrade (line 7) | def test_upgrade_package_disables_upgrade(): FILE: tests/test_utils.py function test_recursive_refs (line 11) | def test_recursive_refs(): FILE: tests/utils.py function temp_dir (line 10) | def temp_dir():