route_rules.gen
¤
Classes:
-
ArtifactMeta– -
Builder– -
Config– -
Meta– -
ProviderMeta– -
Recipe– -
RecipeConfig– -
RecipeMeta–
ArtifactMeta
pydantic-model
¤
Bases: BaseModel
Parameters:
Show JSON schema:
{
"$defs": {
"Behavior": {
"enum": [
"domain",
"ipcidr",
"classical"
],
"title": "Behavior",
"type": "string"
},
"Format": {
"enum": [
"yaml",
"text",
"mrs"
],
"title": "Format",
"type": "string"
}
},
"properties": {
"behavior": {
"$ref": "#/$defs/Behavior"
},
"format": {
"$ref": "#/$defs/Format"
},
"path": {
"format": "path",
"title": "Path",
"type": "string"
},
"size": {
"title": "Size",
"type": "integer"
}
},
"required": [
"behavior",
"format",
"path",
"size"
],
"title": "ArtifactMeta",
"type": "object"
}
Fields:
Builder
¤
Parameters:
-
dist_dir(Path, default:PosixPath('dist')) – -
exporters(list[ExporterMihomo], default:[ExporterMihomo(behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.MRS: 'mrs'>), ExporterMihomo(behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.TEXT: 'text'>), ExporterMihomo(behavior=<Behavior.IPCIDR: 'ipcidr'>, format=<Format.MRS: 'mrs'>), ExporterMihomo(behavior=<Behavior.IPCIDR: 'ipcidr'>, format=<Format.TEXT: 'text'>), ExporterMihomo(behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>)]) – -
recipes(list[Recipe], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
Methods:
-
build– -
build_recipe– -
load–
Attributes:
exporters
class-attribute
instance-attribute
¤
exporters: list[ExporterMihomo] = field(
factory=_default_exporters
)
build
async
¤
build() -> None
Source code in src/route_rules/gen/_builder.py
42 43 44 45 46 47 48 | |
build_recipe
async
¤
build_recipe(recipe: Recipe) -> RecipeMeta
Source code in src/route_rules/gen/_builder.py
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |
load
classmethod
¤
Source code in src/route_rules/gen/_builder.py
34 35 36 37 38 39 40 | |
Config
pydantic-model
¤
Bases: BaseModel
Parameters:
-
recipes(list[RecipeConfig]) –
Show JSON schema:
{
"$defs": {
"RecipeConfig": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"providers": {
"items": {
"type": "string"
},
"title": "Providers",
"type": "array"
},
"excludes": {
"items": {
"type": "string"
},
"title": "Excludes",
"type": "array"
}
},
"required": [
"name"
],
"title": "RecipeConfig",
"type": "object"
}
},
"properties": {
"recipes": {
"items": {
"$ref": "#/$defs/RecipeConfig"
},
"title": "Recipes",
"type": "array"
}
},
"required": [
"recipes"
],
"title": "Config",
"type": "object"
}
Fields:
Meta
pydantic-model
¤
Bases: BaseModel
Parameters:
-
build_time(datetime) – -
recipes(list[RecipeMeta], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
Show JSON schema:
{
"$defs": {
"ArtifactMeta": {
"properties": {
"behavior": {
"$ref": "#/$defs/Behavior"
},
"format": {
"$ref": "#/$defs/Format"
},
"path": {
"format": "path",
"title": "Path",
"type": "string"
},
"size": {
"title": "Size",
"type": "integer"
}
},
"required": [
"behavior",
"format",
"path",
"size"
],
"title": "ArtifactMeta",
"type": "object"
},
"Behavior": {
"enum": [
"domain",
"ipcidr",
"classical"
],
"title": "Behavior",
"type": "string"
},
"Format": {
"enum": [
"yaml",
"text",
"mrs"
],
"title": "Format",
"type": "string"
},
"ProviderMeta": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"download_url": {
"title": "Download Url",
"type": "string"
},
"preview_url": {
"title": "Preview Url",
"type": "string"
}
},
"required": [
"name",
"download_url",
"preview_url"
],
"title": "ProviderMeta",
"type": "object"
},
"RecipeMeta": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"slug": {
"title": "Slug",
"type": "string"
},
"artifacts": {
"items": {
"$ref": "#/$defs/ArtifactMeta"
},
"title": "Artifacts",
"type": "array"
},
"providers": {
"items": {
"$ref": "#/$defs/ProviderMeta"
},
"title": "Providers",
"type": "array"
},
"statistics": {
"$ref": "#/$defs/RecipeStatistics"
}
},
"required": [
"name",
"slug"
],
"title": "RecipeMeta",
"type": "object"
},
"RecipeStatistics": {
"properties": {
"inputs": {
"additionalProperties": {
"type": "integer"
},
"title": "Inputs",
"type": "object"
},
"outputs": {
"additionalProperties": {
"type": "integer"
},
"title": "Outputs",
"type": "object"
}
},
"title": "RecipeStatistics",
"type": "object"
}
},
"properties": {
"build_time": {
"format": "date-time",
"title": "Build Time",
"type": "string"
},
"recipes": {
"items": {
"$ref": "#/$defs/RecipeMeta"
},
"title": "Recipes",
"type": "array"
}
},
"required": [
"build_time"
],
"title": "Meta",
"type": "object"
}
Fields:
json_decode
classmethod
¤
Source code in src/route_rules/gen/_meta.py
40 41 42 | |
ProviderMeta
pydantic-model
¤
Bases: BaseModel
Parameters:
Show JSON schema:
{
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"download_url": {
"title": "Download Url",
"type": "string"
},
"preview_url": {
"title": "Preview Url",
"type": "string"
}
},
"required": [
"name",
"download_url",
"preview_url"
],
"title": "ProviderMeta",
"type": "object"
}
Fields:
-
name(str) -
download_url(str) -
preview_url(str)
Recipe
¤
Parameters:
-
name(str) – -
providers(str, default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
excludes(str, default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
registry(str, default:ProviderRegistry(registry={'blackmatrix7': ProviderMihomo(name='blackmatrix7', download_url_template='https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/{name}/{name}.list', preview_url_template='https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/{name}', behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>), 'dler-io': ProviderMihomo(name='dler-io', download_url_template='https://raw.githubusercontent.com/dler-io/Rules/main/Clash/Provider/{name}.yaml', preview_url_template='https://github.com/dler-io/Rules/blob/main/Clash/Provider/{name}.yaml', behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.YAML: 'yaml'>), 'liblaf/domain': ProviderMihomo(name='liblaf/domain', download_url_template='https://raw.githubusercontent.com/liblaf/route-rules/main/rules/{name}.domain.list', preview_url_template='https://github.com/liblaf/route-rules/blob/main/rules/{name}.domain.list', behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.TEXT: 'text'>), 'MetaCubeX/geosite': ProviderMihomo(name='MetaCubeX/geosite', download_url_template='https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/{name}.yaml', preview_url_template='https://github.com/MetaCubeX/meta-rules-dat/blob/meta/geo/geosite/{name}.yaml', behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.YAML: 'yaml'>), 'SukkaW/classical': ProviderMihomo(name='SukkaW/classical', download_url_template='https://ruleset.skk.moe/Clash/{name}.txt', preview_url_template='https://ruleset.skk.moe/Clash/{name}.txt', behavior=<Behavior.CLASSICAL: 'classical'>, format=<Format.TEXT: 'text'>), 'SukkaW/domain': ProviderMihomo(name='SukkaW/domain', download_url_template='https://ruleset.skk.moe/Clash/{name}.txt', preview_url_template='https://ruleset.skk.moe/Clash/{name}.txt', behavior=<Behavior.DOMAIN: 'domain'>, format=<Format.TEXT: 'text'>)})) – -
slug(str, default:<dynamic>) –
- Reference route_rules
Methods:
-
build– -
from_config–
Attributes:
-
excludes(list[str]) – -
name(str) – -
providers(list[str]) – -
registry(ProviderRegistry) – -
slug(str) –
registry
class-attribute
instance-attribute
¤
registry: ProviderRegistry = field(
repr=False, factory=presets, kw_only=True
)
slug
class-attribute
instance-attribute
¤
build
async
¤
build() -> RuleSet
Source code in src/route_rules/gen/_recipe.py
44 45 46 47 48 49 | |
from_config
classmethod
¤
from_config(config: RecipeConfig) -> Self
Source code in src/route_rules/gen/_recipe.py
38 39 40 41 42 | |
RecipeConfig
pydantic-model
¤
Bases: BaseModel
Parameters:
-
name(str) – -
providers(list[str], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
excludes(list[str], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
Show JSON schema:
{
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"providers": {
"items": {
"type": "string"
},
"title": "Providers",
"type": "array"
},
"excludes": {
"items": {
"type": "string"
},
"title": "Excludes",
"type": "array"
}
},
"required": [
"name"
],
"title": "RecipeConfig",
"type": "object"
}
Fields:
RecipeMeta
pydantic-model
¤
Bases: BaseModel
Parameters:
-
name(str) – -
slug(str) – -
artifacts(list[ArtifactMeta], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
providers(list[ProviderMeta], default:<dynamic>) –Built-in mutable sequence.
If no argument is given, the constructor creates a new empty list. The argument must be an iterable if specified.
-
statistics(RecipeStatistics, default:<dynamic>) –
Show JSON schema:
{
"$defs": {
"ArtifactMeta": {
"properties": {
"behavior": {
"$ref": "#/$defs/Behavior"
},
"format": {
"$ref": "#/$defs/Format"
},
"path": {
"format": "path",
"title": "Path",
"type": "string"
},
"size": {
"title": "Size",
"type": "integer"
}
},
"required": [
"behavior",
"format",
"path",
"size"
],
"title": "ArtifactMeta",
"type": "object"
},
"Behavior": {
"enum": [
"domain",
"ipcidr",
"classical"
],
"title": "Behavior",
"type": "string"
},
"Format": {
"enum": [
"yaml",
"text",
"mrs"
],
"title": "Format",
"type": "string"
},
"ProviderMeta": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"download_url": {
"title": "Download Url",
"type": "string"
},
"preview_url": {
"title": "Preview Url",
"type": "string"
}
},
"required": [
"name",
"download_url",
"preview_url"
],
"title": "ProviderMeta",
"type": "object"
},
"RecipeStatistics": {
"properties": {
"inputs": {
"additionalProperties": {
"type": "integer"
},
"title": "Inputs",
"type": "object"
},
"outputs": {
"additionalProperties": {
"type": "integer"
},
"title": "Outputs",
"type": "object"
}
},
"title": "RecipeStatistics",
"type": "object"
}
},
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"slug": {
"title": "Slug",
"type": "string"
},
"artifacts": {
"items": {
"$ref": "#/$defs/ArtifactMeta"
},
"title": "Artifacts",
"type": "array"
},
"providers": {
"items": {
"$ref": "#/$defs/ProviderMeta"
},
"title": "Providers",
"type": "array"
},
"statistics": {
"$ref": "#/$defs/RecipeStatistics"
}
},
"required": [
"name",
"slug"
],
"title": "RecipeMeta",
"type": "object"
}
Fields:
-
name(str) -
slug(str) -
artifacts(list[ArtifactMeta]) -
providers(list[ProviderMeta]) -
statistics(RecipeStatistics)