Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions bin/generate.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
#!/bin/bash

version=$(cat VERSION)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to do version=$(uvx --from setuptools-scm python -m setuptools_scm) but the version is hardcoded in the source when we generate the code (nothing major, only logs). One option was to change the mustache template, but I think it's too much hassle for this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: Could you elaborate on this one? Is this basically a "chicken egg problem"? setuptools_scm needs a tag, a tag needs a comment, a commit needs the code, the code needs the version from setuptools_scm?

If so, what's the takeaway? This could be a strong counter-argument not to use setuptools_scm in the first place, or could be neglected because it's not important?

If this is not going to be set, then it would at least make sense to use a partial workaround (by using the httpUserAgent setting).

But it would be very interesting to see which versions of the SDK are actually being used to communicate with the LocalStack runtime, so a proper versioning in the http user agent could be quite beneficial...


docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli:v7.10.0 generate \
-i https://raw.githubusercontent.com/localstack/openapi/refs/heads/main/openapi/emulators/localstack-spec-latest.yml \
--skip-validate-spec \
-g python \
-o /local//packages/localstack-sdk-generated \
--global-property models,apis,supportingFiles \
-p packageName=localstack.sdk \
-p packageVersion=$version \
--template-dir /local/packages/localstack-sdk-generated/templates \
--global-property apiTests=false,modelTests=false \
--global-property apiDocs=false,modelDocs=False
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def __init__(
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = 'OpenAPI-Generator/0.0.4/python'
self.user_agent = 'OpenAPI-Generator/1.0.0/python'
self.client_side_validation = configuration.client_side_validation

def __enter__(self):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ def to_debug_report(self) -> str:
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: latest\n"\
"SDK Package Version: 0.0.4".\
"SDK Package Version: 1.0.0".\
format(env=sys.platform, pyversion=sys.version)

def get_host_settings(self) -> List[HostSetting]:
Expand Down
10 changes: 7 additions & 3 deletions packages/localstack-sdk-generated/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "localstack-sdk-generated"
version = "0.0.4"
dynamic = ["version"]
description = "LocalStack REST API - Generated Code"
authors = [
{ name = "LocalStack Contributors", email = "info@localstack.cloud" }
Expand All @@ -18,13 +18,17 @@ dev-dependencies = [
]

[build-system]
requires = ["setuptools"]
requires = ["setuptools", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
local_scheme = "no-local-version"
root = "../.."

[tool.setuptools]
package-dir = { "" = "."}

[tool.setuptools.packages.find]
where = ["."]
include = ["*"]
exclude = ["tests*"]
exclude = ["tests*"]
10 changes: 7 additions & 3 deletions packages/localstack-sdk-generated/templates/pyproject.mustache
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "localstack-sdk-generated"
version = "{{{packageVersion}}}"
dynamic = ["version"]
description = "LocalStack REST API - Generated Code"
authors = [
{ name = "LocalStack Contributors", email = "info@localstack.cloud" }
Expand All @@ -18,13 +18,17 @@ dev-dependencies = [
]

[build-system]
requires = ["setuptools"]
requires = ["setuptools", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
local_scheme = "no-local-version"
root = "../.."

[tool.setuptools]
package-dir = { "" = "."}

[tool.setuptools.packages.find]
where = ["."]
include = ["*"]
exclude = ["tests*"]
exclude = ["tests*"]
9 changes: 7 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Python SDK for LocalStack"
authors = [
{ name = "LocalStack Team", email = "info@localstack.cloud"}
]
version = "0.0.4"
dynamic = ["version"]
dependencies = [
"localstack-sdk-generated"
]
Expand All @@ -17,9 +17,12 @@ Repository = "https://github.com/localstack/localstack-sdk-python.git"
Issues = "https://github.com/localstack/localstack-sdk-python/issues"

[build-system]
requires = ["setuptools>=64"]
requires = ["setuptools>=64", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
local_scheme = "no-local-version"

[tool.setuptools.dynamic]
readme = { file = ["README.md"], content-type = "text/markdown"}

Expand All @@ -30,6 +33,8 @@ dev-dependencies=[
"boto3>=1.35.40",
]

cache-keys = [{ file = "pyproject.toml" }, { git = { commit = true , tags = true }}]

[tool.uv.sources]
localstack-sdk-generated = { workspace = true }

Expand Down
2 changes: 0 additions & 2 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading