golf-mcp 0.1.19__tar.gz → 0.1.20__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.

Potentially problematic release.


This version of golf-mcp might be problematic. Click here for more details.

Files changed (74) hide show
  1. {golf_mcp-0.1.19/src/golf_mcp.egg-info → golf_mcp-0.1.20}/PKG-INFO +6 -7
  2. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/pyproject.toml +11 -14
  3. golf_mcp-0.1.20/src/golf/__init__.py +1 -0
  4. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/builder.py +5 -2
  5. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/platform.py +1 -1
  6. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/telemetry/instrumentation.py +20 -4
  7. {golf_mcp-0.1.19 → golf_mcp-0.1.20/src/golf_mcp.egg-info}/PKG-INFO +6 -7
  8. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf_mcp.egg-info/requires.txt +3 -5
  9. golf_mcp-0.1.19/src/golf/__init__.py +0 -1
  10. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/docs.md +0 -0
  11. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/fast-mcp.md +0 -0
  12. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/fastmcp-example-1.py +0 -0
  13. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/fastmcp-example-2.py +0 -0
  14. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/mcp.md +0 -0
  15. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/oauth-implementation.md +0 -0
  16. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/.docs/oauth.md +0 -0
  17. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/LICENSE +0 -0
  18. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/MANIFEST.in +0 -0
  19. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/README.md +0 -0
  20. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/setup.cfg +0 -0
  21. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/auth/__init__.py +0 -0
  22. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/auth/api_key.py +0 -0
  23. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/auth/helpers.py +0 -0
  24. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/auth/oauth.py +0 -0
  25. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/auth/provider.py +0 -0
  26. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/cli/__init__.py +0 -0
  27. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/cli/main.py +0 -0
  28. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/commands/__init__.py +0 -0
  29. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/commands/build.py +0 -0
  30. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/commands/init.py +0 -0
  31. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/commands/run.py +0 -0
  32. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/__init__.py +0 -0
  33. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/builder_auth.py +0 -0
  34. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/builder_metrics.py +0 -0
  35. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/builder_telemetry.py +0 -0
  36. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/config.py +0 -0
  37. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/parser.py +0 -0
  38. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/telemetry.py +0 -0
  39. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/core/transformer.py +0 -0
  40. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/__init__.py +0 -0
  41. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/.env +0 -0
  42. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/.env.example +0 -0
  43. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/README.md +0 -0
  44. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/golf.json +0 -0
  45. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/pre_build.py +0 -0
  46. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/tools/issues/create.py +0 -0
  47. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/tools/issues/list.py +0 -0
  48. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/tools/repos/list.py +0 -0
  49. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/tools/search/code.py +0 -0
  50. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/api_key/tools/users/get.py +0 -0
  51. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/.env +0 -0
  52. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/.env.example +0 -0
  53. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/README.md +0 -0
  54. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/golf.json +0 -0
  55. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/pre_build.py +0 -0
  56. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/prompts/welcome.py +0 -0
  57. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/resources/current_time.py +0 -0
  58. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/resources/info.py +0 -0
  59. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/resources/weather/common.py +0 -0
  60. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/resources/weather/current.py +0 -0
  61. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/resources/weather/forecast.py +0 -0
  62. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/tools/github_user.py +0 -0
  63. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/tools/hello.py +0 -0
  64. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/tools/payments/charge.py +0 -0
  65. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/tools/payments/common.py +0 -0
  66. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/examples/basic/tools/payments/refund.py +0 -0
  67. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/metrics/__init__.py +0 -0
  68. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/metrics/collector.py +0 -0
  69. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/metrics/registry.py +0 -0
  70. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf/telemetry/__init__.py +0 -0
  71. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf_mcp.egg-info/SOURCES.txt +0 -0
  72. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf_mcp.egg-info/dependency_links.txt +0 -0
  73. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf_mcp.egg-info/entry_points.txt +0 -0
  74. {golf_mcp-0.1.19 → golf_mcp-0.1.20}/src/golf_mcp.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: golf-mcp
3
- Version: 0.1.19
3
+ Version: 0.1.20
4
4
  Summary: Framework for building MCP servers
5
5
  Author-email: Antoni Gmitruk <antoni@golf.dev>
6
6
  License-Expression: Apache-2.0
@@ -28,12 +28,11 @@ Requires-Dist: black>=24.10.0
28
28
  Requires-Dist: pyjwt>=2.0.0
29
29
  Requires-Dist: httpx>=0.28.1
30
30
  Requires-Dist: posthog>=4.1.0
31
- Provides-Extra: telemetry
32
- Requires-Dist: opentelemetry-api>=1.33.1; extra == "telemetry"
33
- Requires-Dist: opentelemetry-sdk>=1.33.1; extra == "telemetry"
34
- Requires-Dist: opentelemetry-instrumentation-asgi>=0.40b0; extra == "telemetry"
35
- Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.40b0; extra == "telemetry"
36
- Requires-Dist: wrapt>=1.17.0; extra == "telemetry"
31
+ Requires-Dist: opentelemetry-api>=1.33.1
32
+ Requires-Dist: opentelemetry-sdk>=1.33.1
33
+ Requires-Dist: opentelemetry-instrumentation-asgi>=0.40b0
34
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.40b0
35
+ Requires-Dist: wrapt>=1.17.0
37
36
  Provides-Extra: metrics
38
37
  Requires-Dist: prometheus-client>=0.22.1; extra == "metrics"
39
38
  Dynamic: license-file
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "golf-mcp"
7
- version = "0.1.19"
7
+ version = "0.1.20"
8
8
  description = "Framework for building MCP servers"
9
9
  authors = [
10
10
  {name = "Antoni Gmitruk", email = "antoni@golf.dev"}
@@ -34,17 +34,15 @@ dependencies = [
34
34
  "black>=24.10.0",
35
35
  "pyjwt>=2.0.0",
36
36
  "httpx>=0.28.1",
37
- "posthog>=4.1.0"
38
- ]
39
-
40
- [project.optional-dependencies]
41
- telemetry = [
37
+ "posthog>=4.1.0",
42
38
  "opentelemetry-api>=1.33.1",
43
39
  "opentelemetry-sdk>=1.33.1",
44
40
  "opentelemetry-instrumentation-asgi>=0.40b0",
45
41
  "opentelemetry-exporter-otlp-proto-http>=0.40b0",
46
42
  "wrapt>=1.17.0"
47
43
  ]
44
+
45
+ [project.optional-dependencies]
48
46
  metrics = [
49
47
  "prometheus-client>=0.22.1"
50
48
  ]
@@ -67,7 +65,7 @@ golf = ["examples/**/*"]
67
65
 
68
66
  [tool.poetry]
69
67
  name = "golf-mcp"
70
- version = "0.1.19"
68
+ version = "0.1.20"
71
69
  description = "Framework for building MCP servers with zero boilerplate"
72
70
  authors = ["Antoni Gmitruk <antoni@golf.dev>"]
73
71
  license = "Apache-2.0"
@@ -97,16 +95,15 @@ python-dotenv = ">=1.1.0"
97
95
  black = ">=24.10.0"
98
96
  pyjwt = ">=2.0.0"
99
97
  httpx = ">=0.28.1"
100
- # Optional dependencies listed separately for poetry if desired, or managed by extras
101
- opentelemetry-api = {version = ">=1.33.1", optional = true}
102
- opentelemetry-sdk = {version = ">=1.33.1", optional = true}
103
- opentelemetry-instrumentation-asgi = {version = ">=0.40b0", optional = true}
104
- opentelemetry-exporter-otlp-proto-http = {version = ">=0.40b0", optional = true}
105
- wrapt = {version = ">=1.17.0", optional = true}
98
+ posthog = ">=4.1.0"
99
+ opentelemetry-api = ">=1.33.1"
100
+ opentelemetry-sdk = ">=1.33.1"
101
+ opentelemetry-instrumentation-asgi = ">=0.40b0"
102
+ opentelemetry-exporter-otlp-proto-http = ">=0.40b0"
103
+ wrapt = ">=1.17.0"
106
104
  prometheus-client = {version = ">=0.22.1", optional = true}
107
105
 
108
106
  [tool.poetry.extras]
109
- telemetry = ["opentelemetry-api", "opentelemetry-sdk", "opentelemetry-instrumentation-asgi", "opentelemetry-exporter-otlp-proto-http", "wrapt"]
110
107
  metrics = ["prometheus-client"]
111
108
 
112
109
  [tool.poetry.group.dev.dependencies]
@@ -0,0 +1 @@
1
+ __version__ = "0.1.20"
@@ -1251,14 +1251,17 @@ def build_project(
1251
1251
  try:
1252
1252
  from golf.core.platform import register_project_with_platform
1253
1253
 
1254
- asyncio.run(
1254
+ success = asyncio.run(
1255
1255
  register_project_with_platform(
1256
1256
  project_path=project_path,
1257
1257
  settings=settings,
1258
1258
  components=generator.components,
1259
1259
  )
1260
1260
  )
1261
- console.print("[green]✓ Platform registration completed[/green]")
1261
+
1262
+ if success:
1263
+ console.print("[green]✓ Platform registration completed[/green]")
1264
+ # If success is False, the platform module already printed appropriate warnings
1262
1265
  except ImportError:
1263
1266
  console.print(
1264
1267
  "[yellow]Warning: Platform registration module not available[/yellow]"
@@ -65,7 +65,7 @@ async def register_project_with_platform(
65
65
  try:
66
66
  async with httpx.AsyncClient(timeout=10.0) as client:
67
67
  response = await client.post(
68
- "http://localhost:8000/api/resources",
68
+ "https://golf-backend.golf-auth-1.authed-qukc4.ryvn.run/api/resources",
69
69
  json=metadata,
70
70
  headers={
71
71
  "X-Golf-Key": api_key,
@@ -36,11 +36,27 @@ def init_telemetry(service_name: str = "golf-mcp-server") -> TracerProvider | No
36
36
 
37
37
  # Check for Golf platform integration first
38
38
  golf_api_key = os.environ.get("GOLF_API_KEY")
39
- if golf_api_key and not os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT"):
40
- # Auto-configure for Golf platform
39
+ if golf_api_key:
40
+ # Auto-configure for Golf platform - always use OTLP when Golf API key is present
41
41
  os.environ["OTEL_TRACES_EXPORTER"] = "otlp_http"
42
- os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "http://localhost:8000/api/v1/otel"
43
- os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"X-Golf-Key={golf_api_key}"
42
+
43
+ # Only set endpoint if not already configured (allow user override)
44
+ if not os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT"):
45
+ os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = (
46
+ "https://golf-backend.golf-auth-1.authed-qukc4.ryvn.run/api/v1/otel"
47
+ )
48
+
49
+ # Set Golf platform headers (append to existing if present)
50
+ existing_headers = os.environ.get("OTEL_EXPORTER_OTLP_HEADERS", "")
51
+ golf_header = f"X-Golf-Key={golf_api_key}"
52
+
53
+ if existing_headers:
54
+ # Check if Golf key is already in headers
55
+ if "X-Golf-Key=" not in existing_headers:
56
+ os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"{existing_headers},{golf_header}"
57
+ else:
58
+ os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = golf_header
59
+
44
60
  print("[INFO] Auto-configured OpenTelemetry for Golf platform ingestion")
45
61
 
46
62
  # Check for required environment variables based on exporter type
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: golf-mcp
3
- Version: 0.1.19
3
+ Version: 0.1.20
4
4
  Summary: Framework for building MCP servers
5
5
  Author-email: Antoni Gmitruk <antoni@golf.dev>
6
6
  License-Expression: Apache-2.0
@@ -28,12 +28,11 @@ Requires-Dist: black>=24.10.0
28
28
  Requires-Dist: pyjwt>=2.0.0
29
29
  Requires-Dist: httpx>=0.28.1
30
30
  Requires-Dist: posthog>=4.1.0
31
- Provides-Extra: telemetry
32
- Requires-Dist: opentelemetry-api>=1.33.1; extra == "telemetry"
33
- Requires-Dist: opentelemetry-sdk>=1.33.1; extra == "telemetry"
34
- Requires-Dist: opentelemetry-instrumentation-asgi>=0.40b0; extra == "telemetry"
35
- Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.40b0; extra == "telemetry"
36
- Requires-Dist: wrapt>=1.17.0; extra == "telemetry"
31
+ Requires-Dist: opentelemetry-api>=1.33.1
32
+ Requires-Dist: opentelemetry-sdk>=1.33.1
33
+ Requires-Dist: opentelemetry-instrumentation-asgi>=0.40b0
34
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=0.40b0
35
+ Requires-Dist: wrapt>=1.17.0
37
36
  Provides-Extra: metrics
38
37
  Requires-Dist: prometheus-client>=0.22.1; extra == "metrics"
39
38
  Dynamic: license-file
@@ -7,13 +7,11 @@ black>=24.10.0
7
7
  pyjwt>=2.0.0
8
8
  httpx>=0.28.1
9
9
  posthog>=4.1.0
10
-
11
- [metrics]
12
- prometheus-client>=0.22.1
13
-
14
- [telemetry]
15
10
  opentelemetry-api>=1.33.1
16
11
  opentelemetry-sdk>=1.33.1
17
12
  opentelemetry-instrumentation-asgi>=0.40b0
18
13
  opentelemetry-exporter-otlp-proto-http>=0.40b0
19
14
  wrapt>=1.17.0
15
+
16
+ [metrics]
17
+ prometheus-client>=0.22.1
@@ -1 +0,0 @@
1
- __version__ = "0.1.19"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes