No description
- Swift 99.6%
- Shell 0.4%
| Data2Go | ||
| Data2Go.xcodeproj | ||
| images | ||
| scripts | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
| THIRD_PARTY_LICENSES.md | ||
Data2Go
Data2Go is an iOS app for browsing and editing Wikidata with a mobile-first UI.
It combines fast search, rich item detail views, statement editing, map previews, media galleries, and account-based write access to Wikidata.
Project Home
- Codeberg:
https://codeberg.org/2Go/Data2Go
Features
-
Search Wikidata entities by label, description, or direct QID.
-
Open full item detail views with:
- hero media,
- compact overview card,
- Wikimedia project links,
- Commons gallery,
- pronunciation playback when P443 audio is present.
-
Browse statements with:
- property grouping and rank handling,
- qualifier/reference badges,
- constraint warnings,
- identifier section collapsing.
-
Search within a single item by property/value/QID/PID to quickly jump through long entries.
-
View coordinates on MapLibre with:
- point pinning,
- optional OSM way/relation mask overlays,
- OSM deep links.
-
Edit Wikidata content (when signed in):
- labels, descriptions, aliases,
- add/edit/delete statements,
- qualifier and reference editing,
- type-aware value editors (entity, text, URL, external ID, monolingual text, quantity with unit, time).
-
Save recents locally, favorite entries, and clear non-favorites.
-
Pick and persist a custom accent color.
Tech Stack
- SwiftUI
- SwiftData (local recents cache)
- Observation (
@Observable) - MapLibre (map rendering)
- Wikidata APIs:
- Wikibase REST API v1
- MediaWiki Action API
- Wikimedia Commons and Wikivoyage metadata endpoints
- OpenStreetMap Nominatim lookup API (for way/relation geometry masks)
Project Structure
Data2Go/Appbehavior and visual system:Data2Go/Data2GoApp.swift
Data2Go/API:WikidataAPI.swiftURLRequest+Wikidata.swift
Data2Go/Auth:- session/login logic and keychain persistence
Data2Go/Models:- Wikidata entity/value models
- recents model
Data2Go/Views:- search, detail, statements, editing, account, map views
Build and Run
Requirements
- Xcode with iOS 17+ SDK support
- iOS deployment target: 17.0
Open in Xcode
- Open
Data2Go.xcodeproj. - Select the
Data2Goscheme. - Run on an iOS simulator or device.
CLI Build (optional)
xcodebuild -project Data2Go.xcodeproj -scheme Data2Go -destination 'generic/platform=iOS Simulator' build
Authentication and Editing
- Read-only features work without sign-in.
- Editing requires Wikimedia authentication.
- Credentials are stored in iOS Keychain for session restore.
Performance and API Friendliness
The app includes caching and request-coalescing patterns to reduce duplicate calls and keep UI responsive:
- actor-isolated API client state,
- in-memory label/media/metadata caches,
- in-flight request deduplication for repeated lookups,
- bounded geometry/media caches,
- debounced search.
Attribution
- Map data and links: OpenStreetMap contributors.
- Maps rendered via MapLibre and the OpenFreeMap Liberty style.
- Wikimedia content from Wikidata/Wikimedia APIs.
Contributing and Policies
- Contribution guide:
CONTRIBUTING.md - Security reporting policy:
SECURITY.md - Third-party license notes:
THIRD_PARTY_LICENSES.md
Notes
- This repository currently focuses on the app target; no separate test target is included yet.
- API behavior and schemas can evolve over time, especially for constraint and metadata endpoints.






