bandersnatch_filter_plugins package¶
Package contents¶
Submodules¶
bandersnatch_filter_plugins.blocklist_name module¶
- class bandersnatch_filter_plugins.blocklist_name.BlockListProject(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterProjectPlugin
- check_match(**kwargs: Any) bool [source]¶
Check if the package name matches against a project that is blocklisted in the configuration.
- filter(metadata: Dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- name = 'blocklist_project'¶
- class bandersnatch_filter_plugins.blocklist_name.BlockListRelease(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleasePlugin
- blocklist_package_names: List[packaging.requirements.Requirement] = []¶
- filter(metadata: Dict) bool [source]¶
Returns False if version fails the filter, i.e. matches a blocklist version specifier
- name = 'blocklist_release'¶
bandersnatch_filter_plugins.filename_name module¶
- class bandersnatch_filter_plugins.filename_name.ExcludePlatformFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleaseFilePlugin
Filters releases based on regex patterns defined by the user.
- name = 'exclude_platform'¶
bandersnatch_filter_plugins.latest_name module¶
- class bandersnatch_filter_plugins.latest_name.LatestReleaseFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleasePlugin
Plugin to download only latest releases
- filter(metadata: Dict) bool [source]¶
Returns False if version fails the filter, i.e. is not a latest/current release
- keep = 0¶
- name = 'latest_release'¶
bandersnatch_filter_plugins.metadata_filter module¶
- class bandersnatch_filter_plugins.metadata_filter.RegexFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.Filter
Plugin to download only packages having metadata matching at least one of the specified patterns.
- filter(metadata: Dict) bool [source]¶
Filter out all projects that don’t match the specified metadata patterns.
- initialized = False¶
- match_patterns = 'any'¶
- name = 'regex_filter'¶
- nulls_match = True¶
- patterns: Dict = {}¶
- class bandersnatch_filter_plugins.metadata_filter.RegexProjectMetadataFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterMetadataPlugin
,bandersnatch_filter_plugins.metadata_filter.RegexFilter
Plugin to download only packages having metadata matching at least one of the specified patterns.
- filter(metadata: Dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- initialized = False¶
- match_patterns = 'any'¶
- name = 'regex_project_metadata'¶
- nulls_match = True¶
- patterns: Dict = {}¶
- class bandersnatch_filter_plugins.metadata_filter.RegexReleaseFileMetadataFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleaseFilePlugin
,bandersnatch_filter_plugins.metadata_filter.RegexFilter
- Plugin to download only release files having metadata
matching at least one of the specified patterns.
- filter(metadata: Dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- initialized = False¶
- match_patterns = 'any'¶
- name = 'regex_release_file_metadata'¶
- nulls_match = True¶
- patterns: Dict = {}¶
- class bandersnatch_filter_plugins.metadata_filter.SizeProjectMetadataFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterMetadataPlugin
,bandersnatch_filter_plugins.allowlist_name.AllowListProject
Plugin to download only packages having total file sizes less than a configurable threshold.
- filter(metadata: Dict) bool [source]¶
Return False for projects with metadata indicating total file sizes greater than threshold.
- initialized = False¶
- name = 'size_project_metadata'¶
- class bandersnatch_filter_plugins.metadata_filter.VersionRangeFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.Filter
- Plugin to download only items having metadata
version ranges matching specified versions.
- filter(metadata: Dict) bool [source]¶
Return False for input not having metadata entries matching the specified version specifier.
- initialized = False¶
- name = 'version_range_filter'¶
- nulls_match = True¶
- specifiers: Dict = {}¶
- class bandersnatch_filter_plugins.metadata_filter.VersionRangeProjectMetadataFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterMetadataPlugin
,bandersnatch_filter_plugins.metadata_filter.VersionRangeFilter
- Plugin to download only projects having metadata
entries matching specified version ranges.
- filter(metadata: dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- initialized = False¶
- name = 'version_range_project_metadata'¶
- nulls_match = True¶
- specifiers: Dict = {}¶
- class bandersnatch_filter_plugins.metadata_filter.VersionRangeReleaseFileMetadataFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleaseFilePlugin
,bandersnatch_filter_plugins.metadata_filter.VersionRangeFilter
- Plugin to download only release files having metadata
entries matching specified version ranges.
- filter(metadata: dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- initialized = False¶
- name = 'version_range_release_file_metadata'¶
- nulls_match = True¶
- specifiers: Dict = {}¶
bandersnatch_filter_plugins.prerelease_name module¶
- class bandersnatch_filter_plugins.prerelease_name.PreReleaseFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleasePlugin
Filters releases considered pre-releases.
- PRERELEASE_PATTERNS = ('.+rc\\d+$', '.+a(lpha)?\\d+$', '.+b(eta)?\\d+$', '.+dev\\d+$')¶
- filter(metadata: Dict) bool [source]¶
Returns False if version fails the filter, i.e. follows a prerelease pattern
- name = 'prerelease_release'¶
- patterns: List[Pattern] = []¶
bandersnatch_filter_plugins.regex_name module¶
- class bandersnatch_filter_plugins.regex_name.RegexProjectFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterProjectPlugin
Filters projects based on regex patters defined by the user.
- check_match(name: str) bool [source]¶
Check if a release version matches any of the specified patterns.
- filter(metadata: Dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- name = 'regex_project'¶
- patterns: List[Pattern] = []¶
- class bandersnatch_filter_plugins.regex_name.RegexReleaseFilter(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleasePlugin
Filters releases based on regex patters defined by the user.
- filter(metadata: Dict) bool [source]¶
Returns False if version fails the filter, i.e. follows a regex pattern
- name = 'regex_release'¶
- patterns: List[Pattern] = []¶
bandersnatch_filter_plugins.allowlist_name module¶
- class bandersnatch_filter_plugins.allowlist_name.AllowListProject(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterProjectPlugin
- check_match(**kwargs: Any) bool [source]¶
Check if the package name matches against a project that is allowlisted in the configuration.
- filter(metadata: Dict) bool [source]¶
Check if the plugin matches based on the package’s metadata.
- Returns
True if the values match a filter rule, False otherwise
- Return type
- name = 'allowlist_project'¶
- class bandersnatch_filter_plugins.allowlist_name.AllowListRelease(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch.filter.FilterReleasePlugin
- allowlist_package_names: List[packaging.requirements.Requirement] = []¶
- filter(metadata: Dict) bool [source]¶
Returns False if version fails the filter, i.e. doesn’t matches an allowlist version specifier
- name = 'allowlist_release'¶
- class bandersnatch_filter_plugins.allowlist_name.AllowListRequirements(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch_filter_plugins.allowlist_name.AllowListProject
- name = 'project_requirements'¶
- class bandersnatch_filter_plugins.allowlist_name.AllowListRequirementsPinned(*args: Any, **kwargs: Any)[source]¶
Bases:
bandersnatch_filter_plugins.allowlist_name.AllowListRelease
- name = 'project_requirements_pinned'¶
- bandersnatch_filter_plugins.allowlist_name.get_requirement_files(allowlist: SectionProxy) Iterator[pathlib.Path] [source]¶