All Projects → nodesocket → Jsonlite

nodesocket / Jsonlite

Licence: apache-2.0
A simple, self-contained, serverless, zero-configuration, json document store.

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Jsonlite

Barrel Platform
Distributed database for the modern world
Stars: ✭ 201 (-75.46%)
Mutual labels:  json, database, document-database
Avocado
Strongly-typed MongoDB driver for Rust
Stars: ✭ 70 (-91.45%)
Mutual labels:  json, database, databases
Sirdb
👨 a simple, git diffable JSON database on yer filesystem. By the power of NodeJS
Stars: ✭ 508 (-37.97%)
Mutual labels:  json, database
Pickledb
pickleDB is an open source key-value store using Python's json module.
Stars: ✭ 549 (-32.97%)
Mutual labels:  json, database
Filemasta
A search application to explore, discover and share online files
Stars: ✭ 571 (-30.28%)
Mutual labels:  json, database
Tinydb
TinyDB is a lightweight document oriented database optimized for your happiness :)
Stars: ✭ 4,713 (+475.46%)
Mutual labels:  json, database
Sleekdb
Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.
Stars: ✭ 450 (-45.05%)
Mutual labels:  json, database
Api
Our Database
Stars: ✭ 568 (-30.65%)
Mutual labels:  json, database
Json To Html Table
Simple Json to standard HTML table converter in fastest way
Stars: ✭ 367 (-55.19%)
Mutual labels:  json, json-data
Emagnet
Automated hacking tool that will find leaked databases with 97.1% accurate to grab mail + password together from recent uploads from https://pastebin.com. Bruteforce support for spotify accounts, instagram accounts, ssh servers, microsoft rdp clients and gmail accounts
Stars: ✭ 688 (-16%)
Mutual labels:  database, databases
Easydb
Easy-to-use PDO wrapper for PHP projects.
Stars: ✭ 624 (-23.81%)
Mutual labels:  database, databases
Sheetjs
📗 SheetJS Community Edition -- Spreadsheet Data Toolkit
Stars: ✭ 28,479 (+3377.29%)
Mutual labels:  json, database
Data
This repository contains general data for Web technologies
Stars: ✭ 418 (-48.96%)
Mutual labels:  json, json-data
Comuni Json
🇮🇹 Database JSON comuni italiani (2020) con informazioni ISTAT + CAP
Stars: ✭ 416 (-49.21%)
Mutual labels:  json, database
Orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Stars: ✭ 4,394 (+436.51%)
Mutual labels:  database, document-database
Stormdb
🌩️ StormDB is a tiny, lightweight, 0 dependency, easy-to-use JSON-based database for NodeJS, the browser or Electron.
Stars: ✭ 406 (-50.43%)
Mutual labels:  json, database
Ems
Extended Memory Semantics - Persistent shared object memory and parallelism for Node.js and Python
Stars: ✭ 552 (-32.6%)
Mutual labels:  json, json-data
Jsonq
A PHP query builder for JSON
Stars: ✭ 729 (-10.99%)
Mutual labels:  json, json-data
5e Database
Database for the D&D 5th Edition API
Stars: ✭ 354 (-56.78%)
Mutual labels:  json, database
Bigchaindb
Meet BigchainDB. The blockchain database.
Stars: ✭ 3,768 (+360.07%)
Mutual labels:  json, database

JSONlite

A simple, self-contained, serverless, zero-configuration, json document store.

JSONlite 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.

Requirements

  1. bash
  2. uuidgen
  3. python -m json.tool
  • Alternatively, install yajl for json_reformat or jq to get a significant performance improvement setting documents.

json_reformat is the fastest of the three. jq comes in at a reasonable second and python -m json.tool is by far the slowest. If possible, avoid using python -m json.tool.

Installation

git clone https://github.com/nodesocket/jsonlite.git
ln -s "$PWD"/jsonlite/jsonlite.bash /usr/local/bin/jsonlite

Configuration

You 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.

# default
export JSONLITE_DATA_DIR="$PWD"/jsonlite.data

# manually set the data directory
export JSONLITE_DATA_DIR=/tmp/jsonlite.data

API/Commands

set

set <json> - Writes a json document and returns the document id

➜ jsonlite set '{"name":"John Doe","active":true,"permissions":{"read":true,"write":false}}'
666B81D6-3F8A-4D57-BA3F-11FA8FC47246

set also supports piping into it:

echo '{"key":"value"}' | jsonlite set
4472B861-4C10-4C0A-A63B-E5D45AA679C0
cat file.json | jsonlite set
9DF4DC1F-121E-46DC-B580-E1663B645AED

get

get <document-id> - Retrieves a json document by document id

➜ jsonlite get 666B81D6-3F8A-4D57-BA3F-11FA8FC47246
{
    "active": true,
    "name": "John Doe",
    "permissions": {
        "read": true,
        "write": false
    }
}

count

count - Total number of json documents in the database

➜ jsonlite count
293

delete

delete <document-id> - Deletes a json document by document id

➜ jsonlite delete 666B81D6-3F8A-4D57-BA3F-11FA8FC47246

drop

drop (--force) - Drops the database

➜ jsonlite drop
Drop database '/tmp/jsonlite.data'? [Y/n] Y
➜ jsonlite drop --force

help

help - Displays help

➜ jsonlite help
Usage: jsonlite command <command-specific-options>

  set <json>             Writes a json document and returns a document id
  get <document-id>      Retrieves a json document by document id
  count                  Total number of json documents in the database
  delete <document-id>   Deletes a json document by document id
  drop (--force)         Drops the database
  help                   Displays help
  version                Displays the current version

version

version - Displays the current version

➜ jsonlite version
1.1.3

default

default - Displays the current version, configuration, and help

➜ jsonlite
JSONlite 1.1.3
  json formatter: json_reformat (fastest)
  data directory: /tmp/jsonlite.data

Usage: jsonlite command <command-specific-options>

  set <json>             Writes a json document and returns a document id
  get <document-id>      Retrieves a json document by document id
  count                  Total number of json documents in the database
  delete <document-id>   Deletes a json document by document id
  drop (--force)         Drops the database
  help                   Displays help
  version                Displays the current version

Changelog

https://github.com/nodesocket/jsonlite/blob/master/CHANGELOG.md

Support, Bugs, And Feature Requests

Create issues here in GitHub (https://github.com/nodesocket/jsonlite/issues).

Versioning

For transparency and insight into the release cycle, and for striving to maintain backward compatibility, JSONlite will be maintained under the semantic versioning guidelines.

Releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on semantic versioning, visit http://semver.org/.

License & Legal

Copyright 2021 Justin Keller

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].