airtrain 0.1.5__tar.gz → 0.1.6__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 (65) hide show
  1. airtrain-0.1.6/PKG-INFO +164 -0
  2. airtrain-0.1.6/README.md +131 -0
  3. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/__init__.py +1 -1
  4. airtrain-0.1.6/airtrain.egg-info/PKG-INFO +164 -0
  5. airtrain-0.1.5/PKG-INFO +0 -106
  6. airtrain-0.1.5/README.md +0 -73
  7. airtrain-0.1.5/airtrain.egg-info/PKG-INFO +0 -106
  8. {airtrain-0.1.5 → airtrain-0.1.6}/.flake8 +0 -0
  9. {airtrain-0.1.5 → airtrain-0.1.6}/.github/workflows/publish.yml +0 -0
  10. {airtrain-0.1.5 → airtrain-0.1.6}/.gitignore +0 -0
  11. {airtrain-0.1.5 → airtrain-0.1.6}/.mypy.ini +0 -0
  12. {airtrain-0.1.5 → airtrain-0.1.6}/.pre-commit-config.yaml +0 -0
  13. {airtrain-0.1.5 → airtrain-0.1.6}/.vscode/extensions.json +0 -0
  14. {airtrain-0.1.5 → airtrain-0.1.6}/.vscode/launch.json +0 -0
  15. {airtrain-0.1.5 → airtrain-0.1.6}/.vscode/settings.json +0 -0
  16. {airtrain-0.1.5 → airtrain-0.1.6}/EXPERIMENTS/integrations_examples/anthropic_with_image.py +0 -0
  17. {airtrain-0.1.5 → airtrain-0.1.6}/EXPERIMENTS/schema_exps/pydantic_schemas.py +0 -0
  18. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/__init__.py +0 -0
  19. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/__pycache__/credentials.cpython-310.pyc +0 -0
  20. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/__pycache__/schemas.cpython-310.pyc +0 -0
  21. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/__pycache__/skills.cpython-310.pyc +0 -0
  22. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/credentials.py +0 -0
  23. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/schemas.py +0 -0
  24. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/core/skills.py +0 -0
  25. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/__init__.py +0 -0
  26. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/anthropic/credentials.py +0 -0
  27. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/anthropic/skills.py +0 -0
  28. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/aws/credentials.py +0 -0
  29. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/cerebras/credentials.py +0 -0
  30. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/google/credentials.py +0 -0
  31. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/groq/credentials.py +0 -0
  32. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/ollama/credentials.py +0 -0
  33. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/openai/chinese_assistant.py +0 -0
  34. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/openai/credentials.py +0 -0
  35. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/openai/skills.py +0 -0
  36. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/sambanova/credentials.py +0 -0
  37. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain/integrations/together/credentials.py +0 -0
  38. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain.egg-info/SOURCES.txt +0 -0
  39. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain.egg-info/dependency_links.txt +0 -0
  40. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain.egg-info/requires.txt +0 -0
  41. {airtrain-0.1.5 → airtrain-0.1.6}/airtrain.egg-info/top_level.txt +0 -0
  42. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/anthropic_skills_usage.py +0 -0
  43. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/chinese_anthropic_assistant.py +0 -0
  44. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/chinese_anthropic_usage.py +0 -0
  45. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/chinese_assistant_usage.py +0 -0
  46. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/icon128.png +0 -0
  47. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/icon16.png +0 -0
  48. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/image1.jpg +0 -0
  49. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/image2.jpg +0 -0
  50. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/openai_skills.py +0 -0
  51. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/openai_skills_usage.py +0 -0
  52. {airtrain-0.1.5 → airtrain-0.1.6}/examples/creating-skills/openai_structured_skills.py +0 -0
  53. {airtrain-0.1.5 → airtrain-0.1.6}/examples/credentials_usage.py +0 -0
  54. {airtrain-0.1.5 → airtrain-0.1.6}/examples/images/quantum-circuit.png +0 -0
  55. {airtrain-0.1.5 → airtrain-0.1.6}/examples/schema_usage.py +0 -0
  56. {airtrain-0.1.5 → airtrain-0.1.6}/examples/skill_usage.py +0 -0
  57. {airtrain-0.1.5 → airtrain-0.1.6}/pyproject.toml +0 -0
  58. {airtrain-0.1.5 → airtrain-0.1.6}/scripts/build.sh +0 -0
  59. {airtrain-0.1.5 → airtrain-0.1.6}/scripts/bump_version.py +0 -0
  60. {airtrain-0.1.5 → airtrain-0.1.6}/scripts/publish.sh +0 -0
  61. {airtrain-0.1.5 → airtrain-0.1.6}/scripts/release.py +0 -0
  62. {airtrain-0.1.5 → airtrain-0.1.6}/services/firebase_service.py +0 -0
  63. {airtrain-0.1.5 → airtrain-0.1.6}/services/openai_service.py +0 -0
  64. {airtrain-0.1.5 → airtrain-0.1.6}/setup.cfg +0 -0
  65. {airtrain-0.1.5 → airtrain-0.1.6}/setup.py +0 -0
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.2
2
+ Name: airtrain
3
+ Version: 0.1.6
4
+ Summary: A platform for building and deploying AI agents with structured skills
5
+ Home-page: https://github.com/rosaboyle/airtrain.dev
6
+ Author: Dheeraj Pai
7
+ Author-email: helloworldcmu@gmail.com
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: pydantic>=2.0.0
19
+ Requires-Dist: openai>=1.0.0
20
+ Requires-Dist: python-dotenv>=0.19.0
21
+ Requires-Dist: PyYAML>=5.4.1
22
+ Requires-Dist: firebase-admin>=5.0.0
23
+ Requires-Dist: loguru>=0.5.3
24
+ Dynamic: author
25
+ Dynamic: author-email
26
+ Dynamic: classifier
27
+ Dynamic: description
28
+ Dynamic: description-content-type
29
+ Dynamic: home-page
30
+ Dynamic: requires-dist
31
+ Dynamic: requires-python
32
+ Dynamic: summary
33
+
34
+ # Airtrain
35
+
36
+ A powerful platform for building and deploying AI agents with structured skills and capabilities.
37
+
38
+ ## Features
39
+
40
+ - **Structured Skills**: Build modular AI skills with defined input/output schemas
41
+ - **Multiple LLM Integrations**: Built-in support for OpenAI and Anthropic models
42
+ - **Structured Outputs**: Parse LLM responses into structured Pydantic models
43
+ - **Credential Management**: Secure handling of API keys and credentials
44
+ - **Type Safety**: Full type hints and Pydantic model support
45
+ - **Image Support**: Handle image inputs for multimodal models
46
+ - **Error Handling**: Robust error handling and logging
47
+
48
+ ## Installation
49
+
50
+ ```bash
51
+ pip install airtrain
52
+ ```
53
+
54
+ ## Quick Start
55
+
56
+ ### 1. Basic OpenAI Chat
57
+
58
+ ```python
59
+ from airtrain.integrations.openai.skills import OpenAIChatSkill, OpenAIInput
60
+
61
+ # Initialize the skill
62
+ skill = OpenAIChatSkill()
63
+
64
+ # Create input
65
+ input_data = OpenAIInput(
66
+ user_input="Explain quantum computing in simple terms.",
67
+ system_prompt="You are a helpful teacher.",
68
+ max_tokens=500,
69
+ temperature=0.7
70
+ )
71
+
72
+ # Get response
73
+ result = skill.process(input_data)
74
+ print(result.response)
75
+ print(f"Tokens Used: {result.usage['total_tokens']}")
76
+ ```
77
+
78
+ ### 2. Anthropic Claude Integration
79
+
80
+ ```python
81
+ from airtrain.integrations.anthropic.skills import AnthropicChatSkill, AnthropicInput
82
+
83
+ # Initialize the skill
84
+ skill = AnthropicChatSkill()
85
+
86
+ # Create input
87
+ input_data = AnthropicInput(
88
+ user_input="Explain the theory of relativity.",
89
+ system_prompt="You are a physics expert.",
90
+ model="claude-3-opus-20240229",
91
+ temperature=0.3
92
+ )
93
+
94
+ # Get response
95
+ result = skill.process(input_data)
96
+ print(result.response)
97
+ print(f"Usage: {result.usage}")
98
+ ```
99
+
100
+ ### 3. Structured Output with OpenAI
101
+
102
+ ```python
103
+ from pydantic import BaseModel
104
+ from typing import List
105
+ from airtrain.integrations.openai.skills import OpenAIParserSkill, OpenAIParserInput
106
+
107
+ # Define your response model
108
+ class PersonInfo(BaseModel):
109
+ name: str
110
+ age: int
111
+ occupation: str
112
+ skills: List[str]
113
+
114
+ # Initialize the parser skill
115
+ parser_skill = OpenAIParserSkill()
116
+
117
+ # Create input with response model
118
+ input_data = OpenAIParserInput(
119
+ user_input="Tell me about John Doe, a 30-year-old software engineer who specializes in Python and AI",
120
+ system_prompt="Extract structured information about the person.",
121
+ response_model=PersonInfo
122
+ )
123
+
124
+ # Get structured response
125
+ result = parser_skill.process(input_data)
126
+ person_info = result.parsed_response
127
+ print(f"Name: {person_info.name}")
128
+ print(f"Skills: {', '.join(person_info.skills)}")
129
+ ```
130
+
131
+ ## Error Handling
132
+
133
+ All skills include built-in error handling:
134
+
135
+ ```python
136
+ from airtrain.core.skills import ProcessingError
137
+
138
+ try:
139
+ result = skill.process(input_data)
140
+ except ProcessingError as e:
141
+ print(f"Processing failed: {e}")
142
+ ```
143
+
144
+ ## Advanced Features
145
+
146
+ - Image Analysis Support
147
+ - Function Calling
148
+ - Custom Validators
149
+ - Async Processing
150
+ - Token Usage Tracking
151
+
152
+ For more examples and detailed documentation, visit our [documentation](https://airtrain.readthedocs.io/).
153
+
154
+ ## Documentation
155
+
156
+ For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
157
+
158
+ ## Contributing
159
+
160
+ Contributions are welcome! Please feel free to submit a Pull Request.
161
+
162
+ ## License
163
+
164
+ This project is licensed under the MIT License - see the LICENSE file for details.
@@ -0,0 +1,131 @@
1
+ # Airtrain
2
+
3
+ A powerful platform for building and deploying AI agents with structured skills and capabilities.
4
+
5
+ ## Features
6
+
7
+ - **Structured Skills**: Build modular AI skills with defined input/output schemas
8
+ - **Multiple LLM Integrations**: Built-in support for OpenAI and Anthropic models
9
+ - **Structured Outputs**: Parse LLM responses into structured Pydantic models
10
+ - **Credential Management**: Secure handling of API keys and credentials
11
+ - **Type Safety**: Full type hints and Pydantic model support
12
+ - **Image Support**: Handle image inputs for multimodal models
13
+ - **Error Handling**: Robust error handling and logging
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ pip install airtrain
19
+ ```
20
+
21
+ ## Quick Start
22
+
23
+ ### 1. Basic OpenAI Chat
24
+
25
+ ```python
26
+ from airtrain.integrations.openai.skills import OpenAIChatSkill, OpenAIInput
27
+
28
+ # Initialize the skill
29
+ skill = OpenAIChatSkill()
30
+
31
+ # Create input
32
+ input_data = OpenAIInput(
33
+ user_input="Explain quantum computing in simple terms.",
34
+ system_prompt="You are a helpful teacher.",
35
+ max_tokens=500,
36
+ temperature=0.7
37
+ )
38
+
39
+ # Get response
40
+ result = skill.process(input_data)
41
+ print(result.response)
42
+ print(f"Tokens Used: {result.usage['total_tokens']}")
43
+ ```
44
+
45
+ ### 2. Anthropic Claude Integration
46
+
47
+ ```python
48
+ from airtrain.integrations.anthropic.skills import AnthropicChatSkill, AnthropicInput
49
+
50
+ # Initialize the skill
51
+ skill = AnthropicChatSkill()
52
+
53
+ # Create input
54
+ input_data = AnthropicInput(
55
+ user_input="Explain the theory of relativity.",
56
+ system_prompt="You are a physics expert.",
57
+ model="claude-3-opus-20240229",
58
+ temperature=0.3
59
+ )
60
+
61
+ # Get response
62
+ result = skill.process(input_data)
63
+ print(result.response)
64
+ print(f"Usage: {result.usage}")
65
+ ```
66
+
67
+ ### 3. Structured Output with OpenAI
68
+
69
+ ```python
70
+ from pydantic import BaseModel
71
+ from typing import List
72
+ from airtrain.integrations.openai.skills import OpenAIParserSkill, OpenAIParserInput
73
+
74
+ # Define your response model
75
+ class PersonInfo(BaseModel):
76
+ name: str
77
+ age: int
78
+ occupation: str
79
+ skills: List[str]
80
+
81
+ # Initialize the parser skill
82
+ parser_skill = OpenAIParserSkill()
83
+
84
+ # Create input with response model
85
+ input_data = OpenAIParserInput(
86
+ user_input="Tell me about John Doe, a 30-year-old software engineer who specializes in Python and AI",
87
+ system_prompt="Extract structured information about the person.",
88
+ response_model=PersonInfo
89
+ )
90
+
91
+ # Get structured response
92
+ result = parser_skill.process(input_data)
93
+ person_info = result.parsed_response
94
+ print(f"Name: {person_info.name}")
95
+ print(f"Skills: {', '.join(person_info.skills)}")
96
+ ```
97
+
98
+ ## Error Handling
99
+
100
+ All skills include built-in error handling:
101
+
102
+ ```python
103
+ from airtrain.core.skills import ProcessingError
104
+
105
+ try:
106
+ result = skill.process(input_data)
107
+ except ProcessingError as e:
108
+ print(f"Processing failed: {e}")
109
+ ```
110
+
111
+ ## Advanced Features
112
+
113
+ - Image Analysis Support
114
+ - Function Calling
115
+ - Custom Validators
116
+ - Async Processing
117
+ - Token Usage Tracking
118
+
119
+ For more examples and detailed documentation, visit our [documentation](https://airtrain.readthedocs.io/).
120
+
121
+ ## Documentation
122
+
123
+ For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
124
+
125
+ ## Contributing
126
+
127
+ Contributions are welcome! Please feel free to submit a Pull Request.
128
+
129
+ ## License
130
+
131
+ This project is licensed under the MIT License - see the LICENSE file for details.
@@ -1,6 +1,6 @@
1
1
  """Airtrain - A platform for building and deploying AI agents with structured skills"""
2
2
 
3
- __version__ = "0.1.5"
3
+ __version__ = "0.1.6"
4
4
 
5
5
  from .core.skills import Skill
6
6
  from .core.schemas import InputSchema, OutputSchema
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.2
2
+ Name: airtrain
3
+ Version: 0.1.6
4
+ Summary: A platform for building and deploying AI agents with structured skills
5
+ Home-page: https://github.com/rosaboyle/airtrain.dev
6
+ Author: Dheeraj Pai
7
+ Author-email: helloworldcmu@gmail.com
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: pydantic>=2.0.0
19
+ Requires-Dist: openai>=1.0.0
20
+ Requires-Dist: python-dotenv>=0.19.0
21
+ Requires-Dist: PyYAML>=5.4.1
22
+ Requires-Dist: firebase-admin>=5.0.0
23
+ Requires-Dist: loguru>=0.5.3
24
+ Dynamic: author
25
+ Dynamic: author-email
26
+ Dynamic: classifier
27
+ Dynamic: description
28
+ Dynamic: description-content-type
29
+ Dynamic: home-page
30
+ Dynamic: requires-dist
31
+ Dynamic: requires-python
32
+ Dynamic: summary
33
+
34
+ # Airtrain
35
+
36
+ A powerful platform for building and deploying AI agents with structured skills and capabilities.
37
+
38
+ ## Features
39
+
40
+ - **Structured Skills**: Build modular AI skills with defined input/output schemas
41
+ - **Multiple LLM Integrations**: Built-in support for OpenAI and Anthropic models
42
+ - **Structured Outputs**: Parse LLM responses into structured Pydantic models
43
+ - **Credential Management**: Secure handling of API keys and credentials
44
+ - **Type Safety**: Full type hints and Pydantic model support
45
+ - **Image Support**: Handle image inputs for multimodal models
46
+ - **Error Handling**: Robust error handling and logging
47
+
48
+ ## Installation
49
+
50
+ ```bash
51
+ pip install airtrain
52
+ ```
53
+
54
+ ## Quick Start
55
+
56
+ ### 1. Basic OpenAI Chat
57
+
58
+ ```python
59
+ from airtrain.integrations.openai.skills import OpenAIChatSkill, OpenAIInput
60
+
61
+ # Initialize the skill
62
+ skill = OpenAIChatSkill()
63
+
64
+ # Create input
65
+ input_data = OpenAIInput(
66
+ user_input="Explain quantum computing in simple terms.",
67
+ system_prompt="You are a helpful teacher.",
68
+ max_tokens=500,
69
+ temperature=0.7
70
+ )
71
+
72
+ # Get response
73
+ result = skill.process(input_data)
74
+ print(result.response)
75
+ print(f"Tokens Used: {result.usage['total_tokens']}")
76
+ ```
77
+
78
+ ### 2. Anthropic Claude Integration
79
+
80
+ ```python
81
+ from airtrain.integrations.anthropic.skills import AnthropicChatSkill, AnthropicInput
82
+
83
+ # Initialize the skill
84
+ skill = AnthropicChatSkill()
85
+
86
+ # Create input
87
+ input_data = AnthropicInput(
88
+ user_input="Explain the theory of relativity.",
89
+ system_prompt="You are a physics expert.",
90
+ model="claude-3-opus-20240229",
91
+ temperature=0.3
92
+ )
93
+
94
+ # Get response
95
+ result = skill.process(input_data)
96
+ print(result.response)
97
+ print(f"Usage: {result.usage}")
98
+ ```
99
+
100
+ ### 3. Structured Output with OpenAI
101
+
102
+ ```python
103
+ from pydantic import BaseModel
104
+ from typing import List
105
+ from airtrain.integrations.openai.skills import OpenAIParserSkill, OpenAIParserInput
106
+
107
+ # Define your response model
108
+ class PersonInfo(BaseModel):
109
+ name: str
110
+ age: int
111
+ occupation: str
112
+ skills: List[str]
113
+
114
+ # Initialize the parser skill
115
+ parser_skill = OpenAIParserSkill()
116
+
117
+ # Create input with response model
118
+ input_data = OpenAIParserInput(
119
+ user_input="Tell me about John Doe, a 30-year-old software engineer who specializes in Python and AI",
120
+ system_prompt="Extract structured information about the person.",
121
+ response_model=PersonInfo
122
+ )
123
+
124
+ # Get structured response
125
+ result = parser_skill.process(input_data)
126
+ person_info = result.parsed_response
127
+ print(f"Name: {person_info.name}")
128
+ print(f"Skills: {', '.join(person_info.skills)}")
129
+ ```
130
+
131
+ ## Error Handling
132
+
133
+ All skills include built-in error handling:
134
+
135
+ ```python
136
+ from airtrain.core.skills import ProcessingError
137
+
138
+ try:
139
+ result = skill.process(input_data)
140
+ except ProcessingError as e:
141
+ print(f"Processing failed: {e}")
142
+ ```
143
+
144
+ ## Advanced Features
145
+
146
+ - Image Analysis Support
147
+ - Function Calling
148
+ - Custom Validators
149
+ - Async Processing
150
+ - Token Usage Tracking
151
+
152
+ For more examples and detailed documentation, visit our [documentation](https://airtrain.readthedocs.io/).
153
+
154
+ ## Documentation
155
+
156
+ For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
157
+
158
+ ## Contributing
159
+
160
+ Contributions are welcome! Please feel free to submit a Pull Request.
161
+
162
+ ## License
163
+
164
+ This project is licensed under the MIT License - see the LICENSE file for details.
airtrain-0.1.5/PKG-INFO DELETED
@@ -1,106 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: airtrain
3
- Version: 0.1.5
4
- Summary: A platform for building and deploying AI agents with structured skills
5
- Home-page: https://github.com/rosaboyle/airtrain.dev
6
- Author: Dheeraj Pai
7
- Author-email: helloworldcmu@gmail.com
8
- Classifier: Development Status :: 3 - Alpha
9
- Classifier: Intended Audience :: Developers
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.8
14
- Classifier: Programming Language :: Python :: 3.9
15
- Classifier: Programming Language :: Python :: 3.10
16
- Requires-Python: >=3.8
17
- Description-Content-Type: text/markdown
18
- Requires-Dist: pydantic>=2.0.0
19
- Requires-Dist: openai>=1.0.0
20
- Requires-Dist: python-dotenv>=0.19.0
21
- Requires-Dist: PyYAML>=5.4.1
22
- Requires-Dist: firebase-admin>=5.0.0
23
- Requires-Dist: loguru>=0.5.3
24
- Dynamic: author
25
- Dynamic: author-email
26
- Dynamic: classifier
27
- Dynamic: description
28
- Dynamic: description-content-type
29
- Dynamic: home-page
30
- Dynamic: requires-dist
31
- Dynamic: requires-python
32
- Dynamic: summary
33
-
34
- # Airtrain
35
-
36
- A powerful platform for building and deploying AI agents with structured skills and capabilities.
37
-
38
- ## Features
39
-
40
- - **Structured Skills**: Build modular AI skills with defined input/output schemas
41
- - **OpenAI Integration**: Built-in support for OpenAI's GPT models with structured outputs
42
- - **Credential Management**: Secure handling of API keys and credentials
43
- - **Type Safety**: Full type hints and Pydantic model support
44
- - **Async Support**: Both synchronous and asynchronous API implementations
45
-
46
- ## Installation
47
-
48
- ```bash
49
- pip install airtrain
50
- ```
51
-
52
- ## Quick Start
53
-
54
- ### Creating a Structured OpenAI Skill
55
-
56
- ```python
57
- from airtrain.core.skills import Skill
58
- from airtrain.core.schemas import InputSchema, OutputSchema
59
- from pydantic import BaseModel
60
- from typing import List
61
-
62
- # Define your response model
63
- class PersonInfo(BaseModel):
64
- name: str
65
- age: int
66
- occupation: str
67
- skills: List[str]
68
-
69
- # Create a skill
70
- class OpenAIParserSkill(Skill):
71
- def process(self, input_data):
72
- # Implementation
73
- return parsed_response
74
-
75
- # Use the skill
76
- skill = OpenAIParserSkill()
77
- result = skill.process(input_data)
78
- ```
79
-
80
- ### Managing Credentials
81
-
82
- ```python
83
- from airtrain.core.credentials import OpenAICredentials
84
- from pathlib import Path
85
-
86
- # Load credentials
87
- creds = OpenAICredentials(
88
- api_key="your-api-key",
89
- organization_id="optional-org-id"
90
- )
91
-
92
- # Save to environment
93
- creds.load_to_env()
94
- ```
95
-
96
- ## Documentation
97
-
98
- For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
99
-
100
- ## Contributing
101
-
102
- Contributions are welcome! Please feel free to submit a Pull Request.
103
-
104
- ## License
105
-
106
- This project is licensed under the MIT License - see the LICENSE file for details.
airtrain-0.1.5/README.md DELETED
@@ -1,73 +0,0 @@
1
- # Airtrain
2
-
3
- A powerful platform for building and deploying AI agents with structured skills and capabilities.
4
-
5
- ## Features
6
-
7
- - **Structured Skills**: Build modular AI skills with defined input/output schemas
8
- - **OpenAI Integration**: Built-in support for OpenAI's GPT models with structured outputs
9
- - **Credential Management**: Secure handling of API keys and credentials
10
- - **Type Safety**: Full type hints and Pydantic model support
11
- - **Async Support**: Both synchronous and asynchronous API implementations
12
-
13
- ## Installation
14
-
15
- ```bash
16
- pip install airtrain
17
- ```
18
-
19
- ## Quick Start
20
-
21
- ### Creating a Structured OpenAI Skill
22
-
23
- ```python
24
- from airtrain.core.skills import Skill
25
- from airtrain.core.schemas import InputSchema, OutputSchema
26
- from pydantic import BaseModel
27
- from typing import List
28
-
29
- # Define your response model
30
- class PersonInfo(BaseModel):
31
- name: str
32
- age: int
33
- occupation: str
34
- skills: List[str]
35
-
36
- # Create a skill
37
- class OpenAIParserSkill(Skill):
38
- def process(self, input_data):
39
- # Implementation
40
- return parsed_response
41
-
42
- # Use the skill
43
- skill = OpenAIParserSkill()
44
- result = skill.process(input_data)
45
- ```
46
-
47
- ### Managing Credentials
48
-
49
- ```python
50
- from airtrain.core.credentials import OpenAICredentials
51
- from pathlib import Path
52
-
53
- # Load credentials
54
- creds = OpenAICredentials(
55
- api_key="your-api-key",
56
- organization_id="optional-org-id"
57
- )
58
-
59
- # Save to environment
60
- creds.load_to_env()
61
- ```
62
-
63
- ## Documentation
64
-
65
- For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
66
-
67
- ## Contributing
68
-
69
- Contributions are welcome! Please feel free to submit a Pull Request.
70
-
71
- ## License
72
-
73
- This project is licensed under the MIT License - see the LICENSE file for details.
@@ -1,106 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: airtrain
3
- Version: 0.1.5
4
- Summary: A platform for building and deploying AI agents with structured skills
5
- Home-page: https://github.com/rosaboyle/airtrain.dev
6
- Author: Dheeraj Pai
7
- Author-email: helloworldcmu@gmail.com
8
- Classifier: Development Status :: 3 - Alpha
9
- Classifier: Intended Audience :: Developers
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.8
14
- Classifier: Programming Language :: Python :: 3.9
15
- Classifier: Programming Language :: Python :: 3.10
16
- Requires-Python: >=3.8
17
- Description-Content-Type: text/markdown
18
- Requires-Dist: pydantic>=2.0.0
19
- Requires-Dist: openai>=1.0.0
20
- Requires-Dist: python-dotenv>=0.19.0
21
- Requires-Dist: PyYAML>=5.4.1
22
- Requires-Dist: firebase-admin>=5.0.0
23
- Requires-Dist: loguru>=0.5.3
24
- Dynamic: author
25
- Dynamic: author-email
26
- Dynamic: classifier
27
- Dynamic: description
28
- Dynamic: description-content-type
29
- Dynamic: home-page
30
- Dynamic: requires-dist
31
- Dynamic: requires-python
32
- Dynamic: summary
33
-
34
- # Airtrain
35
-
36
- A powerful platform for building and deploying AI agents with structured skills and capabilities.
37
-
38
- ## Features
39
-
40
- - **Structured Skills**: Build modular AI skills with defined input/output schemas
41
- - **OpenAI Integration**: Built-in support for OpenAI's GPT models with structured outputs
42
- - **Credential Management**: Secure handling of API keys and credentials
43
- - **Type Safety**: Full type hints and Pydantic model support
44
- - **Async Support**: Both synchronous and asynchronous API implementations
45
-
46
- ## Installation
47
-
48
- ```bash
49
- pip install airtrain
50
- ```
51
-
52
- ## Quick Start
53
-
54
- ### Creating a Structured OpenAI Skill
55
-
56
- ```python
57
- from airtrain.core.skills import Skill
58
- from airtrain.core.schemas import InputSchema, OutputSchema
59
- from pydantic import BaseModel
60
- from typing import List
61
-
62
- # Define your response model
63
- class PersonInfo(BaseModel):
64
- name: str
65
- age: int
66
- occupation: str
67
- skills: List[str]
68
-
69
- # Create a skill
70
- class OpenAIParserSkill(Skill):
71
- def process(self, input_data):
72
- # Implementation
73
- return parsed_response
74
-
75
- # Use the skill
76
- skill = OpenAIParserSkill()
77
- result = skill.process(input_data)
78
- ```
79
-
80
- ### Managing Credentials
81
-
82
- ```python
83
- from airtrain.core.credentials import OpenAICredentials
84
- from pathlib import Path
85
-
86
- # Load credentials
87
- creds = OpenAICredentials(
88
- api_key="your-api-key",
89
- organization_id="optional-org-id"
90
- )
91
-
92
- # Save to environment
93
- creds.load_to_env()
94
- ```
95
-
96
- ## Documentation
97
-
98
- For detailed documentation, visit [our documentation site](https://docs.airtrain.dev/).
99
-
100
- ## Contributing
101
-
102
- Contributions are welcome! Please feel free to submit a Pull Request.
103
-
104
- ## License
105
-
106
- This project is licensed under the MIT License - see the LICENSE file for details.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes