Skip to main content

A simple ORM for SQLite

Project description

python-sqlite-orm

A Python object relational mapper for SQLite.

Install

pip install simple-orm

Usage

Following a basic tutorial to demonstrate how to use the ORM.

  1. Define a Post model in a post.py file.

    # post.py
    from orm import Model
    
    class Post(Model):
    
        text = str  # other datatypes: int, float
    
        def __init__(self, text):
            self.text = text
    
  2. Import Database to create a data access object.

    >>> from orm import Database
    >>> db = Database('db.sqlite')  # indicating a database file.
    
  3. Import the Post model and link it to the database.

    >>> from post import Post
    >>> Post.db = db  # see another approach in tests.py
    
  4. Create a post and save it in the staging area (without commit) of database.

    >>> post = Post('Hello World').save()
    >>> print(post.id)  # auto generated id
    1
    
  5. Change the hello world post and update it in the database.

    >>> post = Post.manager().get(id=1)
    >>> post.text = 'Hello Mundo'
    >>> post.update()
    >>> post.text
    Hello Mundo
    
  6. Commit all staged operations (save and update) to the database.

    >>> db.commit()
    
  7. Delete the object and commit.

    >>> post.delete()
    >>> db.commit()
    
  8. Create a manager that can perform CRUD operations in the database.

    >>> objects = Post.manager(db)
    
  9. Save and get a post.

    >>> objects.save(Post('Hello', 'World'))
    >>> objects.get(2)  # get by id from the staging area
    {'text': 'World', 'id': 2, 'title': 'Hello'}
    
  10. Close the database without commit the changes

    >>> db.close()
    
  11. Get all posts from database.

    >>> list(objects.all())  # return a "empty" generator
    []
    

Linter

Check code lint:

pip install pylint
pylint orm.py

Contributing

See CONTRIBUTING.

License

CC0

The MIT License.

Project details


Download files

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

Source Distribution

simple-orm-0.0.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

simple_orm-0.0.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file simple-orm-0.0.1.tar.gz.

File metadata

  • Download URL: simple-orm-0.0.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for simple-orm-0.0.1.tar.gz
Algorithm Hash digest
SHA256 742b4ecc06c46d45a02f67cf1fac8ff85ae26946df17e449b1a9068396699a00
MD5 6d3bd64e727fa3ebfb30c6011f3e73c5
BLAKE2b-256 34bf8ee9357b14f1e4b5a46cdd1c3ce11890b5e1fccabfd88cb12aa74c6febfd

See more details on using hashes here.

File details

Details for the file simple_orm-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: simple_orm-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for simple_orm-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1262eafb193c0483d9d2d9462004453e0d797b17cdc42b2b3e5c83fd6edb5a3
MD5 d276aa0dbc7c62f40491c9cf31f52728
BLAKE2b-256 4dda04eb2e20bf707658ba57da91d47ed449249e4cfd2fb2609ea41c4ce8aa89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page