Full kagglesdk regen and release 0.1.33#59
Conversation
|
@erdalsivri @rosbo Could I get a second opinion on whether all these new files should be included? This fixes #Kaggle/kaggle-cli#1087 |
This comment was marked as off-topic.
This comment was marked as off-topic.
erdalsivri
left a comment
There was a problem hiding this comment.
There is something wrong. There are a lot of internal methods that are exposed. @bovard did you perhaps miss a parameter to kapigen or passed a incorrect one (V2 maybe?) @kaggle-agent can you investigate?
I don't think that's correct. I did a release on 6/11 and I don't do incremental changes. I generate the whole thing in a new dir, then copy that to my checked-out |
|
Yeah I was missing a flag, updating now |
Addresses CR feedback that prior 0.1.33 attempts exposed internal services (abuse_service, active_event_service, etc.) that lack /api/v1 bindings. The correct filter is kapigen's PublicApiExportFlowAnalysis, reached by running kapigen with only --public-api-output-path. Prior scoped commits (7b4d502 host_service/episode_service, and their descendants in 0.1.32) shipped internal service files whose imports were also broken. Those files are removed here since (a) they aren't publicly exposed API surface and (b) all their user-facing endpoints (create_competition, update_competition_page, etc.) are already available on the correctly-generated competition_api_service. Verified: KaggleClient instantiates all 21 subclients, all 158 modules import cleanly (0 failures).
2075afb to
fbe120a
Compare
| return username, api_key | ||
| except KeyError: | ||
| return None | ||
| api_key_data = json.loads(kaggle_json) |
There was a problem hiding this comment.
This is incorrect. Maybe try pulling? I'm not sure what's going on, but this code has been dropped in previous releases, too.
erdalsivri
left a comment
There was a problem hiding this comment.
LGTM!
We need to figure out consistent formatting for kagglesdk. We keep changing indent size, probably due to different configs in kaggleazure and kagglesdk.
Fixes broken import chain in 0.1.32 where several files (host_service, episode_service, competition_api_service) referenced modules that were never shipped: competition_types, simulations, competition_email_invite, evaluation_algorithm, submission, legacy_competition_host_service, kernels_service. This crashed at import time in any consumer that touched those services.
Root cause: prior scoped commits copied only the touched service files without their transitive import closure. This commit does a full sync of the kapigen output across all packages.
Merge strategy: kapigen produces two flavors depending on flags (internal, tuned for frontend / ExportToFrontend, and publicapi, tuned for the kagglesdk publish flow / isKaggleSdk). Neither is a strict superset. The publicapi flavor has correct kagglesdk-tuned support code (KaggleClient.init, kaggle_http_client), while internal has broader class coverage. We take publicapi as the base and layer internal-only classes on top, using a class-level union for files where both flavors have overlapping but non-identical class sets.
Verified: all 320 kagglesdk modules import cleanly and KaggleClient instantiates with all 21 subclients accessible.