Contents

adamtheturtle/coderpadkit

An unofficial Swift client for the CoderPad REST API, with typed models and a no-network

Installation

.package(url: "https://github.com/adamtheturtle/CoderPadKit.git", from: "0.1.3")

Add CoderPadKit to your app target and CoderPadKitMock to tests or demos that should run without the network.

Multi-file questions

Create or replace a multi-file question's starter files with typed path/content values:

let request = QuestionCreate(
    title: "Service exercise",
    language: "multifile_python",
    fileContents: [
        QuestionFileContent(path: "main.py", contents: "from service import run\n"),
        QuestionFileContent(path: "service.py", contents: "def run():\n    return 'ready'\n")
    ]
)
let question = try await client.createQuestion(request)

fileContents is mutually exclusive with the legacy single-file contents property and ZIP uploads; conflicting requests fail locally before networking.

Products

  • CoderPadKit: Typed API client for pads (including editor-history replay), questions,

organizations, and quota data.

  • CoderPadKitMock: In-process fake API seeded with canned data.

Requirements

  • Swift 6.2+
  • macOS 15+, iOS 18+, tvOS 18+, watchOS 11+, or visionOS 2+

License

MIT. See LICENSE.

Package Metadata

Repository: adamtheturtle/coderpadkit

Default branch: main

README: README.md