euriai 1.0.0__py3-none-any.whl → 1.0.1__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.
euriai/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from .client import EuriaiClient
2
- from .langchain import EuriaiChatModel, EuriaiEmbeddings, EuriaiLLM
2
+ from .langchain import EuriaiChatModel, EuriaiEmbeddings, EuriaiLLM, create_chat_model, create_embeddings, create_llm
3
3
  from .embedding import EuriaiEmbeddingClient
4
4
  from .euri_chat import EuriaiLlamaIndexLLM
5
5
  from .euri_embed import EuriaiLlamaIndexEmbedding
@@ -24,4 +24,7 @@ __all__ = [
24
24
  "EuriaiChatModel",
25
25
  "EuriaiEmbeddings",
26
26
  "EuriaiLLM",
27
+ "create_chat_model",
28
+ "create_embeddings",
29
+ "create_llm",
27
30
  ]
euriai/crewai.py CHANGED
@@ -6,13 +6,31 @@ from euriai.client import EuriaiClient
6
6
  try:
7
7
  from crewai import Agent, Crew, Task, Process
8
8
  from crewai.llm import LLM
9
+ CREWAI_AVAILABLE = True
9
10
  except ImportError:
10
- Agent = Crew = Task = Process = LLM = None
11
+ CREWAI_AVAILABLE = False
12
+ # Fallback base classes for when CrewAI is not available
13
+ class Agent:
14
+ pass
15
+ class Crew:
16
+ pass
17
+ class Task:
18
+ pass
19
+ class Process:
20
+ pass
21
+ class LLM:
22
+ pass
11
23
 
12
24
  class EuriaiLLM(LLM):
13
25
  """Custom LLM that uses Euri API for CrewAI agents"""
14
26
 
15
27
  def __init__(self, api_key: str, model: str = "gpt-4.1-nano", temperature: float = 0.7, max_tokens: int = 1000):
28
+ if not CREWAI_AVAILABLE:
29
+ raise ImportError(
30
+ "CrewAI is not installed. Please install with: "
31
+ "pip install crewai"
32
+ )
33
+
16
34
  self.client = EuriaiClient(api_key=api_key, model=model)
17
35
  self.model = model
18
36
  self.temperature = temperature
euriai/langchain.py CHANGED
@@ -150,7 +150,7 @@ class EuriaiChatModel(BaseChatModel):
150
150
  """
151
151
 
152
152
  # Configuration
153
- api_key: SecretStr = Field(description="Euri API key")
153
+ api_key: str = Field(description="Euri API key")
154
154
  model: str = Field(default="gpt-4.1-nano", description="Model name")
155
155
  temperature: float = Field(default=0.7, ge=0.0, le=1.0, description="Sampling temperature")
156
156
  max_tokens: int = Field(default=1000, gt=0, description="Maximum tokens to generate")
@@ -177,9 +177,8 @@ class EuriaiChatModel(BaseChatModel):
177
177
  super().__init__(**kwargs)
178
178
 
179
179
  # Initialize client
180
- api_key_str = self.api_key.get_secret_value() if hasattr(self.api_key, 'get_secret_value') else str(self.api_key)
181
180
  self._client = EuriaiClient(
182
- api_key=api_key_str,
181
+ api_key=self.api_key,
183
182
  model=self.model
184
183
  )
185
184
 
@@ -517,30 +516,35 @@ class EuriaiEmbeddings(Embeddings):
517
516
  embedding = await embeddings.aembed_query("Hello world")
518
517
  """
519
518
 
520
- # Configuration
521
- api_key: SecretStr = Field(description="Euri API key")
522
- model: str = Field(default="text-embedding-3-small", description="Embedding model name")
523
- chunk_size: int = Field(default=1000, gt=0, description="Chunk size for batch processing")
524
- max_retries: int = Field(default=3, ge=0, description="Maximum number of retries")
525
- request_timeout: int = Field(default=60, gt=0, description="Request timeout in seconds")
526
-
527
- # Internal
528
- _client: Optional[EuriaiEmbeddingClient] = None
529
- _executor: Optional[ThreadPoolExecutor] = None
530
-
531
- def __init__(self, **kwargs):
519
+ def __init__(self,
520
+ api_key: str,
521
+ model: str = "text-embedding-3-small",
522
+ chunk_size: int = 1000,
523
+ max_retries: int = 3,
524
+ request_timeout: int = 60,
525
+ **kwargs):
532
526
  if not LANGCHAIN_AVAILABLE:
533
527
  raise ImportError(
534
528
  "LangChain is not installed. Please install with: "
535
529
  "pip install langchain-core"
536
530
  )
537
531
 
538
- super().__init__(**kwargs)
532
+ super().__init__()
533
+
534
+ # Initialize configuration
535
+ self.api_key = api_key
536
+ self.model = model
537
+ self.chunk_size = chunk_size
538
+ self.max_retries = max_retries
539
+ self.request_timeout = request_timeout
540
+
541
+ # Internal
542
+ self._client: Optional[EuriaiEmbeddingClient] = None
543
+ self._executor: Optional[ThreadPoolExecutor] = None
539
544
 
540
545
  # Initialize client
541
- api_key_str = self.api_key.get_secret_value() if hasattr(self.api_key, 'get_secret_value') else str(self.api_key)
542
546
  self._client = EuriaiEmbeddingClient(
543
- api_key=api_key_str,
547
+ api_key=self.api_key,
544
548
  model=self.model
545
549
  )
546
550
 
@@ -609,7 +613,7 @@ class EuriaiLLM(LLM):
609
613
  """
610
614
 
611
615
  # Configuration
612
- api_key: SecretStr = Field(description="Euri API key")
616
+ api_key: str = Field(description="Euri API key")
613
617
  model: str = Field(default="gpt-4.1-nano", description="Model name")
614
618
  temperature: float = Field(default=0.7, ge=0.0, le=1.0, description="Sampling temperature")
615
619
  max_tokens: int = Field(default=1000, gt=0, description="Maximum tokens to generate")
@@ -631,9 +635,8 @@ class EuriaiLLM(LLM):
631
635
  super().__init__(**kwargs)
632
636
 
633
637
  # Initialize client
634
- api_key_str = self.api_key.get_secret_value() if hasattr(self.api_key, 'get_secret_value') else str(self.api_key)
635
638
  self._client = EuriaiClient(
636
- api_key=api_key_str,
639
+ api_key=self.api_key,
637
640
  model=self.model
638
641
  )
639
642
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: euriai
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Python client for Euri API (euron.one) with CLI, LangChain, and LlamaIndex integration
5
5
  Author: Euri
6
6
  Author-email: tech@euron.one
@@ -1,18 +1,18 @@
1
- euriai/__init__.py,sha256=5AFG_ovSriY5Kfz0kb1uKuNK_ei6o4k-kcCgoTZqNk0,795
1
+ euriai/__init__.py,sha256=WE4zl0HNxDm4zwR3d0uRyjl3fjcD_pccKvPsbtuDysw,916
2
2
  euriai/autogen.py,sha256=4YAHrY65YYOKVsBjQa9G8pr-_Xxss1uR08qLAFzo7Rk,16023
3
3
  euriai/cli.py,sha256=hF1wiiL2QQSfWf8WlLQyNVDBd4YkbiwmMSoPxVbyPTM,3290
4
4
  euriai/client.py,sha256=L-o6hv9N3md-l-hz-kz5nYVaaZqnrREZlo_0jguhF7E,4066
5
- euriai/crewai.py,sha256=stnwsChy4MYXwWP6JBk_twg61EZTaTj8zoBiLN5n_I0,7135
5
+ euriai/crewai.py,sha256=eeDfZQC9LtEePSnaj94DA0Kcb8Ayq0Gn_eDSQwbcMBU,7543
6
6
  euriai/embedding.py,sha256=uP66Ph1k9Ou6J5RAkztJxlfyj0S0MESOvZ4ulhnVo-o,1270
7
7
  euriai/euri_chat.py,sha256=DEAiet1ReRwB4ljkPYaTl1Nb5uc20-JF-3PQjGQZXk4,3567
8
8
  euriai/euri_embed.py,sha256=VE-RLUb5bYnEFA_dxFkj2c3Jr_SYyJKPmFOzsDOR0Ys,2137
9
- euriai/langchain.py,sha256=ZHET7cO9CslXIMSKFYcjwCLWfP8pov22Udal5gSMOoo,29640
9
+ euriai/langchain.py,sha256=IByxc9xBd8flDZU0gFrXs6Hs5_N3TaLKFL3rilKDAuc,29285
10
10
  euriai/langgraph.py,sha256=sw9e-PnfwAwmp_tUCnAGIUB78GyJsMkAzxOGvFUafiM,34128
11
11
  euriai/llamaindex.py,sha256=c-ujod2bjL6QIvfAyuIxm1SvSCS00URFElYybKQ5Ew0,26551
12
12
  euriai/n8n.py,sha256=hjkckqyW_hZNL78UkBCof1WvKCKCIjwdvZdAgx6NrB8,3764
13
13
  euriai/smolagents.py,sha256=xlixGx2IWzAPTpSJGsYIK2L-SHGY9Mw1-8GbwVsEYtU,28507
14
- euriai-1.0.0.dist-info/METADATA,sha256=3qQs4Z403ImXKfKnzI3__uftPhwdd_MSEFyT9rn5iPA,6881
15
- euriai-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
- euriai-1.0.0.dist-info/entry_points.txt,sha256=9OkET8KIGcsjQn8UlnpPKRT75s2KW34jq1__1SXtpMA,43
17
- euriai-1.0.0.dist-info/top_level.txt,sha256=TG1htJ8cuD62MXn-NJ7DVF21QHY16w6M_QgfF_Er_EQ,7
18
- euriai-1.0.0.dist-info/RECORD,,
14
+ euriai-1.0.1.dist-info/METADATA,sha256=BdezMUKkYwKb7S4zZUY14E2v8lUtH3u1dTB01M_3cNI,6881
15
+ euriai-1.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
16
+ euriai-1.0.1.dist-info/entry_points.txt,sha256=9OkET8KIGcsjQn8UlnpPKRT75s2KW34jq1__1SXtpMA,43
17
+ euriai-1.0.1.dist-info/top_level.txt,sha256=TG1htJ8cuD62MXn-NJ7DVF21QHY16w6M_QgfF_Er_EQ,7
18
+ euriai-1.0.1.dist-info/RECORD,,
File without changes