botversion-sdk 1.0.4__tar.gz → 1.0.6__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: botversion-sdk
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: BotVersion AI Agent SDK for FastAPI, Flask, and Django
5
5
  Home-page: https://github.com/botversion/botversion-sdk-python
6
6
  Author: BotVersion
@@ -127,6 +127,12 @@ def init(app=None, api_key=None, **options):
127
127
  _client.register_route_patterns(route_patterns)
128
128
 
129
129
  if framework == "flask":
130
+ # Scan on startup
131
+ with app.app_context():
132
+ threading.Thread(target=_run_scan, daemon=True).start()
133
+ app._botversion_scanned = True
134
+
135
+ # Keep after_request as fallback for runtime detection
130
136
  @app.after_request
131
137
  def _botversion_first_scan(response):
132
138
  if not getattr(app, '_botversion_scanned', False):
@@ -135,6 +141,13 @@ def init(app=None, api_key=None, **options):
135
141
  return response
136
142
 
137
143
  elif framework == "fastapi":
144
+ @app.on_event("startup")
145
+ async def _botversion_startup_scan():
146
+ if not getattr(app, '_botversion_scanned', False):
147
+ app._botversion_scanned = True
148
+ threading.Thread(target=_run_scan, daemon=True).start()
149
+
150
+ # Keep middleware as fallback for runtime detection
138
151
  @app.middleware("http")
139
152
  async def _botversion_first_scan(request, call_next):
140
153
  if not getattr(app, '_botversion_scanned', False):
@@ -13,11 +13,6 @@ class BotVersionClient:
13
13
  self.api_key = options["api_key"]
14
14
  platform_url = options.get("platform_url", "https://botversion.com")
15
15
 
16
- # Force IPv4 — on Windows, localhost resolves to ::1 (IPv6) in browsers
17
- # but Python's urllib uses 127.0.0.1 (IPv4), causing connection timeouts
18
- platform_url = platform_url.replace("https://botversion.com", "http://127.0.0.1")
19
- platform_url = platform_url.replace("https://botversion.com", "https://127.0.0.1")
20
-
21
16
  self.platform_url = platform_url
22
17
  self.debug = options.get("debug", False)
23
18
  self.timeout = options.get("timeout", 30)
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="botversion-sdk",
5
- version="1.0.4",
5
+ version="1.0.6",
6
6
  description="BotVersion SDK — automatically discover and register your API endpoints",
7
7
  long_description=open("README.md").read() if __import__("os").path.exists("README.md") else "",
8
8
  long_description_content_type="text/markdown",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: botversion-sdk
3
- Version: 1.0.4
3
+ Version: 1.0.6
4
4
  Summary: BotVersion AI Agent SDK for FastAPI, Flask, and Django
5
5
  Home-page: https://github.com/botversion/botversion-sdk-python
6
6
  Author: BotVersion
@@ -9,9 +9,4 @@ botversion_sdk.egg-info/PKG-INFO
9
9
  botversion_sdk.egg-info/SOURCES.txt
10
10
  botversion_sdk.egg-info/dependency_links.txt
11
11
  botversion_sdk.egg-info/entry_points.txt
12
- botversion_sdk.egg-info/top_level.txt
13
- botversion_sdk/cli/detector.py
14
- botversion_sdk/cli/generator.py
15
- botversion_sdk/cli/init.py
16
- botversion_sdk/cli/prompts.py
17
- botversion_sdk/cli/writer.py
12
+ botversion_sdk.egg-info/top_level.txt
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "botversion-sdk"
7
- version = "1.0.4"
7
+ version = "1.0.6"
8
8
  description = "BotVersion AI Agent SDK for FastAPI, Flask, and Django"
9
9
  authors = [{name = "Saurav Dhakal", email = "sauravdhakal828@gmail.com"}]
10
10
  requires-python = ">=3.8"
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="botversion-sdk",
5
- version="1.0.4",
5
+ version="1.0.5",
6
6
  description="BotVersion SDK — automatically discover and register your API endpoints",
7
7
  long_description=open("README.md").read() if __import__("os").path.exists("README.md") else "",
8
8
  long_description_content_type="text/markdown",