# Python NOSQL API

**URL:** <https://discuss.python.org/t/python-nosql-api/11588>\
**Category:** Ideas\
**Created:** [October 28, 2021, 6:46pm UTC](https://discuss.python.org/t/python-nosql-api/11588 "2021-10-28T18:46:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![matteoguadrini](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/matteoguadrini/32/18687_2.png) [@matteoguadrini](https://discuss.python.org/u/matteoguadrini)\
**Post date:** [October 28, 2021, 6:46pm UTC](https://discuss.python.org/t/python-nosql-api/11588/1 "2021-10-28T18:46:13Z")

</div>

Hello to all,  
I have almost finished developing a python library to standardize the method names of the classes involved in creating instances on **NOSQL databases**.

The library consists of interfaces (abstract class) to help you create your own _NOSQL_ library.  
The library is this: [https://github.com/MatteoGuadrini/nosqlapi](https://github.com/MatteoGuadrini/nosqlapi)

In this repo you will also find pseudo-real examples of libraries that emulate real database behaviors. These examples are in the _tests_ folder.

I’d like an opinion from the python community regarding the naming compliance and ease of use of such a library.

Thanks to everyone and … long live python! 🤟

---

<div class="post-metadata">

**Author:** ![matteoguadrini](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/matteoguadrini/32/18687_2.png) [@matteoguadrini](https://discuss.python.org/u/matteoguadrini)\
**Post date:** [October 31, 2021, 2:03pm UTC](https://discuss.python.org/t/python-nosql-api/11588/2 "2021-10-31T14:03:58Z")

</div>

**Completion** : I add some things that I didn’t add in the previous post.

## Abstract

Module that contains classes, interfaces and functions to build NOSQL python libraries.

## Motivation

The NOSQL API has been defined to encourage similarity between the Python modules that are used to access databases.

## Rationale

This library tries to propose and solve the differences between the existing libraries between the four types of NOSQL databases that exist, namely **Key-Value** , **Column** , **Document** and **Graph** databases. All types of databases are different but they have in common the four main operations (_CRUD_: Create - Read - Update - Delete).

## Specification

The specifications are listed below:

- One common package for generic NOSQL database containing interfaces, ORM types and utilities to make databases compatible with APIs.
- One package for each of the four database types.

I hope to have some suggestions from the community to improve the above.  
Thanks
