Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Flat File Database with ORM

Project Description

Welcome to Ojota’s documentation!

Ojota is a ORM and flat file database engine.

Ojota is Free Software! you can check the code at https://github.com/MSA-Argentina/ojota

How does it works?

First we will define the data object

# The information is stored in a file called Persons.json
class Person(Ojota):
    required_fields = ("name", "address", "age")
    cache  = Memcache()

# The information is stored in a file called Teams.yaml
class Team(Ojota):
    pk_field = "id"
    data_source = YAMLSource()
    required_fields = ("id", "name", "color")

    def __repr__(self):
        return self.name

Just with that we can query the ORM objects

# Some Example queries
# "all" returns all the Person Objects
Person.all()
# "many will return filtered results
Person.many(age=30, sorted="name")
Person.many(age__lt=30, sorted="-name")
Person.many(sorted="name")

# "one" will get only one object
Team.one(1) # you can just send the primary key
Team.one(name="River Plate")

# You can sub-query over the results
persons = Person.all()
elders = persons.many(age__gt=30)
fat_elders = elders.many(weight__gt=50)
female_elders = elders.many(gender="F")

That’s it your information will be stored in plain text and you will have a powerfull ORM to play with it

Supported data formats

  • JSON
  • DSON
  • YAML
  • CSV
  • JSON through web service
  • XLS

New Features for 2.0

  • QuerySets with recursive filtering
  • “Callbacks” support (you can add custom properties with a callback function)
  • Hierarchical Objects support

Installation

With easy_install

sudo easy_install ojota

With pip

sudo pip install ojota

From source

git clone https://github.com/MSA-Argentina/ojota.git
sudo python setup.py install

Optional dependencies

  • pyyaml - To fecth the data from a file with YAML format
  • dogeon - To fecth the data from a file with DSON format
  • request - To fetch JSON form web sevice
  • flask – To run the example web service.

You might also want to to take a look at Ojota’s sister project called Havaiana http://havaiana.rtfd.org

Release History

Release History

This version
History Node

3.1.2

History Node

3.1.1

History Node

3.1.0

History Node

3.0.0

History Node

2.1.0

History Node

2.0.3

History Node

2.0.1

History Node

2.0.0

History Node

1.1.0

History Node

1.0.0

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Ojota-3.1.2.tar.gz (11.6 kB) Copy SHA256 Checksum SHA256 Source Jan 26, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting