From 4505bc5b831667c330236308b481653e8f97d035 Mon Sep 17 00:00:00 2001 From: Richard Dzurus Date: Wed, 30 Apr 2025 18:11:58 +0200 Subject: [PATCH 1/2] added no type option --- polyapi/cli.py | 3 ++- polyapi/generate.py | 9 +++++---- polyapi/rendered_spec.py | 5 +++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/polyapi/cli.py b/polyapi/cli.py index 67866d7..347dc1a 100644 --- a/polyapi/cli.py +++ b/polyapi/cli.py @@ -44,10 +44,11 @@ def setup(args): ########################################################################### # Generate command generate_parser = subparsers.add_parser("generate", help="Generates Poly library") + generate_parser.add_argument("--no-types", action="store_true", help="Generate SDK without type definitions") def generate_command(args): initialize_config() - generate() + generate(no_types=args.no_types) generate_parser.set_defaults(command=generate_command) diff --git a/polyapi/generate.py b/polyapi/generate.py index 521dc43..7308cc3 100644 --- a/polyapi/generate.py +++ b/polyapi/generate.py @@ -36,12 +36,13 @@ path:''' -def get_specs() -> List: +def get_specs(no_types: bool = False) -> List: api_key, api_url = get_api_key_and_url() assert api_key headers = get_auth_headers(api_key) url = f"{api_url}/specs" - resp = requests.get(url, headers=headers) + params = {"noTypes": str(no_types).lower()} + resp = requests.get(url, headers=headers, params=params) if resp.status_code == 200: return resp.json() else: @@ -192,11 +193,11 @@ def remove_old_library(): shutil.rmtree(path) -def generate() -> None: +def generate(no_types: bool = False) -> None: print("Generating Poly Python SDK...", end="", flush=True) remove_old_library() - specs = get_specs() + specs = get_specs(no_types=no_types) cache_specs(specs) limit_ids: List[str] = [] # useful for narrowing down generation to a single function to debug diff --git a/polyapi/rendered_spec.py b/polyapi/rendered_spec.py index 7de7cad..2206417 100644 --- a/polyapi/rendered_spec.py +++ b/polyapi/rendered_spec.py @@ -35,11 +35,12 @@ def update_rendered_spec(spec: SpecificationDto): assert resp.status_code == 201, (resp.text, resp.status_code) -def _get_spec(spec_id: str) -> Optional[SpecificationDto]: +def _get_spec(spec_id: str, no_types: bool = False) -> Optional[SpecificationDto]: api_key, base_url = get_api_key_and_url() url = f"{base_url}/specs" headers = {"Authorization": f"Bearer {api_key}"} - resp = requests.get(url, headers=headers) + params = {"noTypes": str(no_types).lower()} + resp = requests.get(url, headers=headers, params=params) if resp.status_code == 200: specs = resp.json() for spec in specs: From 13f83f79e4256ddc8df90875e8b4ff3bf89d86a8 Mon Sep 17 00:00:00 2001 From: Richard Dzurus Date: Fri, 2 May 2025 10:43:58 +0200 Subject: [PATCH 2/2] version updated --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4790dd6..4fef897 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ requires = ["setuptools>=61.2", "wheel"] [project] name = "polyapi-python" -version = "0.3.3.dev10" +version = "0.3.3.dev12" description = "The Python Client for PolyAPI, the IPaaS by Developers for Developers" authors = [{ name = "Dan Fellin", email = "dan@polyapi.io" }] dependencies = [