{"id":21461151,"url":"https://github.com/mutablelogic/go-sqlite","last_synced_at":"2025-07-15T02:32:28.002Z","repository":{"id":42622208,"uuid":"114645459","full_name":"mutablelogic/go-sqlite","owner":"mutablelogic","description":"Golang interface to SQLite","archived":false,"fork":false,"pushed_at":"2023-03-07T03:26:28.000Z","size":3418,"stargazers_count":8,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-06-21T20:09:43.808Z","etag":null,"topics":["database","golang","rest-api","sqlite","sqlite-orm","sqlite3"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/mutablelogic/go-sqlite","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mutablelogic.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}},"created_at":"2017-12-18T13:39:58.000Z","updated_at":"2024-02-04T23:40:53.000Z","dependencies_parsed_at":"2023-07-13T22:19:19.702Z","dependency_job_id":null,"html_url":"https://github.com/mutablelogic/go-sqlite","commit_stats":null,"previous_names":["djthorpe/go-sqlite","djthorpe/sqlite"],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutablelogic%2Fgo-sqlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutablelogic%2Fgo-sqlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutablelogic%2Fgo-sqlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mutablelogic%2Fgo-sqlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mutablelogic","download_url":"https://codeload.github.com/mutablelogic/go-sqlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226012311,"owners_count":17559651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["database","golang","rest-api","sqlite","sqlite-orm","sqlite3"],"created_at":"2024-11-23T07:07:45.245Z","updated_at":"2024-11-23T07:07:45.889Z","avatar_url":"https://github.com/mutablelogic.png","language":"C","readme":"# go-sqlite\n\nThis module provides an interface for sqlite, including:\n\n  * Opening in-memory databases and persistent file-based databases;\n  * Transactions (committing changes and rolling back on errors);\n  * Adding custom functions, authentication and authorization;\n  * Reflection on databases (schemas, tables, columns, indexes, etc);\n  * Executing arbitrary statements or building statements programmatically;\n  * A pool of connections to run sqlite in a highliy concurrent environment such as a webservice;\n  * A backend REST API for sqlite;\n  * A generalized importer to import data from other data sources in different formats;\n  * A generalized file indexer to index files in a directory tree and provide a REST API\n    to search them;\n  * A frontend web application to explore and interact with databases.\n\nPresently the module is in development and the API is subject to change.\n\n| If you want to...                    |  Folder         | Documentation |\n|--------------------------------------|-----------------|---------------|\n| Use the lower-level sqlite3 bindings similar to the [C API](https://www.sqlite.org/capi3ref.html) | [sys/sqlite3](https://github.com/mutablelogic/go-sqlite/tree/master/sys/sqlite3) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/sys/sqlite3/README.md) |\n| Use high-concurrency high-level interface including statement caching and connection pool | [pkg/sqlite3](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/sqlite3) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/sqlite3/README.md) |\n| Implement or use a REST API to sqlite3 | [plugin/sqlite3](https://github.com/mutablelogic/go-sqlite/tree/master/plugin/sqlite3) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/plugin/sqlite3/README.md) |\n| Develop or use a front-end web service to the REST API backend | [npm/sqlite3](https://github.com/mutablelogic/go-sqlite/tree/master/npm/sqlite3) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/npm/sqlite3/README.md) |\n| Use an \"object\" interface to persist structured data | [pkg/sqobj](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/sqobj) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/sqobj/README.md) |\n| Use a statement builder to programmatically write SQL statements | [pkg/lang](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/lang) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/lang/README.md) |\n| Implement a generalized data importer from CSV, JSON, Excel, etc | [pkg/importer](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/importer) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/importer/README.md) |\n| Implement a search indexer | [pkg/indexer](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/indexer) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/indexer/README.md) |\n| Tokenize SQL statements for syntax colouring (for example) | [pkg/tokenizer](https://github.com/mutablelogic/go-sqlite/tree/master/pkg/tokenizer) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/pkg/tokenizer/README.md) |\n| See example command-line tools | [cmd](https://github.com/mutablelogic/go-sqlite/tree/master/cmd) | [README.md](https://github.com/mutablelogic/go-sqlite/blob/master/cmd/README.md) |\n\n## Requirements\n\n  * [go1.17](https://golang.org/dl/) or later;\n  * Tested on Debian Linux (32- and 64- bit) on ARM and macOS on x64\n    architectures.\n\n## Building\n\nThere are some examples in the `cmd` folder of the main repository on how to use\nthe package. The various make targets are:\n\n  * `make all` will perform tests, build all examples, the backend API and the frontend web application;\n  * `make test` will perform tests;\n  * `make cmd` will build example command-line tools into the `build` folder;\n  * `make server plugins` will install the backend server and required plugins in the `build` folder;\n  * `make npm` will compile the frontend web application in a 'dist' folder for each npm module located in the `npm` folder;\n  * `make clean` will remove all build artifacts.\n\n## Contributing \u0026 Distribution\n\n__This module is currently in development and subject to change.__\n\nPlease do file feature requests and bugs [here](https://github.com/mutablelogic/go-sqlite/issues).\nThe license is Apache 2 so feel free to redistribute. Redistributions in either source\ncode or binary form must reproduce the copyright notice, and please link back to this\nrepository for more information:\n\n\u003e Copyright (c) 2021, David Thorpe, All rights reserved.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutablelogic%2Fgo-sqlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutablelogic%2Fgo-sqlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutablelogic%2Fgo-sqlite/lists"}