
# Introduction
Menous DB is a simple and elegant key value database. It uses a structured file system to store key values. The database is written in python and can be used directly in python using the menousdb pip package.
# Installation
You can install the menousdb module by using the pip package manager. You can install the package manager on all platforms by using the following commands:
```
For Linux use the following commands
$ sudo apt update
$ sudo apt upgrade
$ sudo apt-get install python3-pip
```
```
For Mac OS use homebrew to install pip
$ brew install python3-pip
```
Next we will use the pip package manager to install the library. Make sure you have pip set up properly and you can access it through your terminal window.
```
(Windows)
$ pip install menousdb
(Mac OS and Linux)
$ pip3 install menousdb
```
# Documentation
### Importing the module
To import the menousdb import simply use
```python
from menousdb import *
```
### Initializing the database
To create a database from scratch use:
```python
# Using the imported class from the import statement
db = MenousDB(
url="http://localhost:5555/",
key="YOUR API KEY",
database="DATABASE"
)
# Checking if the database exists
if not db.checkDbExists():
# If not create the database
db.createDb()
```
### Checking if the database exists
```python
# isCreated is either True or False
isCreated = db.checkDbExists()
```
### Reading the entire database
To read the entire database we will use the readDb method. The readDb method returns a dictionary that can be converted to a dataframe.
```python
data = db.readDb()
```
### Deleting the entire database
To delete the entire database we will use the deleteDb method.
```python
if db.checkDbExists():
db.deleteDb()
else:
print("Database not found")
```
### Creating a new table
To create a new table, the parameters are the name of the table and the attributes of the new table. The attributes parameter must be a list of strings.
```python
# Defining the table name and attributes
table_name = "test"
attributes = ["name", "age", "gender"]
# Creating a new table using the defined variable
db.createTable(table_name, attributes)
```
### Checking if a table exists
To check if a table exists you can use the following which will return a boolean value of True or False.
```python
# Defining the table name
table_name = "test"
# Cheking the table exists
isCreate = db.checkTableExists(table_name)
```
### Inserting values into the database
To insert new values into the table you can use the following code. The parameter values must be a dictionary whose order of keys must exactly match the order of the attributes passed in the creation of the table.
```python
# Defining table name and values
table_name = test
values = {
"name":"John Doe",
"age":"15",
"gender":"male"
}
db.insertIntoTable(
table=table_name,
values=values
)
```
### Selecting the entire table
To get the complete data of a table use the following code:
```python
table_name = "test"
# Getting all the data in the table
data = db.getTable(table_name)
```
### Selecting Values with conditions
To search for values with conditions you can use the following code. The parameters required are the table name and the conditions which will be a dictionary.
```python
table_name = "test"
conditions = {
"name":"John Doe"
}
# Contains all the values where the name is John Doe
data = db.selectWhere(
table= table_name,
conditions=conditions
)
```
### Selecting columns
To select only specefic columns from the table you can use the following code. The parameters include the table name and a list of names of columns you want to select.
```python
table_name = "test"
columns=["name","age"]
# contains all the column values
selectedData = db.selectColumns(table_name, columns)
```
### Selecting columns with conditions
To select columns with conditions you can use the following code. The parameters include the table name, the target columns and the conditions. conditions will be a dictionary and columns will be an array.
```python
table_name="test"
columns=["name","age"]
conditions={"name":"John Doe"}
data = db.selectColumnsWhere(
table_name,
columns,
conditions
)
```
### Updating values
To update the values in the table we need the conditions and the replacement values. The parameters are the table name, the conditions and the replacement values.
```python
table_name = "test"
conditions = {
"name":"John Doe"
}
values = {
"name":"William Smith"
}
# This will replace the value of every row where the
# name is John Doe to William Smith
db.updateWhere(
table=table_name,
conditions=conditions,
values=values
)
```
### Deleting values
To delete values from a table with conditions use the following code. The parameters are the table name and the conditions.
```python
table_name = "test"
conditions = {
"name":"John Doe",
}
db.deleteWhere(
table=table_name,
conditions=conditions
)
```
### Deleting the entire table
To delete the entire table just use the deleteTable functions. Its only parameter is the table name.
```python
table_name="test"
db.deleteTable(table_name)
```
### Getting all the databases
To get a list of all the databases use the following code.
```python
databases = db.getDatabases()
```
Raw data
{
"_id": null,
"home_page": "https://github.com/MenousTech/menousdb-python-sdk",
"name": "menousdb-python",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "database, menousdb, api, client",
"author": "Snehashish Laskar",
"author_email": "snehashish.laskar@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bc/a1/f79a63cbfca15442a4dac3f77332ec1426d0ab6180a8f3c06e944bd15d87/menousdb_python-0.1.tar.gz",
"platform": null,
"description": "\n\n# Introduction\nMenous DB is a simple and elegant key value database. It uses a structured file system to store key values. The database is written in python and can be used directly in python using the menousdb pip package.\n\n# Installation\nYou can install the menousdb module by using the pip package manager. You can install the package manager on all platforms by using the following commands:\n```\nFor Linux use the following commands\n\n$ sudo apt update\n$ sudo apt upgrade\n$ sudo apt-get install python3-pip\n```\n```\nFor Mac OS use homebrew to install pip\n\n$ brew install python3-pip\n```\n\nNext we will use the pip package manager to install the library. Make sure you have pip set up properly and you can access it through your terminal window.\n\n```\n(Windows)\n\n$ pip install menousdb \n\n(Mac OS and Linux)\n\n$ pip3 install menousdb\n```\n\n# Documentation\n### Importing the module\nTo import the menousdb import simply use\n\n```python\nfrom menousdb import *\n```\n\n### Initializing the database\nTo create a database from scratch use:\n\n```python\n# Using the imported class from the import statement\n\ndb = MenousDB(\n url=\"http://localhost:5555/\",\n key=\"YOUR API KEY\",\n database=\"DATABASE\"\n)\n\n# Checking if the database exists\nif not db.checkDbExists():\n # If not create the database\n db.createDb()\n```\n### Checking if the database exists\n```python\n# isCreated is either True or False\nisCreated = db.checkDbExists()\n```\n### Reading the entire database\nTo read the entire database we will use the readDb method. The readDb method returns a dictionary that can be converted to a dataframe. \n\n```python\ndata = db.readDb()\n```\n\n### Deleting the entire database\nTo delete the entire database we will use the deleteDb method.\n```python\nif db.checkDbExists():\n db.deleteDb()\nelse:\n print(\"Database not found\")\n```\n\n### Creating a new table\nTo create a new table, the parameters are the name of the table and the attributes of the new table. The attributes parameter must be a list of strings.\n```python\n# Defining the table name and attributes\ntable_name = \"test\"\nattributes = [\"name\", \"age\", \"gender\"]\n\n# Creating a new table using the defined variable\ndb.createTable(table_name, attributes)\n```\n\n### Checking if a table exists\nTo check if a table exists you can use the following which will return a boolean value of True or False.\n\n```python\n# Defining the table name\ntable_name = \"test\"\n# Cheking the table exists\nisCreate = db.checkTableExists(table_name)\n```\n\n### Inserting values into the database\nTo insert new values into the table you can use the following code. The parameter values must be a dictionary whose order of keys must exactly match the order of the attributes passed in the creation of the table.\n\n```python\n# Defining table name and values\ntable_name = test\nvalues = {\n \"name\":\"John Doe\",\n \"age\":\"15\",\n \"gender\":\"male\"\n}\n\ndb.insertIntoTable(\n table=table_name,\n values=values\n)\n```\n### Selecting the entire table\nTo get the complete data of a table use the following code:\n```python\ntable_name = \"test\"\n# Getting all the data in the table\ndata = db.getTable(table_name)\n```\n### Selecting Values with conditions\nTo search for values with conditions you can use the following code. The parameters required are the table name and the conditions which will be a dictionary.\n\n```python\ntable_name = \"test\"\nconditions = {\n \"name\":\"John Doe\"\n}\n\n# Contains all the values where the name is John Doe\ndata = db.selectWhere(\n table= table_name,\n conditions=conditions\n)\n```\n\n### Selecting columns\nTo select only specefic columns from the table you can use the following code. The parameters include the table name and a list of names of columns you want to select. \n\n```python\ntable_name = \"test\"\ncolumns=[\"name\",\"age\"]\n\n# contains all the column values\nselectedData = db.selectColumns(table_name, columns)\n```\n\n### Selecting columns with conditions\nTo select columns with conditions you can use the following code. The parameters include the table name, the target columns and the conditions. conditions will be a dictionary and columns will be an array. \n\n```python\ntable_name=\"test\"\ncolumns=[\"name\",\"age\"]\nconditions={\"name\":\"John Doe\"}\n\ndata = db.selectColumnsWhere(\n table_name,\n columns,\n conditions\n)\n```\n\n### Updating values\nTo update the values in the table we need the conditions and the replacement values. The parameters are the table name, the conditions and the replacement values.\n\n```python\ntable_name = \"test\"\nconditions = {\n \"name\":\"John Doe\"\n}\nvalues = {\n \"name\":\"William Smith\"\n}\n\n# This will replace the value of every row where the \n# name is John Doe to William Smith\ndb.updateWhere(\n table=table_name,\n conditions=conditions,\n values=values\n)\n```\n\n### Deleting values\nTo delete values from a table with conditions use the following code. The parameters are the table name and the conditions.\n\n```python\ntable_name = \"test\"\nconditions = {\n \"name\":\"John Doe\",\n}\ndb.deleteWhere(\n table=table_name,\n conditions=conditions\n)\n```\n\n### Deleting the entire table\nTo delete the entire table just use the deleteTable functions. Its only parameter is the table name.\n```python\ntable_name=\"test\"\ndb.deleteTable(table_name)\n```\n\n### Getting all the databases\nTo get a list of all the databases use the following code.\n```python\ndatabases = db.getDatabases()\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python client for interacting with the MenousDB database.",
"version": "0.1",
"project_urls": {
"Bug Tracker": "https://github.com/MenousTech/menousdb-python-sdk/issues",
"Homepage": "https://github.com/MenousTech/menousdb-python-sdk"
},
"split_keywords": [
"database",
" menousdb",
" api",
" client"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "deed6c99a82c32310a713f1b31a1127be0a6dc893634940c1fcf26b2b000205e",
"md5": "40d31e0227b43a76f92c3826a18eddfd",
"sha256": "fe2687297f0e2ad45ba79c88a1d3016ed46b46e611b6f6c6783f3ea4b39b1cd6"
},
"downloads": -1,
"filename": "menousdb_python-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "40d31e0227b43a76f92c3826a18eddfd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5017,
"upload_time": "2025-01-31T05:08:36",
"upload_time_iso_8601": "2025-01-31T05:08:36.209224Z",
"url": "https://files.pythonhosted.org/packages/de/ed/6c99a82c32310a713f1b31a1127be0a6dc893634940c1fcf26b2b000205e/menousdb_python-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bca1f79a63cbfca15442a4dac3f77332ec1426d0ab6180a8f3c06e944bd15d87",
"md5": "5e43ce61b28f202a8f84f4966cc3ffb6",
"sha256": "36271fad8b98b03d77ab106f18e601f1f7a1f70cad09ff88387ca35fca821ca2"
},
"downloads": -1,
"filename": "menousdb_python-0.1.tar.gz",
"has_sig": false,
"md5_digest": "5e43ce61b28f202a8f84f4966cc3ffb6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 5723,
"upload_time": "2025-01-31T05:08:37",
"upload_time_iso_8601": "2025-01-31T05:08:37.374718Z",
"url": "https://files.pythonhosted.org/packages/bc/a1/f79a63cbfca15442a4dac3f77332ec1426d0ab6180a8f3c06e944bd15d87/menousdb_python-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-31 05:08:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MenousTech",
"github_project": "menousdb-python-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "menousdb-python"
}