axonflow 0.7.0__tar.gz → 1.0.0__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 (49) hide show
  1. {axonflow-0.7.0 → axonflow-1.0.0}/PKG-INFO +10 -10
  2. {axonflow-0.7.0 → axonflow-1.0.0}/README.md +7 -7
  3. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/__init__.py +64 -4
  4. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/client.py +1428 -220
  5. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/code_governance.py +13 -1
  6. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/policies.py +57 -34
  7. axonflow-1.0.0/axonflow/types.py +679 -0
  8. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow.egg-info/PKG-INFO +10 -10
  9. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow.egg-info/SOURCES.txt +5 -0
  10. {axonflow-0.7.0 → axonflow-1.0.0}/pyproject.toml +5 -5
  11. axonflow-1.0.0/tests/test_audit.py +402 -0
  12. axonflow-1.0.0/tests/test_auth_headers.py +321 -0
  13. axonflow-1.0.0/tests/test_client.py +1169 -0
  14. axonflow-1.0.0/tests/test_client_coverage.py +252 -0
  15. axonflow-1.0.0/tests/test_cost_controls.py +558 -0
  16. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_gateway.py +61 -0
  17. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_integration.py +1 -1
  18. axonflow-1.0.0/tests/test_interceptors_coverage.py +384 -0
  19. axonflow-1.0.0/tests/test_interceptors_execution.py +1064 -0
  20. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_policies.py +122 -58
  21. axonflow-1.0.0/tests/test_selfhosted_zero_config.py +363 -0
  22. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_types.py +4 -4
  23. axonflow-0.7.0/axonflow/types.py +0 -232
  24. axonflow-0.7.0/tests/test_auth_headers.py +0 -155
  25. axonflow-0.7.0/tests/test_client.py +0 -561
  26. axonflow-0.7.0/tests/test_selfhosted_zero_config.py +0 -265
  27. {axonflow-0.7.0 → axonflow-1.0.0}/LICENSE +0 -0
  28. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/exceptions.py +0 -0
  29. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/__init__.py +0 -0
  30. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/anthropic.py +0 -0
  31. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/base.py +0 -0
  32. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/bedrock.py +0 -0
  33. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/gemini.py +0 -0
  34. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/ollama.py +0 -0
  35. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/interceptors/openai.py +0 -0
  36. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/py.typed +0 -0
  37. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/utils/__init__.py +0 -0
  38. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/utils/cache.py +0 -0
  39. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/utils/logging.py +0 -0
  40. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow/utils/retry.py +0 -0
  41. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow.egg-info/dependency_links.txt +0 -0
  42. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow.egg-info/requires.txt +0 -0
  43. {axonflow-0.7.0 → axonflow-1.0.0}/axonflow.egg-info/top_level.txt +0 -0
  44. {axonflow-0.7.0 → axonflow-1.0.0}/setup.cfg +0 -0
  45. {axonflow-0.7.0 → axonflow-1.0.0}/setup.py +0 -0
  46. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_contract.py +0 -0
  47. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_exceptions.py +0 -0
  48. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_interceptors.py +0 -0
  49. {axonflow-0.7.0 → axonflow-1.0.0}/tests/test_utils.py +0 -0
@@ -1,17 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: axonflow
3
- Version: 0.7.0
3
+ Version: 1.0.0
4
4
  Summary: AxonFlow Python SDK - Enterprise AI Governance in 3 Lines of Code
5
5
  Author-email: AxonFlow <dev@getaxonflow.com>
6
6
  Maintainer-email: AxonFlow <dev@getaxonflow.com>
7
7
  License: MIT
8
8
  Project-URL: Homepage, https://getaxonflow.com
9
- Project-URL: Documentation, https://docs.getaxonflow.com/sdk/python
9
+ Project-URL: Documentation, https://docs.getaxonflow.com/sdk/python-getting-started
10
10
  Project-URL: Repository, https://github.com/getaxonflow/axonflow-sdk-python
11
11
  Project-URL: Changelog, https://github.com/getaxonflow/axonflow-sdk-python/blob/main/CHANGELOG.md
12
12
  Project-URL: Issues, https://github.com/getaxonflow/axonflow-sdk-python/issues
13
13
  Keywords: ai,governance,llm,openai,anthropic,bedrock,policy,compliance,enterprise,mcp,multi-agent
14
- Classifier: Development Status :: 4 - Beta
14
+ Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Intended Audience :: Developers
16
16
  Classifier: License :: OSI Approved :: MIT License
17
17
  Classifier: Operating System :: OS Independent
@@ -89,7 +89,7 @@ from axonflow import AxonFlow
89
89
 
90
90
  async def main():
91
91
  async with AxonFlow(
92
- agent_url="https://your-agent.axonflow.com",
92
+ endpoint="https://your-agent.axonflow.com",
93
93
  client_id="your-client-id",
94
94
  client_secret="your-client-secret"
95
95
  ) as client:
@@ -110,7 +110,7 @@ asyncio.run(main())
110
110
  from axonflow import AxonFlow
111
111
 
112
112
  with AxonFlow.sync(
113
- agent_url="https://your-agent.axonflow.com",
113
+ endpoint="https://your-agent.axonflow.com",
114
114
  client_id="your-client-id",
115
115
  client_secret="your-client-secret"
116
116
  ) as client:
@@ -226,7 +226,7 @@ print(f"Result: {result.result}")
226
226
  from axonflow import AxonFlow, Mode, RetryConfig
227
227
 
228
228
  client = AxonFlow(
229
- agent_url="https://your-agent.axonflow.com",
229
+ endpoint="https://your-agent.axonflow.com",
230
230
  client_id="your-client-id",
231
231
  client_secret="your-client-secret",
232
232
  license_key="optional-license-key", # For enterprise features
@@ -307,10 +307,10 @@ mypy axonflow
307
307
 
308
308
  ## Documentation
309
309
 
310
- - [API Reference](https://docs.getaxonflow.com/sdk/python/api)
311
- - [Gateway Mode Guide](https://docs.getaxonflow.com/sdk/python/gateway-mode)
312
- - [Examples](https://github.com/getaxonflow/axonflow/tree/main/sdk/python/examples)
310
+ - [Getting Started](https://docs.getaxonflow.com/sdk/python-getting-started)
311
+ - [Gateway Mode Guide](https://docs.getaxonflow.com/sdk/gateway-mode)
312
+ - [Examples](https://github.com/getaxonflow/axonflow/tree/main/examples)
313
313
 
314
314
  ## License
315
315
 
316
- Apache 2.0 - See [LICENSE](LICENSE) for details.
316
+ MIT - See [LICENSE](LICENSE) for details.
@@ -30,7 +30,7 @@ from axonflow import AxonFlow
30
30
 
31
31
  async def main():
32
32
  async with AxonFlow(
33
- agent_url="https://your-agent.axonflow.com",
33
+ endpoint="https://your-agent.axonflow.com",
34
34
  client_id="your-client-id",
35
35
  client_secret="your-client-secret"
36
36
  ) as client:
@@ -51,7 +51,7 @@ asyncio.run(main())
51
51
  from axonflow import AxonFlow
52
52
 
53
53
  with AxonFlow.sync(
54
- agent_url="https://your-agent.axonflow.com",
54
+ endpoint="https://your-agent.axonflow.com",
55
55
  client_id="your-client-id",
56
56
  client_secret="your-client-secret"
57
57
  ) as client:
@@ -167,7 +167,7 @@ print(f"Result: {result.result}")
167
167
  from axonflow import AxonFlow, Mode, RetryConfig
168
168
 
169
169
  client = AxonFlow(
170
- agent_url="https://your-agent.axonflow.com",
170
+ endpoint="https://your-agent.axonflow.com",
171
171
  client_id="your-client-id",
172
172
  client_secret="your-client-secret",
173
173
  license_key="optional-license-key", # For enterprise features
@@ -248,10 +248,10 @@ mypy axonflow
248
248
 
249
249
  ## Documentation
250
250
 
251
- - [API Reference](https://docs.getaxonflow.com/sdk/python/api)
252
- - [Gateway Mode Guide](https://docs.getaxonflow.com/sdk/python/gateway-mode)
253
- - [Examples](https://github.com/getaxonflow/axonflow/tree/main/sdk/python/examples)
251
+ - [Getting Started](https://docs.getaxonflow.com/sdk/python-getting-started)
252
+ - [Gateway Mode Guide](https://docs.getaxonflow.com/sdk/gateway-mode)
253
+ - [Examples](https://github.com/getaxonflow/axonflow/tree/main/examples)
254
254
 
255
255
  ## License
256
256
 
257
- Apache 2.0 - See [LICENSE](LICENSE) for details.
257
+ MIT - See [LICENSE](LICENSE) for details.
@@ -9,7 +9,7 @@ Example:
9
9
  >>>
10
10
  >>> # Async usage
11
11
  >>> async with AxonFlow(
12
- ... agent_url="https://your-agent.axonflow.com",
12
+ ... endpoint="https://your-agent.axonflow.com",
13
13
  ... client_id="your-client-id",
14
14
  ... client_secret="your-client-secret"
15
15
  ... ) as client:
@@ -18,7 +18,7 @@ Example:
18
18
  >>>
19
19
  >>> # Sync usage
20
20
  >>> client = AxonFlow.sync(
21
- ... agent_url="https://your-agent.axonflow.com",
21
+ ... endpoint="https://your-agent.axonflow.com",
22
22
  ... client_id="your-client-id",
23
23
  ... client_secret="your-client-secret"
24
24
  ... )
@@ -61,8 +61,8 @@ from axonflow.policies import (
61
61
  CreatePolicyOverrideRequest,
62
62
  CreateStaticPolicyRequest,
63
63
  DynamicPolicy,
64
+ DynamicPolicyAction,
64
65
  DynamicPolicyCondition,
65
- DynamicPolicyConfig,
66
66
  EffectivePoliciesOptions,
67
67
  ListDynamicPoliciesOptions,
68
68
  ListStaticPoliciesOptions,
@@ -81,6 +81,16 @@ from axonflow.policies import (
81
81
  )
82
82
  from axonflow.types import (
83
83
  AuditResult,
84
+ Budget,
85
+ BudgetAlert,
86
+ BudgetAlertsResponse,
87
+ BudgetCheckRequest,
88
+ BudgetDecision,
89
+ BudgetOnExceed,
90
+ BudgetPeriod,
91
+ BudgetScope,
92
+ BudgetsResponse,
93
+ BudgetStatus,
84
94
  CacheConfig,
85
95
  ClientRequest,
86
96
  ClientResponse,
@@ -88,15 +98,34 @@ from axonflow.types import (
88
98
  ConnectorInstallRequest,
89
99
  ConnectorMetadata,
90
100
  ConnectorResponse,
101
+ CreateBudgetRequest,
102
+ ExecutionDetail,
103
+ ExecutionExportOptions,
104
+ ExecutionSnapshot,
105
+ ExecutionSummary,
106
+ ListBudgetsOptions,
107
+ ListExecutionsOptions,
108
+ ListExecutionsResponse,
109
+ ListUsageRecordsOptions,
91
110
  Mode,
111
+ ModelPricing,
92
112
  PlanExecutionResponse,
93
113
  PlanResponse,
94
114
  PlanStep,
95
115
  PolicyApprovalResult,
96
116
  PolicyEvaluationInfo,
117
+ PricingInfo,
118
+ PricingListResponse,
97
119
  RateLimitInfo,
98
120
  RetryConfig,
121
+ TimelineEntry,
99
122
  TokenUsage,
123
+ UpdateBudgetRequest,
124
+ UsageBreakdown,
125
+ UsageBreakdownItem,
126
+ UsageRecord,
127
+ UsageRecordsResponse,
128
+ UsageSummary,
100
129
  )
101
130
 
102
131
  __version__ = "0.6.0"
@@ -126,6 +155,14 @@ __all__ = [
126
155
  "PolicyApprovalResult",
127
156
  "TokenUsage",
128
157
  "AuditResult",
158
+ # Execution Replay types
159
+ "ExecutionSummary",
160
+ "ExecutionSnapshot",
161
+ "ExecutionDetail",
162
+ "TimelineEntry",
163
+ "ListExecutionsOptions",
164
+ "ListExecutionsResponse",
165
+ "ExecutionExportOptions",
129
166
  # Policy CRUD types
130
167
  "PolicyCategory",
131
168
  "PolicyTier",
@@ -136,7 +173,7 @@ __all__ = [
136
173
  "DynamicPolicy",
137
174
  "PolicyOverride",
138
175
  "PolicyVersion",
139
- "DynamicPolicyConfig",
176
+ "DynamicPolicyAction",
140
177
  "DynamicPolicyCondition",
141
178
  "TestPatternResult",
142
179
  "TestPatternMatch",
@@ -176,4 +213,27 @@ __all__ = [
176
213
  "TimeoutError",
177
214
  "ConnectorError",
178
215
  "PlanExecutionError",
216
+ # Cost Controls types
217
+ "BudgetScope",
218
+ "BudgetPeriod",
219
+ "BudgetOnExceed",
220
+ "CreateBudgetRequest",
221
+ "UpdateBudgetRequest",
222
+ "ListBudgetsOptions",
223
+ "Budget",
224
+ "BudgetsResponse",
225
+ "BudgetStatus",
226
+ "BudgetAlert",
227
+ "BudgetAlertsResponse",
228
+ "BudgetCheckRequest",
229
+ "BudgetDecision",
230
+ "UsageSummary",
231
+ "UsageBreakdownItem",
232
+ "UsageBreakdown",
233
+ "ListUsageRecordsOptions",
234
+ "UsageRecord",
235
+ "UsageRecordsResponse",
236
+ "ModelPricing",
237
+ "PricingInfo",
238
+ "PricingListResponse",
179
239
  ]