PraisonAI 0.0.10__tar.gz → 0.0.12__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.1
2
2
  Name: praisonAI
3
- Version: 0.0.10
3
+ Version: 0.0.12
4
4
  Summary: praisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration.
5
5
  Author: Mervin Praison
6
6
  Requires-Python: >=3.10,<3.13
@@ -143,6 +143,10 @@ if __name__ == "__main__":
143
143
 
144
144
  ```bash
145
145
  gcloud init
146
+ gcloud services enable run.googleapis.com
147
+ gcloud services enable containerregistry.googleapis.com
148
+ gcloud services enable cloudbuild.googleapis.com
149
+
146
150
  export OPENAI_MODEL_NAME="gpt-4-turbo-preview"
147
151
  export OPENAI_API_KEY="Enter your API key"
148
152
  export OPENAI_API_BASE="https://api.openai.com/v1"
@@ -162,3 +166,14 @@ gcloud run deploy praisonai-service \
162
166
  --region us-central1 \
163
167
  --allow-unauthenticated \
164
168
  --set-env-vars OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME},OPENAI_API_KEY=${OPENAI_API_KEY},OPENAI_API_BASE=${OPENAI_API_BASE}
169
+
170
+ ## Contributing
171
+
172
+ - Fork on GitHub: Use the "Fork" button on the repository page.
173
+ - Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
174
+ - Create a branch: `git checkout -b new-feature`
175
+ - Make changes and commit: `git commit -am "Add some feature"`
176
+ - Push to your fork: `git push origin new-feature`
177
+ - Submit a pull request via GitHub's web interface.
178
+ - Await feedback from project maintainers.
179
+
@@ -123,6 +123,10 @@ if __name__ == "__main__":
123
123
 
124
124
  ```bash
125
125
  gcloud init
126
+ gcloud services enable run.googleapis.com
127
+ gcloud services enable containerregistry.googleapis.com
128
+ gcloud services enable cloudbuild.googleapis.com
129
+
126
130
  export OPENAI_MODEL_NAME="gpt-4-turbo-preview"
127
131
  export OPENAI_API_KEY="Enter your API key"
128
132
  export OPENAI_API_BASE="https://api.openai.com/v1"
@@ -141,4 +145,14 @@ gcloud run deploy praisonai-service \
141
145
  --platform managed \
142
146
  --region us-central1 \
143
147
  --allow-unauthenticated \
144
- --set-env-vars OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME},OPENAI_API_KEY=${OPENAI_API_KEY},OPENAI_API_BASE=${OPENAI_API_BASE}
148
+ --set-env-vars OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME},OPENAI_API_KEY=${OPENAI_API_KEY},OPENAI_API_BASE=${OPENAI_API_BASE}
149
+
150
+ ## Contributing
151
+
152
+ - Fork on GitHub: Use the "Fork" button on the repository page.
153
+ - Clone your fork: `git clone https://github.com/yourusername/praisonAI.git`
154
+ - Create a branch: `git checkout -b new-feature`
155
+ - Make changes and commit: `git commit -am "Add some feature"`
156
+ - Push to your fork: `git push origin new-feature`
157
+ - Submit a pull request via GitHub's web interface.
158
+ - Await feedback from project maintainers.
@@ -107,12 +107,17 @@ class PraisonAI:
107
107
  if args is None:
108
108
  result = self.generate_crew_and_kickoff()
109
109
  return result
110
+ if args.deploy:
111
+ from .deploy import CloudDeployer
112
+ deployer = CloudDeployer()
113
+ deployer.run_commands()
114
+ return
110
115
  invocation_cmd = "praisonai"
111
116
  version_string = f"praisonAI version {__version__}"
112
117
 
113
118
  # if args.framework:
114
119
  # self.framework = args.framework
115
- ui = args.ui # Default UI flag
120
+ ui = args.ui
116
121
 
117
122
  if args.agent_file:
118
123
  if args.agent_file == "tests.test": # Argument used for testing purposes
@@ -156,13 +161,15 @@ class PraisonAI:
156
161
  parser.add_argument("--auto", nargs=argparse.REMAINDER, help="Enable auto mode and pass arguments for it")
157
162
  parser.add_argument("--init", nargs=argparse.REMAINDER, help="Enable auto mode and pass arguments for it")
158
163
  parser.add_argument("agent_file", nargs="?", help="Specify the agent file")
159
- parser.add_argument("-b", "--bind", help=argparse.SUPPRESS) # This will catch and ignore -b
164
+ parser.add_argument("-b", "--bind", nargs="?", default=None, help=argparse.SUPPRESS) # This will catch and ignore -b
165
+ parser.add_argument("--deploy", action="store_true", help="Deploy the application") # New argument
160
166
 
161
167
  args = parser.parse_args()
162
168
 
163
- # If -b was provided, remove it and its value from args
164
- if hasattr(args, "bind") and args.bind is not None:
165
- delattr(args, "bind")
169
+ # If -b was provided with 'api:app', ignore it and set agent_file to 'api.py'
170
+ if args.bind == 'api:app':
171
+ args.bind = None
172
+ args.agent_file = 'agents.yaml'
166
173
 
167
174
  return args
168
175
 
@@ -0,0 +1,39 @@
1
+ import subprocess
2
+ import os
3
+ from dotenv import load_dotenv
4
+
5
+ class CloudDeployer:
6
+ def __init__(self):
7
+ # Load environment variables from .env file or system
8
+ load_dotenv()
9
+ self.set_environment_variables()
10
+
11
+ def set_environment_variables(self):
12
+ """Sets environment variables with fallback to .env values or defaults."""
13
+ os.environ["OPENAI_MODEL_NAME"] = os.getenv("OPENAI_MODEL_NAME", "gpt-4-turbo-preview")
14
+ os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY", "Enter your API key")
15
+ os.environ["OPENAI_API_BASE"] = os.getenv("OPENAI_API_BASE", "https://api.openai.com/v1")
16
+
17
+ def run_commands(self):
18
+ """Runs a sequence of shell commands for deployment, continues on error."""
19
+ commands = [
20
+ "yes | gcloud auth configure-docker us-central1-docker.pkg.dev",
21
+ "gcloud artifacts repositories create praisonai-repository --repository-format=docker --location=us-central1",
22
+ "$(gcloud config get-value project)",
23
+ "docker build --platform linux/amd64 -t gcr.io/$(gcloud config get-value project)/praisonai-app:latest .",
24
+ "docker tag gcr.io/$(gcloud config get-value project)/praisonai-app:latest us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest",
25
+ "docker push us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest",
26
+ "gcloud run deploy praisonai-service --image us-central1-docker.pkg.dev/$(gcloud config get-value project)/praisonai-repository/praisonai-app:latest --platform managed --region us-central1 --allow-unauthenticated --set-env-vars OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME},OPENAI_API_KEY=${OPENAI_API_KEY},OPENAI_API_BASE=${OPENAI_API_BASE}"
27
+ ]
28
+
29
+ for cmd in commands:
30
+ try:
31
+ subprocess.run(cmd, shell=True, check=True)
32
+ except subprocess.CalledProcessError as e:
33
+ print(f"ERROR: Command '{e.cmd}' failed with exit status {e.returncode}")
34
+ print(f"Continuing with the next command...")
35
+
36
+ # Usage
37
+ if __name__ == "__main__":
38
+ deployer = CloudDeployer()
39
+ deployer.run_commands()
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "praisonAI"
3
- version = "0.0.10"
3
+ version = "0.0.12"
4
4
  description = "praisonAI application combines AutoGen and CrewAI or similar frameworks into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration."
5
5
  authors = ["Mervin Praison"]
6
6
  license = ""
File without changes
File without changes