# Path: wallace/db.py
# def sessions_scope(local_session, commit=False):
# def scoped_session_decorator(func):
#     def wrapper(*args, **kwargs):
# def init_db(drop_all=False):


from datetime import datetime
from .db import Base
from sqlalchemy import ForeignKey, or_, and_
from sqlalchemy import (Column, String, Text, Enum, Integer, Boolean, DateTime,
                        Float)
from sqlalchemy.orm import relationship, validates
        from operator import attrgetter
        from transformations import Replication
        from transformations import Mutation
        from wallace.nodes import Source
import inspect

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property1 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property2 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property3 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property4 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property5 = Column(String(256), nullable=True, default=None)

    #: boolean indicating whether the Network has failed which
    #: prompts Wallace to ignore it unless specified otherwise. Objects are
    #: usually failed to indicate something has gone wrong.
    failed = Column(Boolean, nullable=False, default=False, index=True)

    #: the time at which failing occurred
    time_of_death = Column(DateTime, default=None)



# Path: wallace/db.py
# def sessions_scope(local_session, commit=False):
# def scoped_session_decorator(func):
#     def wrapper(*args, **kwargs):
# def init_db(drop_all=False):


# Path: wallace/models.py
from datetime import datetime
from .db import Base
from sqlalchemy import ForeignKey, or_, and_
from sqlalchemy import (Column, String, Text, Enum, Integer, Boolean, DateTime,
                        Float)
from sqlalchemy.orm import relationship, validates
        from operator import attrgetter
        from transformations import Replication
        from transformations import Mutation
        from wallace.nodes import Source
import inspect


    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property1 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property2 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property3 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property4 = Column(String(256), nullable=True, default=None)

    #: a generic column that can be used to store experiment-specific details in
    #: String form.
    property5 = Column(String(256), nullable=True, default=None)

    #: boolean indicating whether the Network has failed which
    #: prompts Wallace to ignore it unless specified otherwise. Objects are
    #: usually failed to indicate something has gone wrong.
    failed = Column(Boolean, nullable=False, default=False, index=True)

    #: the time at which failing occurred
    time_of_death = Column(DateTime, default=None)



class Participant(Base, SharedMixin):