{"id":15111533,"url":"https://github.com/tatemsoft/jsonlite","last_synced_at":"2026-01-17T03:47:02.745Z","repository":{"id":231534723,"uuid":"781752482","full_name":"tatemsoft/jsonlite","owner":"tatemsoft","description":"About A simple, self-contained, serverless, zero-configuration, json document store.","archived":false,"fork":false,"pushed_at":"2024-04-04T00:58:37.000Z","size":76,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-11T14:49:27.002Z","etag":null,"topics":["bash","bash-script","database","databases","document-database","document-store","json","json-data","json-document","jsonlite"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/tatemsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null}},"created_at":"2024-04-04T00:57:56.000Z","updated_at":"2024-04-04T01:01:35.000Z","dependencies_parsed_at":"2024-04-04T14:16:48.767Z","dependency_job_id":"bcb6e38f-d1ba-4856-a980-3c1975ac4773","html_url":"https://github.com/tatemsoft/jsonlite","commit_stats":null,"previous_names":["tatemsoft/jsonlite"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatemsoft%2Fjsonlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatemsoft%2Fjsonlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatemsoft%2Fjsonlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tatemsoft%2Fjsonlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tatemsoft","download_url":"https://codeload.github.com/tatemsoft/jsonlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378089,"owners_count":20929292,"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":["bash","bash-script","database","databases","document-database","document-store","json","json-data","json-document","jsonlite"],"created_at":"2024-09-26T00:20:56.600Z","updated_at":"2026-01-17T03:47:02.711Z","avatar_url":"https://github.com/tatemsoft.png","language":"Shell","readme":"# JSONlite\n\n##### A simple, self-contained, serverless, zero-configuration, json document store.\n\nJSONlite sandboxes the current working directory similar to SQLite. The JSONlite data directory by default is named `jsonlite.data` and each json document is validated and saved pretty printed as a uuid.\n\n## Requirements\n\n1. bash\n2. uuidgen\n3. python -m json.tool\n  - Alternatively, install [yajl](http://lloyd.github.io/yajl/) for `json_reformat` *or* [jq](https://github.com/stedolan/jq) to get a significant performance improvement setting documents.\n\n  `json_reformat` is the fastest of the three by far. `jq` comes in second and `python -m json.tool` is the slowest. If possible, avoid using `python -m json.tool`.\n\n  Benchmark [tests/set_1k.bash](https://github.com/nodesocket/jsonlite/blob/master/tests/set_1k.bash):\n\n    # MacBook Pro 16\" M1 Max\n    json_reformat: 6s\n    jq: 19s\n    python -m json.tool: 28s\n\n## Installation\n\n````shell\ngit clone https://github.com/nodesocket/jsonlite.git\nln -s \"$PWD\"/jsonlite/jsonlite.bash /usr/local/bin/jsonlite\n````\n\nor grab the latest [release source code](https://github.com/nodesocket/jsonlite/releases).\n\n## Configuration\n\nYou may optionally set the path to the data directory. It defaults to `$PWD/jsonlite.data` but can manually be set with the `JSONLITE_DATA_DIR` environment variable.\n\n````shell\n# default\nexport JSONLITE_DATA_DIR=\"$PWD\"/jsonlite.data\n\n# manually set the data directory\nexport JSONLITE_DATA_DIR=/tmp/jsonlite.data\n````\n\n## API/Commands\n\n### set\n\n\u003e set \\\u003cjson\\\u003e - Writes a json document and returns the document id\n\n````\n➜ jsonlite set '{\"name\":\"John Doe\",\"active\":true,\"permissions\":{\"read\":true,\"write\":false}}'\n666B81D6-3F8A-4D57-BA3F-11FA8FC47246\n````\n\n`set` also supports piping into it:\n\n````\necho '{\"key\":\"value\"}' | jsonlite set\n4472B861-4C10-4C0A-A63B-E5D45AA679C0\n````\n\nand reading from a file:\n\n````\njsonlite set \u003c file.json\n9DF4DC1F-121E-46DC-B580-E1663B645AED\n````\n\n### get\n\n\u003e get \\\u003cdocument-id\\\u003e - Retrieves a json document by document id\n\n````\n➜ jsonlite get 666B81D6-3F8A-4D57-BA3F-11FA8FC47246\n{\n    \"active\": true,\n    \"name\": \"John Doe\",\n    \"permissions\": {\n        \"read\": true,\n        \"write\": false\n    }\n}\n````\n\n### count\n\n\u003e count - Total number of json documents in the database\n\n````\n➜ jsonlite count\n293\n````\n\n### delete\n\n\u003e delete \\\u003cdocument-id\\\u003e - Deletes a json document by document id\n\n````\n➜ jsonlite delete 666B81D6-3F8A-4D57-BA3F-11FA8FC47246\n````\n\n### drop\n\n\u003e drop (--force) - Drops the database\n\n````\n➜ jsonlite drop\nDrop database '/tmp/jsonlite.data'? [Y/n] Y\n````\n\n````\n➜ jsonlite drop --force\n````\n\n### help\n\n\u003e help - Displays help\n\n````\n➜ jsonlite help\nUsage: jsonlite command \u003ccommand-specific-options\u003e\n\n  set \u003cjson\u003e             Writes a json document and returns a document id\n  get \u003cdocument-id\u003e      Retrieves a json document by document id\n  count                  Total number of json documents in the database\n  delete \u003cdocument-id\u003e   Deletes a json document by document id\n  drop (--force)         Drops the database\n  help                   Displays help\n  version                Displays the current version\n\n````\n\n### version\n\n\u003e version - Displays the current version\n\n````\n➜ jsonlite version\n1.1.5\n````\n\n### default\n\n\u003e default - Displays the current version, configuration, and help\n\n```\n➜ jsonlite\nJSONlite 1.1.5\n  json formatter: json_reformat (fastest)\n  data directory: /tmp/jsonlite.data\n\nUsage: jsonlite command \u003ccommand-specific-options\u003e\n\n  set \u003cjson\u003e             Writes a json document and returns a document id\n  get \u003cdocument-id\u003e      Retrieves a json document by document id\n  count                  Total number of json documents in the database\n  delete \u003cdocument-id\u003e   Deletes a json document by document id\n  drop (--force)         Drops the database\n  help                   Displays help\n  version                Displays the current version\n\n```\n\n## Changelog\n\nhttps://github.com/nodesocket/jsonlite/blob/master/CHANGELOG.md\n\n## Support, Bugs, And Feature Requests\n\nCreate issues here in GitHub (https://github.com/nodesocket/jsonlite/issues).\n\n## Versioning\n\nFor transparency and insight into the release cycle, and for striving to maintain backward compatibility, JSONlite will be maintained under the semantic versioning guidelines.\n\nReleases will be numbered with the follow format:\n\n`\u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e`\n\nAnd constructed with the following guidelines:\n\n+ Breaking backward compatibility bumps the major (and resets the minor and patch)\n+ New additions without breaking backward compatibility bumps the minor (and resets the patch)\n+ Bug fixes and misc changes bumps the patch\n\nFor more information on semantic versioning, visit http://semver.org/.\n\n## License \u0026 Legal\n\nCopyright 2022 Justin Keller\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftatemsoft%2Fjsonlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftatemsoft%2Fjsonlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftatemsoft%2Fjsonlite/lists"}