sing-box-cli 0.0.3__tar.gz → 0.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. sing_box_cli-0.0.4/CHANGELOG.md +34 -0
  2. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/PKG-INFO +4 -4
  3. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/README.md +3 -3
  4. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/pyproject.toml +3 -3
  5. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/src/sing_box_service/__init__.py +1 -1
  6. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/src/sing_box_service/config.py +3 -2
  7. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/src/sing_box_service/main.py +5 -3
  8. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/src/sing_box_service/service.py +65 -60
  9. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/uv.lock +117 -58
  10. sing_box_cli-0.0.3/CHANGELOG.md +0 -15
  11. sing_box_cli-0.0.3/mkdocs.yml +0 -183
  12. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.github/dependabot.yml +0 -0
  13. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.github/workflows/main.yml +0 -0
  14. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.gitignore +0 -0
  15. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.pre-commit-config.yaml +0 -0
  16. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.vscode/PythonImportHelper-v2-Completion.json +0 -0
  17. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/.vscode/settings.json +0 -0
  18. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/LICENSE +0 -0
  19. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/assets/image.png +0 -0
  20. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/scripts/bump.sh +0 -0
  21. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/scripts/format.sh +0 -0
  22. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/scripts/lint.sh +0 -0
  23. {sing_box_cli-0.0.3 → sing_box_cli-0.0.4}/src/sing_box_service/py.typed +0 -0
@@ -0,0 +1,34 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## 0.0.4 - 2025-01-07
6
+
7
+ ### 🐛 Bug Fixes
8
+
9
+ - Show and update config encode error
10
+ - Windows sys_platform
11
+ - Remove init_service
12
+ - Ignore mypy warn_unused_ignores
13
+ - Replace schtask with raw pwsh
14
+
15
+ ### 📚 Documentation
16
+
17
+ - Update README.md
18
+
19
+ ### ⚙️ Miscellaneous Tasks
20
+
21
+ - Type ignore
22
+ - Debug bin path
23
+
24
+ ## 0.0.3 - 2025-01-07
25
+
26
+ ### 🚀 Features
27
+
28
+ - Sing-box service,config,logs
29
+
30
+ ### 🐛 Bug Fixes
31
+
32
+ - Cli name
33
+
34
+ <!-- generated by git-cliff -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sing-box-cli
3
- Version: 0.0.3
3
+ Version: 0.0.4
4
4
  Summary: cross-platform sing-box-service manager.
5
5
  Project-URL: Homepage, https://github.com/aittcuszz/sing-box-service
6
6
  Project-URL: Issues, https://github.com/atticuszz/sing-box-service/issues
@@ -51,7 +51,7 @@ cross-platform sing-box service manager
51
51
 
52
52
  ## Install
53
53
 
54
- ### init UV
54
+ ### Init UV
55
55
 
56
56
  ```bash
57
57
  # root
@@ -62,7 +62,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
62
62
  ln -s $(which uv) /usr/local/bin/uv
63
63
  ```
64
64
 
65
- ### add sing-box-service
65
+ ### Add sing-box
66
66
 
67
67
  ```bash
68
68
  sudo uv tool install sing-box-cli
@@ -71,5 +71,5 @@ sudo uv tool install sing-box-cli
71
71
  ## Run
72
72
 
73
73
  ```bash
74
- sudo uvx sing-box --help
74
+ sudo uv tool run sing-box-cli --help
75
75
  ```
@@ -6,7 +6,7 @@ cross-platform sing-box service manager
6
6
 
7
7
  ## Install
8
8
 
9
- ### init UV
9
+ ### Init UV
10
10
 
11
11
  ```bash
12
12
  # root
@@ -17,7 +17,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
17
17
  ln -s $(which uv) /usr/local/bin/uv
18
18
  ```
19
19
 
20
- ### add sing-box-service
20
+ ### Add sing-box
21
21
 
22
22
  ```bash
23
23
  sudo uv tool install sing-box-cli
@@ -26,5 +26,5 @@ sudo uv tool install sing-box-cli
26
26
  ## Run
27
27
 
28
28
  ```bash
29
- sudo uvx sing-box --help
29
+ sudo uv tool run sing-box-cli --help
30
30
  ```
@@ -41,7 +41,7 @@ sing-box-cli = "sing_box_service:main" # equal to from python import main; then
41
41
 
42
42
  [tool.uv]
43
43
  environments = [
44
- "sys_platform == 'windows'",
44
+ "sys_platform == 'win32'",
45
45
  "sys_platform == 'linux'",
46
46
  ]
47
47
 
@@ -73,7 +73,7 @@ packages = ["src/sing_box_service"]
73
73
  [tool.mypy]
74
74
  strict = true
75
75
  exclude = ["venv", ".venv"]
76
-
76
+ warn_unused_ignores=false
77
77
 
78
78
  ## Linter and formatter
79
79
  [tool.ruff]
@@ -209,7 +209,7 @@ sort_commits = "oldest"
209
209
 
210
210
 
211
211
  [tool.bumpversion]
212
- current_version = "0.0.3"
212
+ current_version = "0.0.4"
213
213
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
214
214
  serialize = ["{major}.{minor}.{patch}"]
215
215
  search = "{current_version}"
@@ -2,4 +2,4 @@ from .main import main
2
2
 
3
3
  __all__ = ["main"]
4
4
 
5
- __version__ = "0.0.3"
5
+ __version__ = "0.0.4"
@@ -25,6 +25,7 @@ class Config:
25
25
  raise FileNotFoundError(f"❌ {bin_filename} not found in PATH")
26
26
 
27
27
  self.bin_path = Path(bin_path)
28
+ print(f"🔧 Using binary: {self.bin_path}")
28
29
 
29
30
  if self.is_windows:
30
31
  self.install_dir = Path(os.environ["ProgramFiles"]) / "sing-box"
@@ -65,7 +66,7 @@ class Config:
65
66
  try:
66
67
  response = requests.get(self.sub_url)
67
68
  response.raise_for_status()
68
- self.config_file.write_text(response.text)
69
+ self.config_file.write_text(response.text, encoding="utf-8")
69
70
  if not self.is_windows:
70
71
  shutil.chown(self.config_file, user=self.user, group=self.user)
71
72
  print("✅ Configuration updated successfully.")
@@ -84,7 +85,7 @@ class Config:
84
85
 
85
86
  def show_config(self) -> None:
86
87
  print(f"📄 Configuration file: {self.config_file}")
87
- print(self.config_file.read_text())
88
+ print(self.config_file.read_text(encoding="utf-8"))
88
89
 
89
90
  def show_subscription(self) -> None:
90
91
  if self.sub_url:
@@ -29,7 +29,7 @@ class SingBoxCLI:
29
29
  def ensure_root(self) -> None:
30
30
  """https://gist.github.com/RDCH106/fdd419ef7dd803932b16056aab1d2300"""
31
31
  try:
32
- if os.geteuid() != 0:
32
+ if os.geteuid() != 0: # type: ignore
33
33
  print("⚠️ This script must be run as root.")
34
34
  sys.exit(1)
35
35
  except AttributeError:
@@ -46,7 +46,7 @@ def service_start() -> None:
46
46
  cli = SingBoxCLI()
47
47
  cli.ensure_root()
48
48
  cli.config.init_directories()
49
- cli.service.init_service()
49
+ cli.service.create_service()
50
50
  cli.service.start()
51
51
  print("✅ Service started.")
52
52
  print("🔗 Dashboard URL: https://metacubexd.pages.dev/")
@@ -67,7 +67,9 @@ def service_restart() -> None:
67
67
  """Restart sing-box service"""
68
68
  cli = SingBoxCLI()
69
69
  cli.ensure_root()
70
- cli.service.init_service()
70
+ if not cli.service.check_service():
71
+ cli.service.create_service()
72
+ print("⌛ Service created successfully.")
71
73
  cli.service.restart()
72
74
  print("✅ Service restarted.")
73
75
  print("🔗 Dashboard URL: https://metacubexd.pages.dev/")
@@ -1,9 +1,6 @@
1
1
  import subprocess
2
2
  from pathlib import Path
3
3
 
4
- import psutil
5
- from rich import print
6
-
7
4
  from .config import Config
8
5
 
9
6
 
@@ -17,11 +14,6 @@ class ServiceManager:
17
14
  def check_service(self) -> bool:
18
15
  raise NotImplementedError()
19
16
 
20
- def init_service(self) -> None:
21
- if not self.check_service():
22
- print("⌛ Creating service...")
23
- self.create_service()
24
-
25
17
  def start(self) -> None:
26
18
  raise NotImplementedError()
27
19
 
@@ -46,75 +38,88 @@ class WindowsServiceManager(ServiceManager):
46
38
  def create_service(self) -> None:
47
39
  start_script = self.config.install_dir / "start-singbox.ps1"
48
40
  script_content = f"""
49
- Add-Type -Name Window -Namespace Console -MemberDefinition '
50
- [DllImport("Kernel32.dll")]
51
- public static extern IntPtr GetConsoleWindow();
52
- [DllImport("user32.dll")]
53
- public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
54
- '
55
- $console = [Console.Window]::GetConsoleWindow()
56
- [Console.Window]::ShowWindow($console, 0)
57
-
58
- Set-Location "{self.config.install_dir}"
59
- & "{self.config.bin_path}" tools synctime -w -C "{self.config.install_dir}"
60
- & "{self.config.bin_path}" run -C "{self.config.install_dir}"
61
- """
41
+ Add-Type -Name Window -Namespace Console -MemberDefinition '
42
+ [DllImport("Kernel32.dll")]
43
+ public static extern IntPtr GetConsoleWindow();
44
+ [DllImport("user32.dll")]
45
+ public static extern bool ShowWindow(IntPtr hWnd, Int32 nCmdShow);
46
+ '
47
+ $console = [Console.Window]::GetConsoleWindow()
48
+ [Console.Window]::ShowWindow($console, 0)
49
+
50
+ Set-Location "{self.config.install_dir}"
51
+ & "{self.config.bin_path}" tools synctime -w -C "{self.config.install_dir}"
52
+ & "{self.config.bin_path}" run -C "{self.config.install_dir}"
53
+ """
62
54
  start_script.write_text(script_content)
63
55
 
64
- subprocess.run(
65
- [
66
- "schtasks",
67
- "/create",
68
- "/tn",
69
- self.task_name,
70
- "/tr",
71
- f"powershell -ExecutionPolicy Bypass -File {start_script}",
72
- "/sc",
73
- "onlogon",
74
- "/ru",
75
- self.config.user,
76
- "/rl",
77
- "HIGHEST",
78
- "/f",
79
- ]
80
- )
56
+ ps_command = f"""
57
+ $action = New-ScheduledTaskAction `
58
+ -Execute "pwsh.exe" `
59
+ -Argument "-ExecutionPolicy Bypass -File `"{start_script}`""
60
+
61
+ $trigger = New-ScheduledTaskTrigger -AtLogon
62
+ $principal = New-ScheduledTaskPrincipal -UserId "{self.config.user}" -RunLevel Highest
63
+ $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
64
+
65
+ Register-ScheduledTask -TaskName "{self.task_name}" `
66
+ -Action $action `
67
+ -Trigger $trigger `
68
+ -Principal $principal `
69
+ -Settings $settings `
70
+ -Force
71
+ """
72
+ subprocess.run(["pwsh", "-Command", ps_command], check=True)
81
73
 
82
74
  def check_service(self) -> bool:
83
- try:
84
- subprocess.run(
85
- ["schtasks", "/query", "/tn", self.task_name],
86
- capture_output=True,
87
- check=True,
88
- )
89
- return True
90
- except subprocess.CalledProcessError:
91
- return False
75
+ ps_command = f"Get-ScheduledTask -TaskName '{self.task_name}' -ErrorAction SilentlyContinue"
76
+ result = subprocess.run(["pwsh", "-Command", ps_command], capture_output=True)
77
+ return result.returncode == 0
92
78
 
93
79
  def start(self) -> None:
94
- subprocess.run(["schtasks", "/run", "/tn", self.task_name])
80
+ subprocess.run(
81
+ ["pwsh", "-Command", f"Start-ScheduledTask -TaskName '{self.task_name}'"]
82
+ )
95
83
 
96
84
  def stop(self) -> None:
97
- subprocess.run(["schtasks", "/end", "/tn", self.task_name])
98
- for proc in psutil.process_iter(["name"]):
99
- if proc.info["name"] == "sing-box.exe":
100
- proc.kill()
85
+ subprocess.run(
86
+ ["pwsh", "-Command", f"Stop-ScheduledTask -TaskName '{self.task_name}'"]
87
+ )
88
+ ps_command = "Get-Process | Where-Object { $_.ProcessName -eq 'sing-box' } | Stop-Process -Force"
89
+ subprocess.run(["pwsh", "-Command", ps_command])
101
90
 
102
91
  def restart(self) -> None:
103
92
  self.stop()
104
93
  self.start()
105
94
 
106
95
  def status(self) -> str:
107
- try:
108
- output = subprocess.check_output(
109
- ["schtasks", "/query", "/tn", self.task_name]
110
- )
111
- return "Running" if "Running" in output.decode() else "Stopped"
112
- except Exception:
113
- return "Not installed"
96
+ ps_command = f"""
97
+ $task = Get-ScheduledTask -TaskName '{self.task_name}' -ErrorAction SilentlyContinue
98
+ if ($task) {{
99
+ $process = Get-Process | Where-Object {{ $_.Path -eq '{self.config.bin_path}' }}
100
+ if ($process) {{
101
+ "Running (PID: $($process.Id))"
102
+ }} else {{
103
+ "Stopped"
104
+ }}
105
+ }} else {{
106
+ "Not installed"
107
+ }}
108
+ """
109
+ result = subprocess.run(
110
+ ["pwsh", "-Command", ps_command], capture_output=True, text=True
111
+ )
112
+ return result.stdout.strip()
114
113
 
115
114
  def disable(self) -> None:
116
115
  self.stop()
117
- subprocess.run(["schtasks", "/delete", "/tn", self.task_name, "/f"])
116
+ subprocess.run(
117
+ [
118
+ "pwsh",
119
+ "-Command",
120
+ f"Unregister-ScheduledTask -TaskName '{self.task_name}' -Confirm:$false",
121
+ ]
122
+ )
118
123
 
119
124
 
120
125
  class LinuxServiceManager(ServiceManager):
@@ -1,11 +1,11 @@
1
1
  version = 1
2
2
  requires-python = ">=3.10"
3
3
  resolution-markers = [
4
- "sys_platform == 'windows'",
4
+ "sys_platform == 'win32'",
5
5
  "sys_platform == 'linux'",
6
6
  ]
7
7
  supported-markers = [
8
- "sys_platform == 'windows'",
8
+ "sys_platform == 'win32'",
9
9
  "sys_platform == 'linux'",
10
10
  ]
11
11
 
@@ -32,14 +32,14 @@ name = "bump-my-version"
32
32
  version = "0.29.0"
33
33
  source = { registry = "https://pypi.org/simple" }
34
34
  dependencies = [
35
- { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
36
- { name = "pydantic", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
37
- { name = "pydantic-settings", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
38
- { name = "questionary", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
39
- { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
40
- { name = "rich-click", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
41
- { name = "tomlkit", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
42
- { name = "wcmatch", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
35
+ { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
36
+ { name = "pydantic", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
37
+ { name = "pydantic-settings", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
38
+ { name = "questionary", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
39
+ { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
40
+ { name = "rich-click", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
41
+ { name = "tomlkit", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
42
+ { name = "wcmatch", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
43
43
  ]
44
44
  sdist = { url = "https://files.pythonhosted.org/packages/a1/53/277e3748f0e45758210e971ed2c54c93f1f768a5bc9c66f8cb58a604a415/bump_my_version-0.29.0.tar.gz", hash = "sha256:e4149ed63b4772f5868b3fcabb8fa5e1191b8abae6d35effd0be980d4b0f55e3", size = 1013425 }
45
45
  wheels = [
@@ -80,6 +80,8 @@ wheels = [
80
80
  { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 },
81
81
  { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 },
82
82
  { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 },
83
+ { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 },
84
+ { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 },
83
85
  { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 },
84
86
  { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 },
85
87
  { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 },
@@ -90,6 +92,8 @@ wheels = [
90
92
  { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 },
91
93
  { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 },
92
94
  { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 },
95
+ { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 },
96
+ { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 },
93
97
  { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 },
94
98
  { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 },
95
99
  { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 },
@@ -100,6 +104,8 @@ wheels = [
100
104
  { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 },
101
105
  { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 },
102
106
  { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 },
107
+ { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 },
108
+ { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 },
103
109
  { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 },
104
110
  { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 },
105
111
  { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 },
@@ -110,6 +116,8 @@ wheels = [
110
116
  { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 },
111
117
  { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 },
112
118
  { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 },
119
+ { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 },
120
+ { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 },
113
121
  { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 },
114
122
  ]
115
123
 
@@ -117,11 +125,23 @@ wheels = [
117
125
  name = "click"
118
126
  version = "8.1.8"
119
127
  source = { registry = "https://pypi.org/simple" }
128
+ dependencies = [
129
+ { name = "colorama", marker = "sys_platform == 'win32'" },
130
+ ]
120
131
  sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
121
132
  wheels = [
122
133
  { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 },
123
134
  ]
124
135
 
136
+ [[package]]
137
+ name = "colorama"
138
+ version = "0.4.6"
139
+ source = { registry = "https://pypi.org/simple" }
140
+ sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
141
+ wheels = [
142
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
143
+ ]
144
+
125
145
  [[package]]
126
146
  name = "distlib"
127
147
  version = "0.3.9"
@@ -151,6 +171,8 @@ wheels = [
151
171
  { url = "https://files.pythonhosted.org/packages/50/16/74cd2c84c8f92845856298265c781a4bc5feb45a37d187f6f419bb1371c2/git_cliff-2.7.0-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:7b2f5dbb82e1d8b62c6885d06eda8a11daa063e6f124b16db634f5e23371ac49", size = 6326845 },
152
172
  { url = "https://files.pythonhosted.org/packages/16/ec/155991fe9663baca233125b56393278669f619605dc6d1a9cb6d701c8a62/git_cliff-2.7.0-py3-none-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1bdf9c04a883a70cdb0b29bf033ea39d64fab6ba28459b332cd221a7f47d86f0", size = 6569951 },
153
173
  { url = "https://files.pythonhosted.org/packages/f7/ac/16c6475b896a7da9bbc60ac6d61d3c86375b32592fd8df63bc4261aad337/git_cliff-2.7.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a698f9b8b10e6df0dd47b049b75c25f8cfb3dc4f973ab05790912ba55e5a4ebb", size = 6993157 },
174
+ { url = "https://files.pythonhosted.org/packages/37/5d/539bdd9ce6ca813adc595fc2bf7f057952c2787cc32908b066e75302e6a0/git_cliff-2.7.0-py3-none-win32.whl", hash = "sha256:914015dd0deab69f23718a8ee982018140095b5b1f45268b15abdfd99d60e098", size = 6058153 },
175
+ { url = "https://files.pythonhosted.org/packages/51/08/eb7d104031f3cb267ef547b5291b4e44698aa3100a39b27eb36c61930b8e/git_cliff-2.7.0-py3-none-win_amd64.whl", hash = "sha256:7180874591548846cf30e4cb6953ff74e8ed2d4bed4487c5e39122581bef15c7", size = 6794695 },
154
176
  ]
155
177
 
156
178
  [[package]]
@@ -176,7 +198,7 @@ name = "markdown-it-py"
176
198
  version = "3.0.0"
177
199
  source = { registry = "https://pypi.org/simple" }
178
200
  dependencies = [
179
- { name = "mdurl", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
201
+ { name = "mdurl", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
180
202
  ]
181
203
  sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
182
204
  wheels = [
@@ -197,24 +219,28 @@ name = "mypy"
197
219
  version = "1.14.1"
198
220
  source = { registry = "https://pypi.org/simple" }
199
221
  dependencies = [
200
- { name = "mypy-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
201
- { name = "tomli", marker = "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'windows')" },
202
- { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
222
+ { name = "mypy-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
223
+ { name = "tomli", marker = "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')" },
224
+ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
203
225
  ]
204
226
  sdist = { url = "https://files.pythonhosted.org/packages/b9/eb/2c92d8ea1e684440f54fa49ac5d9a5f19967b7b472a281f419e69a8d228e/mypy-1.14.1.tar.gz", hash = "sha256:7ec88144fe9b510e8475ec2f5f251992690fcf89ccb4500b214b4226abcd32d6", size = 3216051 }
205
227
  wheels = [
206
228
  { url = "https://files.pythonhosted.org/packages/43/c9/d6785c6f66241c62fd2992b05057f404237deaad1566545e9f144ced07f5/mypy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90716d8b2d1f4cd503309788e51366f07c56635a3309b0f6a32547eaaa36a64d", size = 12095172 },
207
229
  { url = "https://files.pythonhosted.org/packages/c3/62/daa7e787770c83c52ce2aaf1a111eae5893de9e004743f51bfcad9e487ec/mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ae753f5c9fef278bcf12e1a564351764f2a6da579d4a81347e1d5a15819997b", size = 12828732 },
208
230
  { url = "https://files.pythonhosted.org/packages/1b/a2/5fb18318a3637f29f16f4e41340b795da14f4751ef4f51c99ff39ab62e52/mypy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0fe0f5feaafcb04505bcf439e991c6d8f1bf8b15f12b05feeed96e9e7bf1427", size = 13012197 },
231
+ { url = "https://files.pythonhosted.org/packages/28/99/e153ce39105d164b5f02c06c35c7ba958aaff50a2babba7d080988b03fe7/mypy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d54bd85b925e501c555a3227f3ec0cfc54ee8b6930bd6141ec872d1c572f81f", size = 9780836 },
209
232
  { url = "https://files.pythonhosted.org/packages/01/b5/6c8d33bd0f851a7692a8bfe4ee75eb82b6983a3cf39e5e32a5d2a723f0c1/mypy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba24549de7b89b6381b91fbc068d798192b1b5201987070319889e93038967a8", size = 12025791 },
210
233
  { url = "https://files.pythonhosted.org/packages/f0/4c/e10e2c46ea37cab5c471d0ddaaa9a434dc1d28650078ac1b56c2d7b9b2e4/mypy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:183cf0a45457d28ff9d758730cd0210419ac27d4d3f285beda038c9083363b1f", size = 12749203 },
211
234
  { url = "https://files.pythonhosted.org/packages/88/55/beacb0c69beab2153a0f57671ec07861d27d735a0faff135a494cd4f5020/mypy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f2a0ecc86378f45347f586e4163d1769dd81c5a223d577fe351f26b179e148b1", size = 12885900 },
235
+ { url = "https://files.pythonhosted.org/packages/a2/75/8c93ff7f315c4d086a2dfcde02f713004357d70a163eddb6c56a6a5eff40/mypy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:ad3301ebebec9e8ee7135d8e3109ca76c23752bac1e717bc84cd3836b4bf3eae", size = 9777869 },
212
236
  { url = "https://files.pythonhosted.org/packages/a1/5f/7b8051552d4da3c51bbe8fcafffd76a6823779101a2b198d80886cd8f08e/mypy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b4e3413e0bddea671012b063e27591b953d653209e7a4fa5e48759cda77ca11", size = 11933167 },
213
237
  { url = "https://files.pythonhosted.org/packages/04/90/f53971d3ac39d8b68bbaab9a4c6c58c8caa4d5fd3d587d16f5927eeeabe1/mypy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:553c293b1fbdebb6c3c4030589dab9fafb6dfa768995a453d8a5d3b23784af2e", size = 12864341 },
214
238
  { url = "https://files.pythonhosted.org/packages/03/d2/8bc0aeaaf2e88c977db41583559319f1821c069e943ada2701e86d0430b7/mypy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fad79bfe3b65fe6a1efaed97b445c3d37f7be9fdc348bdb2d7cac75579607c89", size = 12972991 },
239
+ { url = "https://files.pythonhosted.org/packages/6f/17/07815114b903b49b0f2cf7499f1c130e5aa459411596668267535fe9243c/mypy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:8fa2220e54d2946e94ab6dbb3ba0a992795bd68b16dc852db33028df2b00191b", size = 9879016 },
215
240
  { url = "https://files.pythonhosted.org/packages/c5/9b/4fd95ab20c52bb5b8c03cc49169be5905d931de17edfe4d9d2986800b52e/mypy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8c6d94b16d62eb3e947281aa7347d78236688e21081f11de976376cf010eb31a", size = 11924965 },
216
241
  { url = "https://files.pythonhosted.org/packages/56/9d/4a236b9c57f5d8f08ed346914b3f091a62dd7e19336b2b2a0d85485f82ff/mypy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d4b19b03fdf54f3c5b2fa474c56b4c13c9dbfb9a2db4370ede7ec11a2c5927d9", size = 12867660 },
217
242
  { url = "https://files.pythonhosted.org/packages/40/88/a61a5497e2f68d9027de2bb139c7bb9abaeb1be1584649fa9d807f80a338/mypy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0c911fde686394753fff899c409fd4e16e9b294c24bfd5e1ea4675deae1ac6fd", size = 12969198 },
243
+ { url = "https://files.pythonhosted.org/packages/54/da/3d6fc5d92d324701b0c23fb413c853892bfe0e1dbe06c9138037d459756b/mypy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:8b21525cb51671219f5307be85f7e646a153e5acc656e5cebf64bfa076c50107", size = 9885276 },
218
244
  { url = "https://files.pythonhosted.org/packages/a0/b5/32dd67b69a16d088e533962e5044e51004176a9952419de0370cdaead0f8/mypy-1.14.1-py3-none-any.whl", hash = "sha256:b66a60cc4073aeb8ae00057f9c1f64d49e90f918fbcef9a977eb121da8b8f1d1", size = 2752905 },
219
245
  ]
220
246
 
@@ -250,11 +276,11 @@ name = "pre-commit"
250
276
  version = "4.0.1"
251
277
  source = { registry = "https://pypi.org/simple" }
252
278
  dependencies = [
253
- { name = "cfgv", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
254
- { name = "identify", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
255
- { name = "nodeenv", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
256
- { name = "pyyaml", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
257
- { name = "virtualenv", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
279
+ { name = "cfgv", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
280
+ { name = "identify", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
281
+ { name = "nodeenv", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
282
+ { name = "pyyaml", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
283
+ { name = "virtualenv", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
258
284
  ]
259
285
  sdist = { url = "https://files.pythonhosted.org/packages/2e/c8/e22c292035f1bac8b9f5237a2622305bc0304e776080b246f3df57c4ff9f/pre_commit-4.0.1.tar.gz", hash = "sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2", size = 191678 }
260
286
  wheels = [
@@ -266,7 +292,7 @@ name = "prompt-toolkit"
266
292
  version = "3.0.48"
267
293
  source = { registry = "https://pypi.org/simple" }
268
294
  dependencies = [
269
- { name = "wcwidth", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
295
+ { name = "wcwidth", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
270
296
  ]
271
297
  sdist = { url = "https://files.pythonhosted.org/packages/2d/4f/feb5e137aff82f7c7f3248267b97451da3644f6cdc218edfe549fb354127/prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90", size = 424684 }
272
298
  wheels = [
@@ -282,6 +308,8 @@ wheels = [
282
308
  { url = "https://files.pythonhosted.org/packages/17/38/c319d31a1d3f88c5b79c68b3116c129e5133f1822157dd6da34043e32ed6/psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003", size = 284488 },
283
309
  { url = "https://files.pythonhosted.org/packages/9c/39/0f88a830a1c8a3aba27fededc642da37613c57cbff143412e3536f89784f/psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160", size = 287477 },
284
310
  { url = "https://files.pythonhosted.org/packages/47/da/99f4345d4ddf2845cb5b5bd0d93d554e84542d116934fde07a0c50bd4e9f/psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3", size = 289017 },
311
+ { url = "https://files.pythonhosted.org/packages/38/53/bd755c2896f4461fd4f36fa6a6dcb66a88a9e4b9fd4e5b66a77cf9d4a584/psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53", size = 250602 },
312
+ { url = "https://files.pythonhosted.org/packages/7b/d7/7831438e6c3ebbfa6e01a927127a6cb42ad3ab844247f3c5b96bea25d73d/psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649", size = 254444 },
285
313
  ]
286
314
 
287
315
  [[package]]
@@ -289,9 +317,9 @@ name = "pydantic"
289
317
  version = "2.10.4"
290
318
  source = { registry = "https://pypi.org/simple" }
291
319
  dependencies = [
292
- { name = "annotated-types", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
293
- { name = "pydantic-core", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
294
- { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
320
+ { name = "annotated-types", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
321
+ { name = "pydantic-core", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
322
+ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
295
323
  ]
296
324
  sdist = { url = "https://files.pythonhosted.org/packages/70/7e/fb60e6fee04d0ef8f15e4e01ff187a196fa976eb0f0ab524af4599e5754c/pydantic-2.10.4.tar.gz", hash = "sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06", size = 762094 }
297
325
  wheels = [
@@ -303,7 +331,7 @@ name = "pydantic-core"
303
331
  version = "2.27.2"
304
332
  source = { registry = "https://pypi.org/simple" }
305
333
  dependencies = [
306
- { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
334
+ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
307
335
  ]
308
336
  sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 }
309
337
  wheels = [
@@ -316,6 +344,8 @@ wheels = [
316
344
  { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287 },
317
345
  { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414 },
318
346
  { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301 },
347
+ { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685 },
348
+ { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876 },
319
349
  { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167 },
320
350
  { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071 },
321
351
  { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244 },
@@ -325,6 +355,9 @@ wheels = [
325
355
  { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355 },
326
356
  { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661 },
327
357
  { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261 },
358
+ { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361 },
359
+ { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484 },
360
+ { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102 },
328
361
  { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 },
329
362
  { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 },
330
363
  { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 },
@@ -334,6 +367,9 @@ wheels = [
334
367
  { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 },
335
368
  { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 },
336
369
  { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 },
370
+ { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 },
371
+ { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 },
372
+ { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 },
337
373
  { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027 },
338
374
  { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888 },
339
375
  { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738 },
@@ -343,12 +379,16 @@ wheels = [
343
379
  { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404 },
344
380
  { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130 },
345
381
  { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946 },
382
+ { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387 },
383
+ { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453 },
384
+ { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
346
385
  { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467 },
347
386
  { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797 },
348
387
  { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839 },
349
388
  { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861 },
350
389
  { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582 },
351
390
  { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985 },
391
+ { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715 },
352
392
  ]
353
393
 
354
394
  [[package]]
@@ -356,8 +396,8 @@ name = "pydantic-settings"
356
396
  version = "2.7.1"
357
397
  source = { registry = "https://pypi.org/simple" }
358
398
  dependencies = [
359
- { name = "pydantic", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
360
- { name = "python-dotenv", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
399
+ { name = "pydantic", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
400
+ { name = "python-dotenv", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
361
401
  ]
362
402
  sdist = { url = "https://files.pythonhosted.org/packages/73/7b/c58a586cd7d9ac66d2ee4ba60ca2d241fa837c02bca9bea80a9a8c3d22a9/pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93", size = 79920 }
363
403
  wheels = [
@@ -393,21 +433,29 @@ wheels = [
393
433
  { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 },
394
434
  { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 },
395
435
  { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 },
436
+ { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 },
437
+ { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 },
396
438
  { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 },
397
439
  { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 },
398
440
  { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 },
399
441
  { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 },
400
442
  { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 },
443
+ { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 },
444
+ { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 },
401
445
  { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
402
446
  { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
403
447
  { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
404
448
  { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
405
449
  { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
450
+ { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
451
+ { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
406
452
  { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
407
453
  { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
408
454
  { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
409
455
  { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
410
456
  { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
457
+ { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
458
+ { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
411
459
  ]
412
460
 
413
461
  [[package]]
@@ -415,7 +463,7 @@ name = "questionary"
415
463
  version = "2.1.0"
416
464
  source = { registry = "https://pypi.org/simple" }
417
465
  dependencies = [
418
- { name = "prompt-toolkit", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
466
+ { name = "prompt-toolkit", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
419
467
  ]
420
468
  sdist = { url = "https://files.pythonhosted.org/packages/a8/b8/d16eb579277f3de9e56e5ad25280fab52fc5774117fb70362e8c2e016559/questionary-2.1.0.tar.gz", hash = "sha256:6302cdd645b19667d8f6e6634774e9538bfcd1aad9be287e743d96cacaf95587", size = 26775 }
421
469
  wheels = [
@@ -427,10 +475,10 @@ name = "requests"
427
475
  version = "2.32.3"
428
476
  source = { registry = "https://pypi.org/simple" }
429
477
  dependencies = [
430
- { name = "certifi", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
431
- { name = "charset-normalizer", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
432
- { name = "idna", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
433
- { name = "urllib3", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
478
+ { name = "certifi", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
479
+ { name = "charset-normalizer", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
480
+ { name = "idna", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
481
+ { name = "urllib3", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
434
482
  ]
435
483
  sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
436
484
  wheels = [
@@ -442,9 +490,9 @@ name = "rich"
442
490
  version = "13.9.4"
443
491
  source = { registry = "https://pypi.org/simple" }
444
492
  dependencies = [
445
- { name = "markdown-it-py", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
446
- { name = "pygments", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
447
- { name = "typing-extensions", marker = "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'windows')" },
493
+ { name = "markdown-it-py", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
494
+ { name = "pygments", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
495
+ { name = "typing-extensions", marker = "(python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')" },
448
496
  ]
449
497
  sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 }
450
498
  wheels = [
@@ -456,9 +504,9 @@ name = "rich-click"
456
504
  version = "1.8.5"
457
505
  source = { registry = "https://pypi.org/simple" }
458
506
  dependencies = [
459
- { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
460
- { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
461
- { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
507
+ { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
508
+ { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
509
+ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
462
510
  ]
463
511
  sdist = { url = "https://files.pythonhosted.org/packages/9a/31/103501e85e885e3e202c087fa612cfe450693210372766552ce1ab5b57b9/rich_click-1.8.5.tar.gz", hash = "sha256:a3eebe81da1c9da3c32f3810017c79bd687ff1b3fa35bfc9d8a3338797f1d1a1", size = 38229 }
464
512
  wheels = [
@@ -483,6 +531,9 @@ wheels = [
483
531
  { url = "https://files.pythonhosted.org/packages/eb/00/020cb222252d833956cb3b07e0e40c9d4b984fbb2dc3923075c8f944497d/ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d", size = 10470852 },
484
532
  { url = "https://files.pythonhosted.org/packages/00/56/e6d6578202a0141cd52299fe5acb38b2d873565f4670c7a5373b637cf58d/ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a", size = 10972997 },
485
533
  { url = "https://files.pythonhosted.org/packages/be/31/dd0db1f4796bda30dea7592f106f3a67a8f00bcd3a50df889fbac58e2786/ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76", size = 11317760 },
534
+ { url = "https://files.pythonhosted.org/packages/d4/70/cfcb693dc294e034c6fed837fa2ec98b27cc97a26db5d049345364f504bf/ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764", size = 8799729 },
535
+ { url = "https://files.pythonhosted.org/packages/60/22/ae6bcaa0edc83af42751bd193138bfb7598b2990939d3e40494d6c00698c/ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905", size = 9673857 },
536
+ { url = "https://files.pythonhosted.org/packages/91/f8/3765e053acd07baa055c96b2065c7fab91f911b3c076dfea71006666f5b0/ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162", size = 9149556 },
486
537
  ]
487
538
 
488
539
  [[package]]
@@ -496,24 +547,24 @@ wheels = [
496
547
 
497
548
  [[package]]
498
549
  name = "sing-box-cli"
499
- version = "0.0.3"
550
+ version = "0.0.4"
500
551
  source = { editable = "." }
501
552
  dependencies = [
502
- { name = "psutil", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
503
- { name = "requests", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
504
- { name = "typer", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
553
+ { name = "psutil", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
554
+ { name = "requests", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
555
+ { name = "typer", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
505
556
  ]
506
557
 
507
558
  [package.dev-dependencies]
508
559
  dev = [
509
- { name = "bump-my-version", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
510
- { name = "git-cliff", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
511
- { name = "mypy", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
512
- { name = "pre-commit", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
513
- { name = "ruff", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
514
- { name = "types-psutil", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
515
- { name = "types-requests", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
516
- { name = "typos", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
560
+ { name = "bump-my-version", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
561
+ { name = "git-cliff", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
562
+ { name = "mypy", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
563
+ { name = "pre-commit", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
564
+ { name = "ruff", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
565
+ { name = "types-psutil", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
566
+ { name = "types-requests", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
567
+ { name = "typos", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
517
568
  ]
518
569
 
519
570
  [package.metadata]
@@ -547,18 +598,24 @@ wheels = [
547
598
  { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 },
548
599
  { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 },
549
600
  { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 },
601
+ { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 },
602
+ { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 },
550
603
  { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 },
551
604
  { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 },
552
605
  { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 },
553
606
  { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 },
554
607
  { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 },
555
608
  { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 },
609
+ { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 },
610
+ { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 },
556
611
  { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 },
557
612
  { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 },
558
613
  { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 },
559
614
  { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 },
560
615
  { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 },
561
616
  { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 },
617
+ { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 },
618
+ { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 },
562
619
  { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 },
563
620
  ]
564
621
 
@@ -576,10 +633,10 @@ name = "typer"
576
633
  version = "0.15.1"
577
634
  source = { registry = "https://pypi.org/simple" }
578
635
  dependencies = [
579
- { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
580
- { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
581
- { name = "shellingham", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
582
- { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
636
+ { name = "click", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
637
+ { name = "rich", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
638
+ { name = "shellingham", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
639
+ { name = "typing-extensions", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
583
640
  ]
584
641
  sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/dca7b219718afd37a0068f4f2530a727c2b74a8b6e8e0c0080a4c0de4fcd/typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a", size = 99789 }
585
642
  wheels = [
@@ -600,7 +657,7 @@ name = "types-requests"
600
657
  version = "2.32.0.20241016"
601
658
  source = { registry = "https://pypi.org/simple" }
602
659
  dependencies = [
603
- { name = "urllib3", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
660
+ { name = "urllib3", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
604
661
  ]
605
662
  sdist = { url = "https://files.pythonhosted.org/packages/fa/3c/4f2a430c01a22abd49a583b6b944173e39e7d01b688190a5618bd59a2e22/types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95", size = 18065 }
606
663
  wheels = [
@@ -627,6 +684,8 @@ wheels = [
627
684
  { url = "https://files.pythonhosted.org/packages/bb/2e/8fbcde73fb4c6c826bd5d2c39d16d883915240cbdc693f5d99191574e11b/typos-1.29.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a7dac616eacae037e71e6c1089b82dc296c1a5b4621b132eba5c79b7044b1a74", size = 4124138 },
628
685
  { url = "https://files.pythonhosted.org/packages/29/c6/6d66f554b4425f1bdd2220dbe5626e80db814ac4ac2a635e5c72ba75ec61/typos-1.29.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:fdf9d2550796d36120e464f6dac4e525d397204728dc87be0c749f4a3746ce37", size = 3356751 },
629
686
  { url = "https://files.pythonhosted.org/packages/b2/0c/ff2dac645ec184518aeb78585b5e97d096f28278c78db762f78c81cba95a/typos-1.29.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:564a39c4803d2285c9756069ca0a4490e4ccecedeea568b085421cd9e035a865", size = 4180122 },
687
+ { url = "https://files.pythonhosted.org/packages/2d/df/46177b00c22183bd4b0f9e10adbf2cb74c025ddac55f574b2f2045e09d7b/typos-1.29.4-py3-none-win32.whl", hash = "sha256:f66f292fe88c2ffe537373654c5e157a930f4ba302400916e0b9d802ad6e5932", size = 2735883 },
688
+ { url = "https://files.pythonhosted.org/packages/90/54/063bf78200373b0ad7ab291fbb79a845e17df1a4cac9a58c8bd2dfdc4491/typos-1.29.4-py3-none-win_amd64.whl", hash = "sha256:937cd4ef6576f1d5a5f5473ea9ac789b332fb62bee7f6e4f6cfb1cfdd2e9e618", size = 2883074 },
630
689
  ]
631
690
 
632
691
  [[package]]
@@ -643,9 +702,9 @@ name = "virtualenv"
643
702
  version = "20.28.1"
644
703
  source = { registry = "https://pypi.org/simple" }
645
704
  dependencies = [
646
- { name = "distlib", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
647
- { name = "filelock", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
648
- { name = "platformdirs", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
705
+ { name = "distlib", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
706
+ { name = "filelock", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
707
+ { name = "platformdirs", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
649
708
  ]
650
709
  sdist = { url = "https://files.pythonhosted.org/packages/50/39/689abee4adc85aad2af8174bb195a819d0be064bf55fcc73b49d2b28ae77/virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329", size = 7650532 }
651
710
  wheels = [
@@ -657,7 +716,7 @@ name = "wcmatch"
657
716
  version = "10.0"
658
717
  source = { registry = "https://pypi.org/simple" }
659
718
  dependencies = [
660
- { name = "bracex", marker = "sys_platform == 'linux' or sys_platform == 'windows'" },
719
+ { name = "bracex", marker = "sys_platform == 'linux' or sys_platform == 'win32'" },
661
720
  ]
662
721
  sdist = { url = "https://files.pythonhosted.org/packages/41/ab/b3a52228538ccb983653c446c1656eddf1d5303b9cb8b9aef6a91299f862/wcmatch-10.0.tar.gz", hash = "sha256:e72f0de09bba6a04e0de70937b0cf06e55f36f37b3deb422dfaf854b867b840a", size = 115578 }
663
722
  wheels = [
@@ -1,15 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- ## 0.0.3 - 2025-01-07
6
-
7
- ### 🚀 Features
8
-
9
- - Sing-box service,config,logs
10
-
11
- ### 🐛 Bug Fixes
12
-
13
- - Cli name
14
-
15
- <!-- generated by git-cliff -->
@@ -1,183 +0,0 @@
1
- # Copyright (c) 2016-2024 A.J.Zeller <zhouge1831@gmail.com>
2
-
3
- # Project information
4
- site_name: sing-box-service
5
- site_url: https://atticuszz.github.io/sing-box-service
6
- # Repository
7
- # To display a link to the repository of your project as part of your documentation: https://squidfunk.github.io/mkdocs-material/setup/adding-a-git-repository/?h=edit+uri#code-actions-edit-this-page:~:text=In%20order%20to%20display%20a%20link%20to%20the%20repository%20of%20your%20project%20as%20part%20of%20your%20documentation
8
- repo_url: https://github.com/Atticuszz/sing-box-service
9
- repo_name: sing-box-service
10
- edit_uri: edit/main/docs
11
-
12
- # Copyright
13
- copyright: Copyright &copy; 2016 - 2024 A.J.Zeller
14
-
15
- # Configuration
16
- theme:
17
- name: 'material'
18
- features:
19
- # code
20
- - content.code.copy
21
- - content.action.edit
22
- # footnotes
23
- - content.footnote.tooltips
24
-
25
- ## navigation
26
- # The site_url setting must be set
27
- - navigation.instant
28
- # The progress indicator will only show if the page hasn't finished loading after 400ms
29
- - navigation.instant.progress
30
- # top-level selection move to top tabs
31
- - navigation.tabs
32
- # default to be expand
33
- # - navigation.expand
34
- # enable turn to before or after page in page button
35
- - navigation.footer
36
- # back to top
37
- - navigation.top
38
- # When anchor tracking is enabled, the URL in the address bar is automatically updated with the active anchor as highlighted in the table of contents
39
- - navigation.tracking
40
-
41
- # When anchor following for the table of contents is enabled, the sidebar is automatically scrolled so that the active anchor is always visible
42
- - toc.follow
43
-
44
- # search
45
- - search.suggest
46
- - search.highlight
47
- - search.share
48
- palette:
49
-
50
- # Light mode
51
- - media: "(prefers-color-scheme: light)"
52
- scheme: default
53
- primary: white
54
- accent: green
55
- toggle:
56
- icon: material/brightness-7
57
- name: Switch to dark mode
58
-
59
- # Dark mode
60
- - media: "(prefers-color-scheme: dark)"
61
- scheme: slate
62
- primary: black
63
- accent: deep purple
64
- toggle:
65
- icon: material/brightness-4
66
- name: Switch to light mode
67
-
68
- font:
69
- text: 'Lora'
70
- code: 'JetBrains Mono'
71
-
72
- # # logo from https://obsidian.md/brand
73
- # favicon: assets/logo/logo.svg
74
- # logo: assets/logo/logo.svg
75
-
76
- icon:
77
- edit: material/pencil
78
- repo: fontawesome/brands/git-alt
79
-
80
- plugins:
81
- # The git-revision-date-localized plugin adds support for adding the date of last update and creation of a document at the bottom of each page
82
- - git-revision-date-localized:
83
- enable_creation_date: true
84
- type: iso_datetime
85
- # adjust to obsidian path
86
- - obsidian-bridge
87
- - pub-obsidian: # https://mkdocs-publisher.github.io/setup/installation/
88
- obsidian_dir: .obsidian
89
- backlinks:
90
- enabled: true
91
- callouts:
92
- enabled: true
93
- indentation: spaces
94
- # links:
95
- # wikilinks_enabled: true
96
- # img_lazy: true
97
- # image zoom
98
- - glightbox
99
- - search
100
- # - blog
101
- # - rss:
102
- # match_path: blog/posts/.*
103
- # date_from_meta:
104
- # as_creation: date
105
- # categories:
106
- # - categories
107
- # - tags
108
-
109
- extra:
110
- social:
111
- - icon: fontawesome/solid/paper-plane
112
- link: mailto:zhouge1831@gmail.com
113
- - icon: fontawesome/brands/github
114
- link: https://github.com/Atticuszz
115
- - icon: fontawesome/brands/linkedin
116
- link: https://hk.linkedin.com/in/atticus-zhou-250a88323
117
-
118
-
119
-
120
- markdown_extensions:
121
- ## page
122
- # The Table of Contents extension automatically generates a table of contents from a document
123
- - toc:
124
- permalink: true
125
- ## basic markdown
126
- # attr_list
127
- - attr_list
128
- - markdown.extensions.codehilite:
129
- guess_lang: true
130
- - markdown.extensions.toc:
131
- permalink: true
132
- # The BetterEm extension improves the detection of Markup to emphasize text in Markdown using special characters, i.e. for **bold** and _italic_ formatting.
133
- - pymdownx.betterem:
134
- smart_enable: all
135
- # list
136
- - def_list
137
- - pymdownx.tasklist:
138
- custom_checkbox: true
139
-
140
- # highlight
141
- - pymdownx.mark
142
- # strikethrough
143
- - pymdownx.tilde
144
- # admonition setting: https://squidfunk.github.io/mkdocs-material/reference/admonitions/#inline-blocks-inline-end:~:text=Custom%20admonitions-,Admonitions,-%C2%B6
145
- - admonition
146
- - pymdownx.details
147
- # table
148
- - tables
149
- # footnotes
150
- - footnotes
151
- #code
152
- - pymdownx.highlight:
153
- anchor_linenums: true
154
- line_spans: __span
155
- pygments_lang_class: true
156
- - pymdownx.inlinehilite
157
- - pymdownx.snippets
158
- # math
159
- - pymdownx.arithmatex:
160
- generic: true
161
- # mermaid
162
- # - pymdownx.superfences:
163
- # custom_fences:
164
- # - name: mermaid
165
- # class: mermaid
166
- # format: !!python/name:pymdownx.superfences.fence_code_format
167
- # emoji
168
- # - pymdownx.emoji:
169
- # emoji_index: !!python/name:material.extensions.emoji.twemoji
170
- # emoji_generator: !!python/name:material.extensions.emoji.to_svg
171
- # Image
172
- - md_in_html
173
-
174
- # math and mermaid
175
- extra_javascript:
176
- # - js/katex.js
177
- # - https://unpkg.com/katex@0/dist/katex.min.js
178
- - https://unpkg.com/katex@0/dist/contrib/auto-render.min.js
179
- - https://unpkg.com/mermaid/dist/mermaid.min.js
180
-
181
- # extra_css:
182
- # # katex.js
183
- # - https://unpkg.com/katex@0/dist/katex.min.css
File without changes
File without changes