Cover every public API in the Demo app
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
Research direction
Read the Demo app flows and compare their API calls with the public API list in this issue, starting with the Files namespace added in #401. The issue proposes one screen or flow per API group and separate pull requests; the first Files screen depends on #401. Done means the Demo exercises each public API group against the live service, with coverage for new API surface arriving alongside it.
Written by the indexing model from the issue text.
Description
The Demo app is currently the only way to exercise the package end to end against the live API: the test suite uses mocked sessions only, and CI doesn't build the Demo. Several public APIs aren't used by the Demo at all, so nothing ever runs them against the real service.
The goal is for the Demo to exercise every public API, so that a change can be checked end to end before release, and for new API surface to arrive together with its Demo coverage.
Not covered today
As of main after 0.5.3, the Demo doesn't call:
- Embeddings:
embeddings(query:) - Models:
model(query:)(retrieving a single model;models()is used) - Images:
imageVariations(query:) - Audio:
audioCreateSpeechStream(query:)audioTranscriptions(query:),audioTranscriptionsVerbose(query:),audioTranscriptionStream(query:)audioTranslations(query:)
- Files: the
openAI.filesnamespace from #401 (create, retrieve, list, delete, content). The Demo only uploads through the deprecatedfiles(query:), for Assistants. - Batch API (#465), once it exists
The Assistants API isn't listed: it's planned to be removed from both the package and the Demo.
Approach
One Demo screen or flow per API group, each in its own pull request. The Files screen is the first, stacked on #401.
- Dominant language
- Swift
- Stars
- 2.9k
- Forks
- 519
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 13
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MacPaw/OpenAI
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 3 days
-
Enable batch promptsOpen
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
MacPaw/OpenAI#73 · 1 comment · 1 reaction ·
Maintainers usually reply within 3 days
-
Check the HTTP status code for JSON responsesPossibly taken @mvanhorn claimed this 1 day ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
MacPaw/OpenAI#469 · 1 comment ·
Maintainers usually reply within 3 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 3 days
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 3 days
Similar issues
-
swift.md: `Date(myString, strategy: .iso8601)` example omits `try` — the initializer is throwingOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
core: RAC_LLM_OPTIONS_DEFAULT.min_p disagrees with the IDL's annotated defaultPossibly taken A pull request linked to this issue is open or already merged. Openbug core p3
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
Maintainers usually reply within 5 days
-
area: docs eco: swift good first issue help wanted lane: free-agent roadmap size: XS type: docs
Difficulty 1/5 Under an hour Newbie friendliness 62/100
arminazimi/evergreen#441 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
nightscout/nightguard#368 ·