tokenbee-sdk 1.2.3__tar.gz → 2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tokenbee-sdk
3
- Version: 1.2.3
3
+ Version: 2.0.0
4
4
  Summary: Official Python SDK for TokenBee LLM inference gateway and observability.
5
5
  Author: TokenBee Inc.
6
6
  Author-email: "TokenBee Inc." <founders@tokenbee.io>
@@ -54,7 +54,7 @@ client = TokenBee(
54
54
 
55
55
  # Send a request
56
56
  response = client.send(
57
- model=TokenBeeModel.OPENAI_GPT_4O,
57
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
58
58
  input={
59
59
  "messages": [
60
60
  {"role": "user", "content": "Explain quantum entanglement in simple terms."}
@@ -77,7 +77,7 @@ You can specify the compression rate and method per request. TokenBee uses an in
77
77
 
78
78
  ```python
79
79
  response = client.send(
80
- model=TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET,
80
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
81
81
  input={
82
82
  "messages": [...],
83
83
  "compression": "auto", # "auto" (default), "on", or "off"
@@ -97,9 +97,9 @@ response = client.send(
97
97
 
98
98
  The SDK provides a `TokenBeeModel` enum with popular models:
99
99
 
100
- - `TokenBeeModel.OPENAI_GPT_4O`
101
- - `TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET`
102
- - `TokenBeeModel.GEMINI_2_0_FLASH`
100
+ - `TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4`
101
+ - `TokenBeeModel.OPENAI_GPT_5_MINI`
102
+ - `TokenBeeModel.GROQ_GPT_OSS_20B`
103
103
  - ... and many others.
104
104
 
105
105
  ## License
@@ -36,7 +36,7 @@ client = TokenBee(
36
36
 
37
37
  # Send a request
38
38
  response = client.send(
39
- model=TokenBeeModel.OPENAI_GPT_4O,
39
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
40
40
  input={
41
41
  "messages": [
42
42
  {"role": "user", "content": "Explain quantum entanglement in simple terms."}
@@ -59,7 +59,7 @@ You can specify the compression rate and method per request. TokenBee uses an in
59
59
 
60
60
  ```python
61
61
  response = client.send(
62
- model=TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET,
62
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
63
63
  input={
64
64
  "messages": [...],
65
65
  "compression": "auto", # "auto" (default), "on", or "off"
@@ -79,9 +79,9 @@ response = client.send(
79
79
 
80
80
  The SDK provides a `TokenBeeModel` enum with popular models:
81
81
 
82
- - `TokenBeeModel.OPENAI_GPT_4O`
83
- - `TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET`
84
- - `TokenBeeModel.GEMINI_2_0_FLASH`
82
+ - `TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4`
83
+ - `TokenBeeModel.OPENAI_GPT_5_MINI`
84
+ - `TokenBeeModel.GROQ_GPT_OSS_20B`
85
85
  - ... and many others.
86
86
 
87
87
  ## License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tokenbee-sdk"
7
- version = "1.2.3"
7
+ version = "2.0.0"
8
8
  authors = [
9
9
  { name="TokenBee Inc.", email="founders@tokenbee.io" },
10
10
  ]
@@ -6,7 +6,7 @@ long_description = (this_directory / "README.md").read_text()
6
6
 
7
7
  setup(
8
8
  name="tokenbee-sdk",
9
- version="1.2.3",
9
+ version="2.0.0",
10
10
  packages=find_packages(),
11
11
  install_requires=["httpx>=0.23.0"],
12
12
  author="TokenBee Inc.",
@@ -8,29 +8,51 @@ class CompressionRate(str, Enum):
8
8
  HIGH = "0.33"
9
9
  EXTREME = "0.2"
10
10
 
11
+ class CompressionStrategy(str, Enum):
12
+ HIVE = "hive_v1"
13
+ SMART = "smart_v1"
14
+
15
+ class TokenBeeContext(str, Enum):
16
+ AUTO = "auto"
17
+ CONVERSATION = "conversation"
18
+ DOCUMENT = "document"
19
+ AGENT = "agent"
20
+ CODE = "code"
21
+
11
22
  class TokenBeeModel(str, Enum):
12
- # OpenAI
13
- OPENAI_GPT_4_5 = "openai/gpt-4.5-preview"
23
+ # OpenAI — current GPT-5.6 / GPT-5 family
24
+ OPENAI_GPT_5_6_SOL = "openai/gpt-5.6-sol"
25
+ OPENAI_GPT_5_6_TERRA = "openai/gpt-5.6-terra"
26
+ OPENAI_GPT_5_6_LUNA = "openai/gpt-5.6-luna"
27
+ OPENAI_GPT_5 = "openai/gpt-5"
28
+ OPENAI_GPT_5_MINI = "openai/gpt-5-mini"
29
+ OPENAI_GPT_5_NANO = "openai/gpt-5-nano"
30
+ OPENAI_GPT_5_4 = "openai/gpt-5.4"
31
+ OPENAI_GPT_5_4_MINI = "openai/gpt-5.4-mini"
32
+ OPENAI_GPT_5_4_NANO = "openai/gpt-5.4-nano"
33
+ OPENAI_GPT_4_1 = "openai/gpt-4.1"
34
+ OPENAI_GPT_4_1_MINI = "openai/gpt-4.1-mini"
35
+ OPENAI_GPT_4_1_NANO = "openai/gpt-4.1-nano"
14
36
  OPENAI_GPT_4O = "openai/gpt-4o"
15
37
  OPENAI_GPT_4O_MINI = "openai/gpt-4o-mini"
38
+ OPENAI_O3 = "openai/o3"
39
+ OPENAI_O3_MINI = "openai/o3-mini"
40
+ OPENAI_O4_MINI = "openai/o4-mini"
16
41
  OPENAI_O1 = "openai/o1"
17
42
  OPENAI_O1_MINI = "openai/o1-mini"
18
- OPENAI_O3_MINI = "openai/o3-mini"
19
43
 
20
44
  # Anthropic
45
+ ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4-latest"
46
+ ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4-latest"
47
+ ANTHROPIC_CLAUDE_HAIKU_4 = "anthropic/claude-haiku-4-latest"
21
48
  ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3-7-sonnet-latest"
22
49
  ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic/claude-3-5-sonnet-latest"
23
50
  ANTHROPIC_CLAUDE_3_5_HAIKU = "anthropic/claude-3-5-haiku-latest"
24
- ANTHROPIC_CLAUDE_3_OPUS = "anthropic/claude-3-opus-latest"
25
51
 
26
52
  # Google
27
- GEMINI_3_1_PRO = "google/gemini-3.1-pro"
28
- GEMINI_3_1_FLASH = "google/gemini-3.1-flash"
29
53
  GEMINI_2_5_PRO = "google/gemini-2.5-pro"
54
+ GEMINI_2_5_FLASH = "google/gemini-2.5-flash"
30
55
  GEMINI_2_0_FLASH = "google/gemini-2.0-flash"
31
- GEMINI_2_0_PRO = "google/gemini-2.0-pro-exp"
32
- GEMINI_1_5_PRO = "google/gemini-1.5-pro"
33
-
34
56
 
35
57
  # Mistral
36
58
  MISTRAL_LARGE = "mistral/mistral-large-latest"
@@ -43,10 +65,14 @@ class TokenBeeModel(str, Enum):
43
65
  PERPLEXITY_SONAR_PRO = "perplexity/sonar-pro"
44
66
  PERPLEXITY_SONAR_REASONING = "perplexity/sonar-reasoning"
45
67
 
46
- # Groq
47
- GROQ_LLAMA_3_3_70B = "groq/llama-3.3-70b-versatile"
48
- GROQ_LLAMA_3_1_8B = "groq/llama-3.1-8b-instant"
49
- GROQ_DEEPSEEK_R1_DISTILL = "groq/deepseek-r1-distill-llama-70b"
68
+ # Groq (current — Aug 2026)
69
+ # Note: model IDs after "groq/" are sent to Groq as-is (may include org prefix).
70
+ GROQ_GPT_OSS_120B = "groq/openai/gpt-oss-120b"
71
+ GROQ_GPT_OSS_20B = "groq/openai/gpt-oss-20b"
72
+ GROQ_GPT_OSS_SAFEGUARD_20B = "groq/openai/gpt-oss-safeguard-20b"
73
+ GROQ_QWEN3_6_27B = "groq/qwen/qwen3.6-27b"
74
+ GROQ_COMPOUND = "groq/groq/compound"
75
+ GROQ_COMPOUND_MINI = "groq/groq/compound-mini"
50
76
 
51
77
  # xAI
52
78
  XAI_GROK_3 = "xai/grok-3"
@@ -60,6 +86,8 @@ class TokenBee:
60
86
  llm_key: str,
61
87
  compression: str = "auto",
62
88
  rate: str = CompressionRate.MEDIUM,
89
+ strategy: str = CompressionStrategy.SMART,
90
+ context: str = TokenBeeContext.AUTO,
63
91
  model: str = "",
64
92
  provider: str = "",
65
93
  privacy: bool = False
@@ -74,6 +102,8 @@ class TokenBee:
74
102
  "X-LLM-Key": llm_key,
75
103
  "X-TokenBee-Compression": compression,
76
104
  "X-TokenBee-Rate": rate,
105
+ "X-TokenBee-Strategy": strategy,
106
+ "X-TokenBee-Context": context,
77
107
  "X-TokenBee-Privacy": str(privacy).lower()
78
108
  }
79
109
  if model:
@@ -96,6 +126,10 @@ class TokenBee:
96
126
  headers["X-TokenBee-Compression"] = str(input["compression"])
97
127
  if "rate" in input:
98
128
  headers["X-TokenBee-Rate"] = str(input["rate"])
129
+ if "strategy" in input:
130
+ headers["X-TokenBee-Strategy"] = str(input["strategy"])
131
+ if "context" in input:
132
+ headers["X-TokenBee-Context"] = str(input["context"])
99
133
  if "privacy" in input:
100
134
  headers["X-TokenBee-Privacy"] = str(input["privacy"]).lower()
101
135
  if "sessionId" in input:
@@ -107,6 +141,8 @@ class TokenBee:
107
141
  payload["model"] = model_name
108
142
  payload.pop("compression", None)
109
143
  payload.pop("rate", None)
144
+ payload.pop("strategy", None)
145
+ payload.pop("context", None)
110
146
  payload.pop("privacy", None)
111
147
  payload.pop("sessionId", None)
112
148
  payload.pop("userId", None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tokenbee-sdk
3
- Version: 1.2.3
3
+ Version: 2.0.0
4
4
  Summary: Official Python SDK for TokenBee LLM inference gateway and observability.
5
5
  Author: TokenBee Inc.
6
6
  Author-email: "TokenBee Inc." <founders@tokenbee.io>
@@ -54,7 +54,7 @@ client = TokenBee(
54
54
 
55
55
  # Send a request
56
56
  response = client.send(
57
- model=TokenBeeModel.OPENAI_GPT_4O,
57
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
58
58
  input={
59
59
  "messages": [
60
60
  {"role": "user", "content": "Explain quantum entanglement in simple terms."}
@@ -77,7 +77,7 @@ You can specify the compression rate and method per request. TokenBee uses an in
77
77
 
78
78
  ```python
79
79
  response = client.send(
80
- model=TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET,
80
+ model=TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4,
81
81
  input={
82
82
  "messages": [...],
83
83
  "compression": "auto", # "auto" (default), "on", or "off"
@@ -97,9 +97,9 @@ response = client.send(
97
97
 
98
98
  The SDK provides a `TokenBeeModel` enum with popular models:
99
99
 
100
- - `TokenBeeModel.OPENAI_GPT_4O`
101
- - `TokenBeeModel.ANTHROPIC_CLAUDE_3_5_SONNET`
102
- - `TokenBeeModel.GEMINI_2_0_FLASH`
100
+ - `TokenBeeModel.ANTHROPIC_CLAUDE_SONNET_4`
101
+ - `TokenBeeModel.OPENAI_GPT_5_MINI`
102
+ - `TokenBeeModel.GROQ_GPT_OSS_20B`
103
103
  - ... and many others.
104
104
 
105
105
  ## License
File without changes