Skip to content

Adwaith-Rajesh/strip.pysondb

Repository files navigation

strip.pysondb

GitHub Azure DevOps builds PyPI

A stripped-down version of pysondb by Fredy Somy.


🎉 Features.

  • No third party packages needed
  • No CLI
  • No ImageUtils
  • Use of python naming conventions in functions and classes.
  • Just the code required to perform CRUD operation on JSON DB.
  • Users can generate custom id's for their data.
  • DB clustering (User can access / modify multiple DB from a single point / class)

✏️️ Note

Even though it's called a stripped-down version, there are some huge differences in the way this package works.

  • The data is not saved to file instantly, instead a methods needs to be called in order to do that.
  • The user is supposed to pass the keys / column name for the DB during initialization of the DB class.
  • Some of the new methods that are not derived from PysonDB are,

🔻 Installation

  • Delete the original pysondb before installing this version. (Might cause conflicts)

  • From Pypi

    pip3 install strip.pysondb
    

📚 Usage

  • tl;dr

    from pysondb import DB
    
    db = DB(keys=["name", "age"])
    db.add({
        "name": "name1",
        "age": 1
    })
    
    print(db)
    from pysondb import DB
    from pysondb import Cluster
    
    users = DB(keys=["username", "password"])
    posts = DB(keys=["username", "title", "content"])
    
    c = Cluster({"users": users, "posts": posts})
    c.users.add({"username": "adwaith", "password": "123@45"})
    c.posts.add("username": "adwaith", "title": "Hello", "content": "Hello WOrld")
    c.commit("cluster.json", indent=2)  # use a single json file to store all the data from all the DB in the cluster

Click here to see the complete docs.


🥰 Contributing to strip.pysondb

Read the CONTRIBUTING.md for the code design style and linting preferences.

Once you've gone though it, follow theses steps.

  • Fork this repo.
  • Create a new branch from master. (Very important)
  • Make your required changes with good commit messages.
  • Write the test to make sure that your changes work.
  • Create a pull request.
  • Bug the maintainers until it get merged 😊.

🙊 Have any issue or feature request.

Create an issue or join our Discord server Here.