Flat File Database with ORM
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 through web service
New Features for 2.0
- QuerySets with recursive filtering
- “Callbacks” support (you can add custom properties with a callback function)
- Hierarchical Objects support
sudo easy_install ojota
sudo pip install ojota
git clone https://github.com/MSA-Argentina/ojota.git sudo python setup.py install
- 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