{"id":23163829,"url":"https://github.com/simonnickel/snap-swift-data","last_synced_at":"2026-02-07T21:01:19.028Z","repository":{"id":236940761,"uuid":"786796358","full_name":"simonnickel/snap-swift-data","owner":"simonnickel","description":"Extends SwiftData to better interoperate with CoreData and Persistent History Tracking.","archived":false,"fork":false,"pushed_at":"2025-09-03T20:02:14.000Z","size":30,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-18T21:42:30.188Z","etag":null,"topics":["core-data","coredata","swift","swift-data","swiftdata"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonnickel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-15T10:17:19.000Z","updated_at":"2025-09-03T20:02:18.000Z","dependencies_parsed_at":"2024-04-29T10:50:13.013Z","dependency_job_id":"ec374a5c-1f90-4e5d-9633-f3b1b3c042e5","html_url":"https://github.com/simonnickel/snap-swift-data","commit_stats":null,"previous_names":["simonnickel/snap-swift-data"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/simonnickel/snap-swift-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-swift-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-swift-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-swift-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-swift-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonnickel","download_url":"https://codeload.github.com/simonnickel/snap-swift-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonnickel%2Fsnap-swift-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29208176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T20:33:12.493Z","status":"ssl_error","status_checked_at":"2026-02-07T20:30:47.381Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["core-data","coredata","swift","swift-data","swiftdata"],"created_at":"2024-12-18T00:31:16.947Z","updated_at":"2026-02-07T21:01:19.010Z","avatar_url":"https://github.com/simonnickel.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Copy badges from SPI --\u003e\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsimonnickel%2Fsnap-swift-data%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/simonnickel/snap-swift-data)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsimonnickel%2Fsnap-swift-data%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/simonnickel/snap-swift-data) \n\n\u003e This package is part of the [SNAP](https://github.com/simonnickel/snap) suite.\n\n\n\n// TODO: Checkout WWDC24 changes to SwiftData regarding history tracking.\n\n\n\n# SnapSwiftData\n\nThis package improves interoperability between SwiftData and CoreData. It provides SwiftData with access to CoreData objects and Persistent History Tracking.\n\nSwiftData is build on CoreData, but does not completely cover its functionality. SnapSwiftData tries to fill some gaps, so you do not need to create a duplicated CoreData stack.\n\nThe package is heavily inspired by https://github.com/fatbobman/SwiftDataKit\n\n[![Documentation][documentation badge]][documentation] \n\n[documentation]: https://swiftpackageindex.com/simonnickel/snap-swift-data/main/documentation/snapswiftdata\n[documentation badge]: https://img.shields.io/badge/Documentation-DocC-blue\n\n\n## Features\n\n- Extensions\n-- ModelContext.existingModel(for:)\n-- NSManagedObjectID+PersistentIdentifier (by https://useyourloaf.com/blog/swiftdata-fetching-an-existing-object/)\n- Persistent History Tracking (https://fatbobman.com/en/posts/persistent-history-tracking-in-swiftdata/)\n- DataManager: A wrapper around ModelContainer with Persistent History Tracking.\n\n\n## Disclaimer\n\nThe implementation relies on current CoreData / SwiftData implementation details. This means it might break with future versions of SwiftData. Please use carefully.\n\nNothing in this package should not be necessary at all and be supported by SwiftData (FB13577205).\n\n\n## Good to know\n\nAdd to launch arguments to silence CloudKit logs (see https://useyourloaf.com/blog/disabling-core-data-cloudkit-logging/):\n\n`-com.apple.CoreData.Logging.stderr 0`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonnickel%2Fsnap-swift-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonnickel%2Fsnap-swift-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonnickel%2Fsnap-swift-data/lists"}