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]¶