zzstoatzz commited on
Commit
f407523
·
1 Parent(s): 8d91200

no write config option

Browse files
examples/smart_home/src/smart_home/hub.py CHANGED
@@ -18,11 +18,12 @@ hub_mcp = FastMCP(
18
  @hub_mcp.tool()
19
  def hub_status() -> str:
20
  """Checks the status of the main hub and connections."""
21
- if Bridge(settings.hue_bridge_ip).connect():
22
- # Access the bridge instance directly
 
23
  return "Hub OK. Hue Bridge Connected (via phue2)."
24
- else:
25
- return "Hub Warning: Hue Bridge connection failed or not attempted."
26
 
27
 
28
  # Add mounting points for other services later
 
18
  @hub_mcp.tool()
19
  def hub_status() -> str:
20
  """Checks the status of the main hub and connections."""
21
+ try:
22
+ bridge = Bridge(str(settings.hue_bridge_ip), save_config=False)
23
+ bridge.connect()
24
  return "Hub OK. Hue Bridge Connected (via phue2)."
25
+ except Exception as e:
26
+ return f"Hub Warning: Hue Bridge connection failed or not attempted: {e}"
27
 
28
 
29
  # Add mounting points for other services later
examples/smart_home/src/smart_home/lights/server.py CHANGED
@@ -14,7 +14,7 @@ from smart_home.settings import settings
14
  BRIDGE_IP = str(settings.hue_bridge_ip)
15
 
16
  try:
17
- bridge = Bridge(BRIDGE_IP)
18
  print(f"Attempting connection to Hue Bridge at {BRIDGE_IP} via phue2...")
19
  bridge.connect() # Explicitly connect (needed for registration check)
20
  print(f"Successfully connected to Hue Bridge at {BRIDGE_IP} via phue2.")
 
14
  BRIDGE_IP = str(settings.hue_bridge_ip)
15
 
16
  try:
17
+ bridge = Bridge(BRIDGE_IP, save_config=False)
18
  print(f"Attempting connection to Hue Bridge at {BRIDGE_IP} via phue2...")
19
  bridge.connect() # Explicitly connect (needed for registration check)
20
  print(f"Successfully connected to Hue Bridge at {BRIDGE_IP} via phue2.")
examples/smart_home/uv.lock CHANGED
@@ -82,7 +82,8 @@ wheels = [
82
 
83
  [[package]]
84
  name = "fastmcp"
85
- source = { directory = "../../" }
 
86
  dependencies = [
87
  { name = "dotenv" },
88
  { name = "fastapi" },
@@ -93,32 +94,6 @@ dependencies = [
93
  { name = "websockets" },
94
  ]
95
 
96
- [package.metadata]
97
- requires-dist = [
98
- { name = "dotenv", specifier = ">=0.9.9" },
99
- { name = "fastapi", specifier = ">=0.115.12" },
100
- { name = "mcp", specifier = ">=1.6.0,<2.0.0" },
101
- { name = "openapi-pydantic", specifier = ">=0.5.1" },
102
- { name = "rich", specifier = ">=13.9.4" },
103
- { name = "typer", specifier = ">=0.15.2" },
104
- { name = "websockets", specifier = ">=15.0.1" },
105
- ]
106
-
107
- [package.metadata.requires-dev]
108
- dev = [
109
- { name = "copychat", specifier = ">=0.5.2" },
110
- { name = "dirty-equals", specifier = ">=0.9.0" },
111
- { name = "ipython", specifier = ">=8.12.3" },
112
- { name = "pdbpp", specifier = ">=0.10.3" },
113
- { name = "pre-commit" },
114
- { name = "pyright", specifier = ">=1.1.389" },
115
- { name = "pytest", specifier = ">=8.3.3" },
116
- { name = "pytest-asyncio", specifier = ">=0.23.5" },
117
- { name = "pytest-flakefinder" },
118
- { name = "pytest-xdist", specifier = ">=3.6.1" },
119
- { name = "ruff" },
120
- ]
121
-
122
  [[package]]
123
  name = "h11"
124
  version = "0.14.0"
@@ -130,15 +105,15 @@ wheels = [
130
 
131
  [[package]]
132
  name = "httpcore"
133
- version = "1.0.7"
134
  source = { registry = "https://pypi.org/simple" }
135
  dependencies = [
136
  { name = "certifi" },
137
  { name = "h11" },
138
  ]
139
- sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
140
  wheels = [
141
- { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
142
  ]
143
 
144
  [[package]]
@@ -228,14 +203,14 @@ wheels = [
228
 
229
  [[package]]
230
  name = "phue2"
231
- version = "0.0.1.dev280"
232
  source = { registry = "https://pypi.org/simple" }
233
  dependencies = [
234
  { name = "httpx" },
235
  ]
236
- sdist = { url = "https://files.pythonhosted.org/packages/94/a7/29884f4dd1edf2e843dcfd12082a43851315860e59b6e79f4e28f53b6ad5/phue2-0.0.1.dev280.tar.gz", hash = "sha256:5fbd04f548d29fb99bd652a14d9242e772b51e855272739ec087379483ba2028", size = 70998 }
237
  wheels = [
238
- { url = "https://files.pythonhosted.org/packages/61/b0/373249bafd1bf7338f6a1601fb256c0ea8eb1c4e11641a0977d15ac4ff64/phue2-0.0.1.dev280-py3-none-any.whl", hash = "sha256:b2540ac0a9a1ffa1e7bcb9606cf49d1fcf8126820ac0205b8b40de15a17dce0a", size = 27518 },
239
  ]
240
 
241
  [[package]]
@@ -379,31 +354,22 @@ version = "0.1.0"
379
  source = { editable = "." }
380
  dependencies = [
381
  { name = "fastmcp" },
382
- ]
383
-
384
- [package.optional-dependencies]
385
- lights = [
386
  { name = "phue2" },
387
  ]
388
 
389
  [package.dev-dependencies]
390
  dev = [
391
  { name = "ruff" },
392
- { name = "smart-home", extra = ["lights"] },
393
  ]
394
 
395
  [package.metadata]
396
  requires-dist = [
397
- { name = "fastmcp", directory = "../../" },
398
- { name = "phue2", marker = "extra == 'lights'" },
399
  ]
400
- provides-extras = ["lights"]
401
 
402
  [package.metadata.requires-dev]
403
- dev = [
404
- { name = "ruff" },
405
- { name = "smart-home", extras = ["lights"] },
406
- ]
407
 
408
  [[package]]
409
  name = "sniffio"
 
82
 
83
  [[package]]
84
  name = "fastmcp"
85
+ version = "2.0.0"
86
+ source = { git = "https://github.com/jlowin/fastmcp.git#b6b23d6866249c29dbef7021d305ca62400162c4" }
87
  dependencies = [
88
  { name = "dotenv" },
89
  { name = "fastapi" },
 
94
  { name = "websockets" },
95
  ]
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  [[package]]
98
  name = "h11"
99
  version = "0.14.0"
 
105
 
106
  [[package]]
107
  name = "httpcore"
108
+ version = "1.0.8"
109
  source = { registry = "https://pypi.org/simple" }
110
  dependencies = [
111
  { name = "certifi" },
112
  { name = "h11" },
113
  ]
114
+ sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385 }
115
  wheels = [
116
+ { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732 },
117
  ]
118
 
119
  [[package]]
 
203
 
204
  [[package]]
205
  name = "phue2"
206
+ version = "0.0.3"
207
  source = { registry = "https://pypi.org/simple" }
208
  dependencies = [
209
  { name = "httpx" },
210
  ]
211
+ sdist = { url = "https://files.pythonhosted.org/packages/c2/48/8dd58546dd9867e4e1d6ed912a3952e5aea5da49040fb61bd07df59b32d4/phue2-0.0.3.tar.gz", hash = "sha256:c05cb28286880b202da29b825c3124fa6c44119323930fd118a81c20f29be0f9", size = 71925 }
212
  wheels = [
213
+ { url = "https://files.pythonhosted.org/packages/88/58/5d4a080926d1862fac5524ac15fea38fd7b3dcdfa7315734b850e6051c63/phue2-0.0.3-py3-none-any.whl", hash = "sha256:d2717bcfe1f8572e8b6fff305aa7b051b2dc7818eb9f1bff5eb0941f80bde8b2", size = 27535 },
214
  ]
215
 
216
  [[package]]
 
354
  source = { editable = "." }
355
  dependencies = [
356
  { name = "fastmcp" },
 
 
 
 
357
  { name = "phue2" },
358
  ]
359
 
360
  [package.dev-dependencies]
361
  dev = [
362
  { name = "ruff" },
 
363
  ]
364
 
365
  [package.metadata]
366
  requires-dist = [
367
+ { name = "fastmcp", git = "https://github.com/jlowin/fastmcp.git" },
368
+ { name = "phue2" },
369
  ]
 
370
 
371
  [package.metadata.requires-dev]
372
+ dev = [{ name = "ruff" }]
 
 
 
373
 
374
  [[package]]
375
  name = "sniffio"