situation¶
situation is a Python package that provides the Situation Modeling Language (SML) - an ontology for describing social situations.
Overview¶
The following is a full Situation in which Alice and Bob are members of a Sports Club. When this code is executed, a situation will be created within the database and will then be printed to the screen.
from situation import dump, Person, Group
from situation.debug_app import quick
with quick().app_context():
bob = Person.create(name="Bob")
alice = Person.create(name="Alice")
club = Group.create(name="Sports Club")
club.members.extend([bob, alice])
print(dump())
A situation is specified using Situation Modeling Language (SML). SML is like a Domain Specific Language for Situations built on top of Python.
A Situation is actually a full database-driven Flask-Diamond application. As an application, this can be an extremely flexible data platform.