agentstr 0.0.5__py3-none-any.whl → 0.0.9__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
agentstr/core.py CHANGED
@@ -1,3 +1,42 @@
1
+ from phi.agent import Agent
2
+ from phi.model.openai import OpenAIChat
3
+ from pydantic import Field
4
+ from typing import Optional
5
+
6
+
7
+ class AgentStr(Agent):
8
+
9
+ # -*- Agent settings
10
+ # Company operating the agent.
11
+ # Used as seed for public / private key identifier together with the agent role
12
+ company: str = None
13
+
14
+ # -*- Agent public / private key identifiers
15
+ # The public / private key should be deterministic for a given 'company' and 'role' combination
16
+ # Public key for the agent
17
+ npub: str = None
18
+ # Private key for the agent
19
+ nsec: str = None
20
+
21
+ # Call the parent class (Agent) constructor
22
+ def __init__(self, company: str, role: str):
23
+ super().__init__(role = role, model=OpenAIChat(id="gpt-4o"))
24
+ self.company = company
25
+ self.npub = f"npub - {self.company} - {self.role}"
26
+ self.nsec = f"nsec - {self.company} - {self.role}"
27
+
28
+ def get_public_key(self) -> str:
29
+ return self.npub
30
+
31
+ def get_private_key(self) -> str:
32
+ return self.nsec
33
+
34
+ def get_company(self) -> str:
35
+ return self.company
36
+
37
+ def get_role(self) -> str:
38
+ return self.role
39
+
1
40
  def add(a, b):
2
41
  """Add two numbers."""
3
42
  return a + b
@@ -0,0 +1,93 @@
1
+ Metadata-Version: 2.2
2
+ Name: agentstr
3
+ Version: 0.0.9
4
+ Summary: A library for collaborative AI agents
5
+ Home-page: https://github.com/synvya/agentstr
6
+ Author: Alejandro Gil
7
+ Author-email: Alejandro Gil <info@synvya.com>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/synvya/agentstr
10
+ Project-URL: Documentation, https://github.com/synvya/agentstr#readme
11
+ Project-URL: BugTracker, https://github.com/synvya/agentstr/issues
12
+ Keywords: AI,agents,collaboration,library
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.6
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: phidata>=2.7.0
20
+ Requires-Dist: openai>=1.50.0
21
+ Dynamic: author
22
+ Dynamic: home-page
23
+ Dynamic: requires-python
24
+
25
+ AgentStr
26
+ ========
27
+ AgentStr is an extension of [Phidata](https://www.phidata.com) AI agents that allows for agents to communicate with other agents in separate computers using the Nostr communication protocol.
28
+
29
+ The goal is for Agent A operated by Company A to be able to work with Agent B operated by Company B to achieve a common goal. For example: Company A wants to buy a product sold by Company B so Agent A and Agent B can coordinate and execute the transaction.
30
+
31
+ # License
32
+ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
33
+
34
+ # Current status
35
+ The library is in its infancy.
36
+
37
+ Done:
38
+ - Workflow to package and distribute the library
39
+ - Create AgentStr as an extension of Phidata Agent
40
+ - Test the addition of new properties and capabilities for the AgentStr class
41
+
42
+ To be done:
43
+ - Incorporate Nostr capabilities
44
+ - Create unique public / private key identifiers for agent instances
45
+ - Send and retreive messages via Nostr
46
+ - Expose capabilities via Nostr
47
+ - Agent B retrieves capabilities exposed by Agent A
48
+ - Agent B coordinates transaction with Agent A
49
+
50
+ # Installation
51
+ AgentStr is offered as a python library available at https://pypi.org/project/agentstr/.
52
+
53
+ Here is an example on how to use the library:
54
+
55
+ 1. Create a new python environment for your app
56
+ ```
57
+ cd ~/
58
+ python3 -m venv ~/.venvs/aienv
59
+ source ~/.venvs/aienv/bin/acticate
60
+ ```
61
+ 2. Install the agentstr library
62
+ ```
63
+ pip install agentstr
64
+ mkdir ~/mysampleapp
65
+ cd ~/mysampleapp
66
+ ```
67
+ 3. Create a new python file
68
+ ```
69
+ touch main.py
70
+ ```
71
+ 4. Copy paste this code to the main.py file
72
+ ```
73
+ from agentstr.core import AgentStr
74
+ # Create the agent
75
+ agent = AgentStr("Synvya Inc", "Seller")
76
+
77
+ # Test AgentStr new capabilities
78
+ print(f"Public key: {agent.get_public_key()}\nPrivate key: {agent.get_private_key()}")
79
+ print(f"Company: {agent.get_company()}\nRole: {agent.get_role()}")
80
+
81
+ # Test phidata inherited capabilities
82
+ agent.print_response("Write two sentence poem for the love between the sun and the moon.")
83
+ ```
84
+ 5. Run the code
85
+ ```
86
+ python main.py
87
+ ```
88
+
89
+ # Contributing
90
+ Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for specific instructions on installation instructions for developers and how to contribute.
91
+
92
+ # Acknowledgments
93
+ - [Phidata](https://www.phidata.com/.com/) - For building robust AI agents.
@@ -0,0 +1,7 @@
1
+ agentstr/__init__.py,sha256=sXLh7g3KC4QCFxcZGBTpG2scR7hmmBsMjq6LqRptkRg,22
2
+ agentstr/core.py,sha256=xS5q8ltl81DqLjKgiVtjUQ5r-jbEPXXjTlJ0pWcV5p8,1214
3
+ agentstr-0.0.9.dist-info/LICENSE,sha256=xF8akIKB07gOtkhjENT0xVbWGdFp4-srDKpZKjD03Js,1063
4
+ agentstr-0.0.9.dist-info/METADATA,sha256=0H9Gophcg8p8Hw3vCZhQanTZTb9EGkCNvMWXsA_aOo0,3194
5
+ agentstr-0.0.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
6
+ agentstr-0.0.9.dist-info/top_level.txt,sha256=KZObFRHppZvKUGYB_m9w5HhLwps7jj7w6Xrw73dH2ss,9
7
+ agentstr-0.0.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,21 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: agentstr
3
- Version: 0.0.5
4
- Summary: A library for collaborative AI agents
5
- Home-page: https://github.com/synvya/agentstr
6
- Author: Alejandro Gil
7
- Author-email: Alejandro Gil <info@synvya.com>
8
- License: MIT
9
- Project-URL: Homepage, https://github.com/synvya/agentstr
10
- Project-URL: Documentation, https://github.com/synvya/agentstr#readme
11
- Project-URL: BugTracker, https://github.com/synvya/agentstr/issues
12
- Keywords: AI,agents,collaboration,library
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: OS Independent
16
- Requires-Python: >=3.6
17
- Description-Content-Type: text/markdown
18
- License-File: LICENSE
19
-
20
- # agentstr
21
- Nostr based communication library for agents
@@ -1,7 +0,0 @@
1
- agentstr/__init__.py,sha256=sXLh7g3KC4QCFxcZGBTpG2scR7hmmBsMjq6LqRptkRg,22
2
- agentstr/core.py,sha256=GMS9WOSF8ymsQ4Ja9EIzMlQAA8oreikKL4yaRANWu9U,59
3
- agentstr-0.0.5.dist-info/LICENSE,sha256=xF8akIKB07gOtkhjENT0xVbWGdFp4-srDKpZKjD03Js,1063
4
- agentstr-0.0.5.dist-info/METADATA,sha256=kVShRpj10G7cW9FeKqxXu6DGwoGp50RBEXU5absSCWc,751
5
- agentstr-0.0.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
6
- agentstr-0.0.5.dist-info/top_level.txt,sha256=KZObFRHppZvKUGYB_m9w5HhLwps7jj7w6Xrw73dH2ss,9
7
- agentstr-0.0.5.dist-info/RECORD,,