Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A simple database system

Project description

#sunlite

Sunlite Simple Database System

[*Jump to sunlite database server]

simple, fast, local, userfriendly

Speed Menu

for sunlite database

[*Jump to sunlite database connection]
[*Jump to sunlite database tutorials]
[*Jump to sunlite database examples]

for sunlite server database

[*Jump to sunlite database server Q/A]
[*Jump to sunlite database server getting started]
[*Jump to sunlite database server how to links]

what is sunlite ?

Ans: Sunlite is a module for simple data management.

  • How to use
    • Connect to memory.
    • connect to a database.
    • Create a new header . >>
    • add data , or pull data >>
    • enjoy ^~^

Connecting

Sunlite lets you connect as you want.

from sunlite.db import connect

db = connect() #for memory
db = connect("my_db") #for connecting with "my_db" , it will be auto generated if doesnt exists.
db = connect("my_db",logs=False)  # for connecting to "my_db" but say no to logs

Generating new header

headers are like boxes which contains your datas , don't forget to make one before pushing or pulling data

db = connect("my_db")

db.new("websites")  #here , we made a header named websites.

Pushing data to headers

by pushing , we add data in headers to contain . you can push any data .

db = connect("my_db")

db.new("websites")

name = "google"
data = "http://google.com"

db.push(name,data) #here , we are pushing http://google.com with the name google in websites header

Pullling data from headers

you can pull all data of header or an invidual data

db = connect("my_db",logs=False)

db.new("websites")

name = "google"
data = "http://google.com"

db.push(name,data)

a = db.pull("websites")  #it will pull all data in website header as a dictionary.

a = db.pull("google")  #it will only pull the data of google no matter where it is in which header .

don't use same names for two datas as it will remove 2nd one .

Get a header as you want. This time duplicate names are accepted.

unlike pull function , this function doesn't update duplicate datas as sends as they are .

this is useful in maintaining a large set of same data.

example

db.connect("students",logs=False)

db.new("Allan")

db.push("maths",50)
db.push("english",70)
db.push("science",40)


#now for akmal
db.new("Akmal")

db.push("maths",45)
db.push("english",60)
db.push("science",70)

db.get("Akmal")  #for getting akmal marks
db.get("allan") #for getting allan's marks

Beauty print .

You can beauty print all data's in all headers .

db = connect("my_db",logs=False)

db.new("websites")

name = "google"
data = "http://google.com"

db.push(name,data)

db.beauty()  #this prints all data nicely

Get all headers

db = connect("my_db",logs=False)

db.headers()

Example with a user info system with sunlite

db = connect("my_db",logs=False)

db.new("users")

name = "Axel"
data = ["age":13 , "nation": "USA"]

db.push(name,data)

name = "Jack"
data = ["age":15, "nation": "England"]
db.push(name,data)

db.beauty()

Sunlite Server

Sunlite server is a database server which can be generated in memory or in a physical database .

Why and How ?

Q. Why Sunlite need database server ? A. Sunlite is a python system which can't be used from other languages but with sunlite server, users can use this simple database system from any programming language after invoking the server with python. Q. How to use sunlite server from different programming languages? A. Using http get requests to server. Wrappers from different languages coming soon.

I think i am ready for my first server :)

To start a server of your existing sunlite database ( tutorials above about using sunlite database system ) , simply login to your python console installed and execute from sunlite.server import Serve

from sunlite.server import Serve
Serve(name="[DBNAME]" , logfolder="[LOGPATH]").invoke()
# [DBNAME] is the database name you created using sunlite or any name if you want to create a new. remember sunlite can connect to database #  you create with server and vice versa.
# [LOGPATH] is the path to log your server tasks. ex. 'E:/logs'

So to connect a sunlite database with the name 'test' and save it's logs in a folder named logs in the project directory , just do

from sunlite.server import Serve
Serve(name="test" , logfolder="logs").invoke()

and your server will start running in http://localhost:5000

to disable or unable logs , you can use logs=True or logs=False inside Serve.

Ex. for turning logs off

from sunlite.server import Serve
Serve(name="test" , logs=False , logfolder="logs").invoke()

logs are on by default.

To open the server on your prefered ip address,
from sunlite.server import Serve
Serve(name="test" , logs=False , logfolder="logs").invoke(ip='your ip' , port = your_port)
#example Serve(name="test" , logs=False , logfolder="logs").invoke(ip='127.0.0.1' , port = 5000)

Links to send database requests.

to get all data in your database

http://[your-ip]:[your-port]/a/

to get header list

http://[your-ip]:[your-port]/h/

to create a new header

http://[your-ip]:[your-port]/new/[header-name]

to pull a data

http://[your-ip]:[your-port]/p/[data-name]

to get total data of a header

http://[your-ip]:[your-port]/g/[header-name]

to add a data or modify in a header

http://[your-ip]:[your-port]/add/[data-name]/[data]/[header-name]

do remember html link syntaxes.

ex.

http://127.0.0.1:5000/p/hello will pull the data named hello http://127.0.0.1:5000/g/myheader will pull data from the header myheader etc

Important

format spaces with %20f

ex. if your data name was my data make the link like http://127.0.0.1:5000/p/my%f20data not http://127.0.0.1:5000/p/my data

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sunlite, version 1.1.1
Filename, size File type Python version Upload date Hashes
Filename, size sunlite-1.1.1.tar.gz (92.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page