spanforge 2.0.0__py3-none-any.whl
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.
- spanforge/__init__.py +695 -0
- spanforge/_batch_exporter.py +322 -0
- spanforge/_cli.py +3081 -0
- spanforge/_hooks.py +340 -0
- spanforge/_server.py +953 -0
- spanforge/_span.py +1015 -0
- spanforge/_store.py +287 -0
- spanforge/_stream.py +654 -0
- spanforge/_trace.py +334 -0
- spanforge/_tracer.py +253 -0
- spanforge/actor.py +141 -0
- spanforge/alerts.py +464 -0
- spanforge/auto.py +181 -0
- spanforge/baseline.py +336 -0
- spanforge/config.py +460 -0
- spanforge/consent.py +227 -0
- spanforge/consumer.py +379 -0
- spanforge/core/__init__.py +5 -0
- spanforge/core/compliance_mapping.py +1060 -0
- spanforge/cost.py +597 -0
- spanforge/debug.py +514 -0
- spanforge/drift.py +488 -0
- spanforge/egress.py +63 -0
- spanforge/eval.py +575 -0
- spanforge/event.py +1052 -0
- spanforge/exceptions.py +246 -0
- spanforge/explain.py +181 -0
- spanforge/export/__init__.py +50 -0
- spanforge/export/append_only.py +342 -0
- spanforge/export/cloud.py +349 -0
- spanforge/export/datadog.py +495 -0
- spanforge/export/grafana.py +331 -0
- spanforge/export/jsonl.py +198 -0
- spanforge/export/otel_bridge.py +291 -0
- spanforge/export/otlp.py +817 -0
- spanforge/export/otlp_bridge.py +231 -0
- spanforge/export/redis_backend.py +282 -0
- spanforge/export/webhook.py +302 -0
- spanforge/exporters/__init__.py +29 -0
- spanforge/exporters/console.py +271 -0
- spanforge/exporters/jsonl.py +144 -0
- spanforge/hitl.py +297 -0
- spanforge/inspect.py +429 -0
- spanforge/integrations/__init__.py +39 -0
- spanforge/integrations/_pricing.py +277 -0
- spanforge/integrations/anthropic.py +388 -0
- spanforge/integrations/bedrock.py +306 -0
- spanforge/integrations/crewai.py +251 -0
- spanforge/integrations/gemini.py +349 -0
- spanforge/integrations/groq.py +444 -0
- spanforge/integrations/langchain.py +349 -0
- spanforge/integrations/llamaindex.py +370 -0
- spanforge/integrations/ollama.py +286 -0
- spanforge/integrations/openai.py +370 -0
- spanforge/integrations/together.py +485 -0
- spanforge/metrics.py +393 -0
- spanforge/metrics_export.py +342 -0
- spanforge/migrate.py +278 -0
- spanforge/model_registry.py +282 -0
- spanforge/models.py +407 -0
- spanforge/namespaces/__init__.py +215 -0
- spanforge/namespaces/audit.py +253 -0
- spanforge/namespaces/cache.py +209 -0
- spanforge/namespaces/chain.py +74 -0
- spanforge/namespaces/confidence.py +69 -0
- spanforge/namespaces/consent.py +85 -0
- spanforge/namespaces/cost.py +175 -0
- spanforge/namespaces/decision.py +135 -0
- spanforge/namespaces/diff.py +146 -0
- spanforge/namespaces/drift.py +79 -0
- spanforge/namespaces/eval_.py +232 -0
- spanforge/namespaces/fence.py +180 -0
- spanforge/namespaces/guard.py +104 -0
- spanforge/namespaces/hitl.py +92 -0
- spanforge/namespaces/latency.py +69 -0
- spanforge/namespaces/prompt.py +185 -0
- spanforge/namespaces/redact.py +172 -0
- spanforge/namespaces/template.py +197 -0
- spanforge/namespaces/tool_call.py +76 -0
- spanforge/namespaces/trace.py +1006 -0
- spanforge/normalizer.py +183 -0
- spanforge/presidio_backend.py +149 -0
- spanforge/processor.py +258 -0
- spanforge/prompt_registry.py +415 -0
- spanforge/py.typed +0 -0
- spanforge/redact.py +780 -0
- spanforge/sampling.py +500 -0
- spanforge/schemas/v1.0/schema.json +170 -0
- spanforge/schemas/v2.0/schema.json +536 -0
- spanforge/signing.py +1152 -0
- spanforge/stream.py +559 -0
- spanforge/testing.py +376 -0
- spanforge/trace.py +199 -0
- spanforge/types.py +696 -0
- spanforge/ulid.py +304 -0
- spanforge/validate.py +383 -0
- spanforge-2.0.0.dist-info/METADATA +1777 -0
- spanforge-2.0.0.dist-info/RECORD +101 -0
- spanforge-2.0.0.dist-info/WHEEL +4 -0
- spanforge-2.0.0.dist-info/entry_points.txt +5 -0
- spanforge-2.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
spanforge/__init__.py,sha256=c7JCRvFa66rHU4o3Gk3A4wx5_0UqGUQeIcWh9jio5Uo,19699
|
|
2
|
+
spanforge/_batch_exporter.py,sha256=V8lFQxIm-A-YTtxQzxRfBEnyngQzMaE4Yi79fsW2rXo,12213
|
|
3
|
+
spanforge/_cli.py,sha256=g9NFDIHv7-kQOrtd-OgT54hj8Col32qGe29QJ8Zg7Dc,114005
|
|
4
|
+
spanforge/_hooks.py,sha256=blO--pL9HbAhij2jGc1UKQkq9G0CGXuiipdJ0MqPIig,13048
|
|
5
|
+
spanforge/_server.py,sha256=3M4XQfBbEnyubkhn-LSo1oN-13XAflPfAqURlxFHip0,51659
|
|
6
|
+
spanforge/_span.py,sha256=gluGdy2lo2xXWWaXbIfdzuDDjgUJxy12bYNuGnNMiuk,38562
|
|
7
|
+
spanforge/_store.py,sha256=9X0MyF48sZeFCkMwk7MsdgDjV5NJFxWj1Km10DXwC08,11053
|
|
8
|
+
spanforge/_stream.py,sha256=QbMOZL5ZlAFe1Njt-yY0NWrFGjUDc0yxBBWOyW1hhX4,24306
|
|
9
|
+
spanforge/_trace.py,sha256=X6EbJ3LK3iJssXwbA71lejvrNBF7X6CQX1IaL4Z-uIk,11525
|
|
10
|
+
spanforge/_tracer.py,sha256=xFxlrninUucrwsYISh7QFaaVlHxg0K81cy7iqIepuEk,9348
|
|
11
|
+
spanforge/actor.py,sha256=VNuoHw6Z2tbd_hkiYZ5Sn3qX-lOiCVCt8MCz4KSQJuE,5160
|
|
12
|
+
spanforge/alerts.py,sha256=lJAQnFU-lK32OlrihxD2--MM94Qk7aUmwXPlAK60aBs,17438
|
|
13
|
+
spanforge/auto.py,sha256=B95k6Lz95LH0UKwbz8k02yElXCRb5cbp-IZksOEIMag,6585
|
|
14
|
+
spanforge/baseline.py,sha256=0Lc9DqqxiGW_ZR_YL14_rTJIiX3KE_9Zp6VXYNz8Wrg,13348
|
|
15
|
+
spanforge/config.py,sha256=BP6ITaKnFI_wzFv8sKSh5xv5eq67Wd0uv9QMN3WdcHg,23085
|
|
16
|
+
spanforge/consent.py,sha256=ofALilcWnLvP62EfBu8oh_pu0GwgwdmGLswu-krbst4,7654
|
|
17
|
+
spanforge/consumer.py,sha256=6VTnBvOGVbB5qjHuONl8ZNw2t0cTThts_iQp044hdVE,13472
|
|
18
|
+
spanforge/cost.py,sha256=cs8pA9UCYGqMpDQPaFlEZbLyg2Wdeoa5A7ezx8fG-Ms,21972
|
|
19
|
+
spanforge/debug.py,sha256=KgC6IBkkRQ3H1hZzxa7nOPJT8Rhf7tF4iJt8XKp6ei0,18106
|
|
20
|
+
spanforge/drift.py,sha256=m8dudafroG7yLwYIRZ7shyTYTd7OBgADgbSbvBJ0wZk,18772
|
|
21
|
+
spanforge/egress.py,sha256=v0F7umzCsSewUbdbz5XS9feZzkymuxuemJ6qHRfEOGk,1926
|
|
22
|
+
spanforge/eval.py,sha256=JV9br0eu-Ij2Sww1gBV45BGG3Zqf00Ud2j1sLBtiM_k,20125
|
|
23
|
+
spanforge/event.py,sha256=KiqOe5bbdCN9qrgVSixZA9sM67w9ZakXiTl6LV4b_HA,40725
|
|
24
|
+
spanforge/exceptions.py,sha256=hgWoelw9OzwnDT8tfafIZlhx5BxNjooMnZoOgbR9RgM,8053
|
|
25
|
+
spanforge/explain.py,sha256=jVHo0pGe7fXG3s18Unzzf0SG23ecj53HmXR_Z6rSLhk,6195
|
|
26
|
+
spanforge/hitl.py,sha256=nYVXovnBlTxwscv3Y79cylW1LSditKoLbA0DeeKDpxc,9647
|
|
27
|
+
spanforge/inspect.py,sha256=Bl89AsGB1EpXw73ESaN9hiwqm8TjPg_bh6l6P5bTSaU,15721
|
|
28
|
+
spanforge/metrics.py,sha256=IYxr1ciIO9qx0nnTDRujvFFslBsPjKOC0BXv2Gn2jEE,14472
|
|
29
|
+
spanforge/metrics_export.py,sha256=7LHsg2-et2KtLTObrKNL3k8cgyyl-ohnDIa9ocdBJl0,13608
|
|
30
|
+
spanforge/migrate.py,sha256=IdHTJNXHQd1B3h_iYcbPzawpYzjkd9Iv2AnUQlxmE0M,10138
|
|
31
|
+
spanforge/model_registry.py,sha256=lgc5FYTnFjQz2OgqnFcK7CiPGv-65pqFewmrAEBipmE,10024
|
|
32
|
+
spanforge/models.py,sha256=0paxHXftd24aoRnXdKug8SEIEyKMFD4p1xdGtbxoa44,14794
|
|
33
|
+
spanforge/normalizer.py,sha256=rqtYDv9PiOMl5cOaztq5aDwIRp70FUY5WcFmi7UDzn0,6624
|
|
34
|
+
spanforge/presidio_backend.py,sha256=x6nAjThhoUlEUYTBGudAXE55Hs1N7mxet_xCRDR-nLc,5183
|
|
35
|
+
spanforge/processor.py,sha256=f102mNVgOM1GqU4FGH9TWiPLHJjoZrV_oQk_2THdoZ8,8964
|
|
36
|
+
spanforge/prompt_registry.py,sha256=fjKqHSU9ziEbcFf1ZWPaRjuiTgsmRW6dsYIbGjGt1xc,14539
|
|
37
|
+
spanforge/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
spanforge/redact.py,sha256=6vp8xh-UG_AsJ0yP0RmE4GAuVsiNFuhN1WYT37csTBs,28400
|
|
39
|
+
spanforge/sampling.py,sha256=jBke0yZeJU7AVFzZIIkggeQWj6OJ5vTClBSSkS2_dAY,18368
|
|
40
|
+
spanforge/signing.py,sha256=ZfU6wja_NhUuqqomv9IKoEIHj2XyYqVfa_HQz3-eoM0,43188
|
|
41
|
+
spanforge/stream.py,sha256=NUDFm1P8ihEE44gW2QMhD2LxuRdWUmXubnnp0FoehNQ,19655
|
|
42
|
+
spanforge/testing.py,sha256=x-MnwYggRk-5YS_PSD2TC5p4fsM-pP4KZYIi2ZqpLcA,12290
|
|
43
|
+
spanforge/trace.py,sha256=C5KhZRtjHlAuIHoeEoAk3PIW9qoFIza2XMIXEIZlpmA,7054
|
|
44
|
+
spanforge/types.py,sha256=4mSgtVjB6S2swg1n_zjSBXka3yk6Ke7nnj-N5NRY3pM,24922
|
|
45
|
+
spanforge/ulid.py,sha256=EogjONeYnLYpktEKs_GwfI7W3tL4pksyLHIuDtyMsME,10496
|
|
46
|
+
spanforge/validate.py,sha256=-xgP_XL9GFkO3GA-nnaib3aJA9ow9NvRynnOTQmUFj8,14446
|
|
47
|
+
spanforge/core/__init__.py,sha256=qVozFPRxiWsNDk1jfkfP-Az5unbwtRZsU5Hxi40PzP0,128
|
|
48
|
+
spanforge/core/compliance_mapping.py,sha256=rdA1j5gOUUsIuv46dqKWNigHifN_hX3sBQf1jUmu7fE,42331
|
|
49
|
+
spanforge/export/__init__.py,sha256=sGsipasCB3OB0vE3H0IbqUCLG2KlGwPwVxYdAdyDAO4,1852
|
|
50
|
+
spanforge/export/append_only.py,sha256=76b10NAhxgfOunQoW499f6m4S7t490frlUQsk95LVR0,11757
|
|
51
|
+
spanforge/export/cloud.py,sha256=1hC6o4_KT4RHpkahyoaqpdrbiJ9k_vHy7VH4bKhr3Tw,13296
|
|
52
|
+
spanforge/export/datadog.py,sha256=CIPUDUpuJkEymTQsaBB1CjmSIBnSDNUjj8cjvTKsswg,17719
|
|
53
|
+
spanforge/export/grafana.py,sha256=Ys1KFANNiVXz26sYrVquKGaLjXq1atXHBRw4k_o0IC0,11615
|
|
54
|
+
spanforge/export/jsonl.py,sha256=ue18pKIaNFZssV0_cgzpn5dL8s9uzRDLWtfwmGOgZ_A,6471
|
|
55
|
+
spanforge/export/otel_bridge.py,sha256=0FL973L7_w8MGMiS7q_CAXNGuqhg_CM1QUCxy5Zqgzg,11264
|
|
56
|
+
spanforge/export/otlp.py,sha256=dLgkl6L3s1QkP8e7s1E8rsuAZQBuVrEUTOZpaO_wCsY,30227
|
|
57
|
+
spanforge/export/otlp_bridge.py,sha256=Ji7pFlIgqTnhpUiiVcup8G4pWApAa4MNzflD_UYokqk,8534
|
|
58
|
+
spanforge/export/redis_backend.py,sha256=eJ5oivperx635-t0VCwYmK5o-ecPUnNrzxQYPY1Up2E,10488
|
|
59
|
+
spanforge/export/webhook.py,sha256=iv_Ug0iVPd74QEnvzINXlJbRbjjJe8dCzFcX51myXrM,11092
|
|
60
|
+
spanforge/exporters/__init__.py,sha256=1OSdfTXz8daLTGYbx3xa546pXv95Rzi9NiSSB1djjpo,1103
|
|
61
|
+
spanforge/exporters/console.py,sha256=su6ib24eL1vhO6s4Bj4VhInPsiuloSAPuMFeve6EOAk,8780
|
|
62
|
+
spanforge/exporters/jsonl.py,sha256=z5S12K_6kasY3m7srri1U937zhVWkv4R6matOj2rjWM,4830
|
|
63
|
+
spanforge/integrations/__init__.py,sha256=ZGhDQheSGUF1EbUUlb7pmT8pPoJtQ1S_R90458S12Tc,1681
|
|
64
|
+
spanforge/integrations/_pricing.py,sha256=VIRHyuN4uot75ynyzSHNHvCZUQgtjIwmGAwuJSXB9vw,8755
|
|
65
|
+
spanforge/integrations/anthropic.py,sha256=wel709Sf2wJaMvv2r7l7dWiuOpmrlVmg4r-43MqUZAw,13388
|
|
66
|
+
spanforge/integrations/bedrock.py,sha256=PXtL_9Fj0bEQZAEOWf2KaVbpydLjlGUXP1zcSNZ06Tg,9852
|
|
67
|
+
spanforge/integrations/crewai.py,sha256=kHN4oEi5w-SOOyXp5vpXolaIkk9wU7dr-XjMJViE5Xc,9130
|
|
68
|
+
spanforge/integrations/gemini.py,sha256=R_GVaQLYBzUagA029rl-TZidStIC7HsTl1NDSdKuAPE,11909
|
|
69
|
+
spanforge/integrations/groq.py,sha256=8b4ctC1xzIFYWLMV4R0gKCrTgeF3JpgPgKkpeZquCms,15085
|
|
70
|
+
spanforge/integrations/langchain.py,sha256=2DKnjDiDdNGh8pT7XtP__VyP4qyyIlKpHnB8fFtTCiY,11772
|
|
71
|
+
spanforge/integrations/llamaindex.py,sha256=Po0KFapl3b_slpSBZzqW9UR-bHiPke3Nh0nQwBpgD-4,13347
|
|
72
|
+
spanforge/integrations/ollama.py,sha256=_q4ybAQwDG25j_PJ76MI2w496n8gQ2U08D6jUq3rA7U,10268
|
|
73
|
+
spanforge/integrations/openai.py,sha256=iaNIJV2iqbO9ew8gTqD-kwsVwLDxHiPaP00mHd-qcow,13874
|
|
74
|
+
spanforge/integrations/together.py,sha256=Ulm4xvg2Oze0pdCmKofMZspUD4v611N1y6_D0Ypw55I,17004
|
|
75
|
+
spanforge/namespaces/__init__.py,sha256=dJQr7M8fUCAQVUpOaDpgwNbn3-TaagLZ_UKuAzTEqeM,6721
|
|
76
|
+
spanforge/namespaces/audit.py,sha256=8sPo--1GN_0eeJYkrFbQqJ7xEUf1cs54MNYQricDX-E,10931
|
|
77
|
+
spanforge/namespaces/cache.py,sha256=EDUFBuP-sePVs3bROiUrZeqYqnRUiw6CZkOpQHxk4qs,8523
|
|
78
|
+
spanforge/namespaces/chain.py,sha256=a6V_7jejelKbzjlclabLCdQqGHBU8RPm6ehbmkxMS9A,2926
|
|
79
|
+
spanforge/namespaces/confidence.py,sha256=ezgodmYMtH2nbf9aei-k7a-2y-jXkykL3qKCODjzxbM,2511
|
|
80
|
+
spanforge/namespaces/consent.py,sha256=92yG2Tjo2zzEoVjwZP8FTeX-cklJy1RTyof3luf5g3o,3072
|
|
81
|
+
spanforge/namespaces/cost.py,sha256=QYT6qbYqL0ySuFLXJD40ZsXO2BiopIWQ-eNMmOdc-hc,6909
|
|
82
|
+
spanforge/namespaces/decision.py,sha256=wP43Kr3YaJ2sv7ZB2IdZB7_oc_bO-l-WrxOSCQEnH70,5161
|
|
83
|
+
spanforge/namespaces/diff.py,sha256=PM0GCLHgsLXxYkiCJU4kS8Ia0swvAS_D2SXb4mfomhQ,6466
|
|
84
|
+
spanforge/namespaces/drift.py,sha256=F5ieCqzxiVUVwzHB70UkbFzN_GWNNRe_p0j64iq3CKk,2814
|
|
85
|
+
spanforge/namespaces/eval_.py,sha256=NjLTVl59GKroOynM4jR_yNofN7QbRqg_PVHq7CzDMz0,9504
|
|
86
|
+
spanforge/namespaces/fence.py,sha256=0aEw8yV_VeDGYUiawTD9-6WP677CMDOODt9tUEfsU54,7569
|
|
87
|
+
spanforge/namespaces/guard.py,sha256=H5HUQHHC_C86-MMtmuqtqQfxsJNKb-fcfyUe4m2QMbM,4374
|
|
88
|
+
spanforge/namespaces/hitl.py,sha256=6sqBwljaL_WZGAEQyMDCPH58fpneAnxhhLsn4xDrY34,3516
|
|
89
|
+
spanforge/namespaces/latency.py,sha256=Shb18sZw8Uk_2unI8CAZ8nE3jSzPijQbKgvVzH42Zv0,2257
|
|
90
|
+
spanforge/namespaces/prompt.py,sha256=MpyGG4_sTrcBg_BYqk9j2-kJMoUu3hm_nEr9L1AY_7U,7449
|
|
91
|
+
spanforge/namespaces/redact.py,sha256=gLzAz4FrJAQqFORrnAiuv9SPs_IW6VtxJSy6DpEbojw,7259
|
|
92
|
+
spanforge/namespaces/template.py,sha256=RXRloqbZwCgWmkAwUN1a1cA7hx9xyAQDQRH9lfD0vrs,8071
|
|
93
|
+
spanforge/namespaces/tool_call.py,sha256=DcyJq6MEJJpL2eF6xOOVU_f0Z9yU8EdMyes_1iL1KzI,2686
|
|
94
|
+
spanforge/namespaces/trace.py,sha256=WuDeyZ53JVVs8uli7yyIAEg9ImlevCd_AV3gv67yGFI,44029
|
|
95
|
+
spanforge/schemas/v1.0/schema.json,sha256=3oqTTPfWABis7Fqdacs1X7U40Ha0KfK4YCk4SjSgqHc,6140
|
|
96
|
+
spanforge/schemas/v2.0/schema.json,sha256=L7F8fKE1gLL9-vbLaXcQM6QQ8OvH-AIqu-yDBgpxda0,19107
|
|
97
|
+
spanforge-2.0.0.dist-info/METADATA,sha256=z5G-lp8-VJjt5NsHNSik3NR0DJ0rSC21aXlbDU7KF2g,72339
|
|
98
|
+
spanforge-2.0.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
|
|
99
|
+
spanforge-2.0.0.dist-info/entry_points.txt,sha256=E0EkfBY6F7Ir44r0Cbm511k7us2YgReB1pmPshf215Y,115
|
|
100
|
+
spanforge-2.0.0.dist-info/licenses/LICENSE,sha256=CZz6NAd6CYP_wt9PUYbaXsSdnXbV8YgZWrom_uT1hRQ,1096
|
|
101
|
+
spanforge-2.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 viswanathanstartup
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|