parsagon 0.14.23__tar.gz → 0.14.25__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 (38) hide show
  1. {parsagon-0.14.23 → parsagon-0.14.25}/PKG-INFO +1 -1
  2. {parsagon-0.14.23 → parsagon-0.14.25}/pyproject.toml +1 -1
  3. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/api.py +2 -1
  4. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/create.py +12 -2
  5. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/main.py +5 -0
  6. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/runs.py +2 -1
  7. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/PKG-INFO +1 -1
  8. {parsagon-0.14.23 → parsagon-0.14.25}/README.md +0 -0
  9. {parsagon-0.14.23 → parsagon-0.14.25}/setup.cfg +0 -0
  10. {parsagon-0.14.23 → parsagon-0.14.25}/src/__init__.py +0 -0
  11. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/__init__.py +0 -0
  12. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/assistant.py +0 -0
  13. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/custom_function.py +0 -0
  14. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/edit.py +0 -0
  15. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/exceptions.py +0 -0
  16. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/executor.py +0 -0
  17. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/gui/__init__.py +0 -0
  18. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/gui/controller.py +0 -0
  19. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/gui/menu.py +0 -0
  20. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/gui/window.py +0 -0
  21. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/gui_entry.py +0 -0
  22. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/highlights.js +0 -0
  23. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/print.py +0 -0
  24. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/secrets.py +0 -0
  25. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/settings.py +0 -0
  26. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/__init__.py +0 -0
  27. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/api_mocks.py +0 -0
  28. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/conftest.py +0 -0
  29. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/test_executor.py +0 -0
  30. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/test_invalid_args.py +0 -0
  31. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/test_pipeline_operations.py +0 -0
  32. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/test_print.py +0 -0
  33. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon/tests/test_secrets.py +0 -0
  34. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/SOURCES.txt +0 -0
  35. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/dependency_links.txt +0 -0
  36. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/entry_points.txt +0 -0
  37. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/requires.txt +0 -0
  38. {parsagon-0.14.23 → parsagon-0.14.25}/src/parsagon.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsagon
3
- Version: 0.14.23
3
+ Version: 0.14.25
4
4
  Summary: Allows you to create browser automations with natural language
5
5
  Author-email: Sandy Suh <sandy@parsagon.io>
6
6
  Project-URL: Homepage, https://parsagon.io
@@ -16,7 +16,7 @@ line-length = 120
16
16
 
17
17
  [project]
18
18
  name = "parsagon"
19
- version = "0.14.23"
19
+ version = "0.14.25"
20
20
  description = "Allows you to create browser automations with natural language"
21
21
  readme = "README.md"
22
22
  requires-python = ">=3.8"
@@ -235,7 +235,7 @@ def get_pipelines():
235
235
  return _api_call(httpx.get, f"/pipelines/")
236
236
 
237
237
 
238
- def get_pipeline_code(pipeline_name, variables, headless, use_uc, optimize):
238
+ def get_pipeline_code(pipeline_name, variables, headless, use_uc, optimize, use_proxy):
239
239
  escaped_pipeline_name = double_quote(pipeline_name)
240
240
  with RaiseProgramNotFound(pipeline_name):
241
241
  return _api_call(
@@ -246,6 +246,7 @@ def get_pipeline_code(pipeline_name, variables, headless, use_uc, optimize):
246
246
  "headless": headless,
247
247
  "use_uc": use_uc,
248
248
  "optimize": optimize,
249
+ "use_proxy": use_proxy,
249
250
  },
250
251
  )
251
252
 
@@ -1,11 +1,21 @@
1
- from parsagon.api import get_program_sketches, create_pipeline, create_custom_function, delete_pipeline
2
- from parsagon.exceptions import APIException
1
+ from parsagon.api import get_program_sketches, get_pipeline, create_pipeline, create_custom_function, delete_pipeline
2
+ from parsagon.exceptions import APIException, ProgramNotFoundException
3
3
  from parsagon.executor import Executor, custom_functions_to_descriptions
4
4
  from parsagon.print import assistant_print, ask, input, confirm
5
5
  from parsagon.secrets import extract_secrets
6
6
 
7
7
 
8
8
  def create_program(task, headless=False, undetected=False, program_name=None, assume_yes=False):
9
+ if program_name:
10
+ try:
11
+ get_pipeline(program_name)
12
+ assistant_print(f"A program with the name {program_name} already exists.")
13
+ return {
14
+ "success": False,
15
+ "outcome": f"A program with the name {program_name} already exists. The user must choose a different name.",
16
+ }
17
+ except ProgramNotFoundException:
18
+ pass
9
19
  assistant_print("Creating a program based on your specifications...")
10
20
  task, secrets = extract_secrets(task)
11
21
  program_sketches = get_program_sketches(task)
@@ -142,6 +142,11 @@ def get_args(argv):
142
142
  action="store_true",
143
143
  help="run in optimized mode",
144
144
  )
145
+ parser_run.add_argument(
146
+ "--use_proxy",
147
+ action="store_true",
148
+ help="run with proxy",
149
+ )
145
150
  parser_run.set_defaults(func=run)
146
151
 
147
152
  # Delete
@@ -29,6 +29,7 @@ def run(
29
29
  output_file=None,
30
30
  undetected=False,
31
31
  optimize=False,
32
+ use_proxy=False,
32
33
  verbose=False,
33
34
  ):
34
35
  """
@@ -80,7 +81,7 @@ def run(
80
81
  time.sleep(5)
81
82
 
82
83
  run = create_pipeline_run(pipeline_id, variables, True)
83
- code = get_pipeline_code(program_name, variables, headless, undetected, optimize)["code"]
84
+ code = get_pipeline_code(program_name, variables, headless, undetected, optimize, use_proxy)["code"]
84
85
  start_time = datetime.datetime.now(datetime.timezone.utc).isoformat()
85
86
  run_data = {"start_time": start_time}
86
87
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: parsagon
3
- Version: 0.14.23
3
+ Version: 0.14.25
4
4
  Summary: Allows you to create browser automations with natural language
5
5
  Author-email: Sandy Suh <sandy@parsagon.io>
6
6
  Project-URL: Homepage, https://parsagon.io
File without changes
File without changes
File without changes