{"id":32150833,"url":"https://github.com/catverse/balam","last_synced_at":"2026-02-23T04:33:14.034Z","repository":{"id":63906750,"uuid":"240903336","full_name":"catverse/balam","owner":"catverse","description":"Swift NoSQL functional database","archived":false,"fork":false,"pushed_at":"2020-10-08T12:21:20.000Z","size":97,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-18T13:35:10.038Z","etag":null,"topics":["codable","combine","database","functional","ios","macos","nosql","spm","swift","swift-package","swift-package-manager","watchos"],"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/catverse.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}},"created_at":"2020-02-16T14:14:15.000Z","updated_at":"2023-05-09T23:56:45.000Z","dependencies_parsed_at":"2022-11-28T22:46:26.981Z","dependency_job_id":null,"html_url":"https://github.com/catverse/balam","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/catverse/balam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catverse%2Fbalam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catverse%2Fbalam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catverse%2Fbalam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catverse%2Fbalam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catverse","download_url":"https://codeload.github.com/catverse/balam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catverse%2Fbalam/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29738079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T02:24:00.660Z","status":"ssl_error","status_checked_at":"2026-02-23T02:22:56.087Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["codable","combine","database","functional","ios","macos","nosql","spm","swift","swift-package","swift-package-manager","watchos"],"created_at":"2025-10-21T10:24:54.433Z","updated_at":"2026-02-23T04:33:14.025Z","avatar_url":"https://github.com/catverse.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Balam ![Swift](https://github.com/catverse/balam/workflows/Swift/badge.svg?branch=master\u0026event=push) \u003cimg src=\"https://img.shields.io/badge/swift 5.2-SPM-orange.svg\" /\u003e\nNative database written in Swift for iOS, macOS and watchOS.\n\n## Features\n- NoSQL\n- Minimum maintenance\n- Frictionless migration\n- Bullet proof\n- Codable\n- Combine\n- Functional queries\n- Swift Package Manager\n\n## Requirements\n- iOS 13+\n- macOS 10.15+\n- watchOS 6+\n\n## Get Started\n### Install\nPoint Swift Package Manager to this repository\n\n### Import\n```swift\nimport Balam\n```\n\n### Usage\nLoad or create a new database\n```swift\nlet balam = Balam(\"MyDb\")\n```\n\n\nAdd a Codable Struct to the database\n```swift\nlet myStruct = MyStruct()\nbalam.add(myStruct)\n```\n\n\nGet all items of a type\n```swift\nvar subscription: AnyCancellable?\n\nfunc getItems() {\n    subscription = balam.get(MyStruct.self).sink { items in\n        /***\n            items is an array with all items of type MyStruct.\n            Balam guaranties to send this array once, if no item was\n            found the array will be empty.\n\n            From here you can apply any transformation or function\n            to items: map, filter, sort, ...\n        **/\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatverse%2Fbalam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatverse%2Fbalam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatverse%2Fbalam/lists"}