sql-robot-logger

A sql robot logger


License
MIT
Install
pip install sql-robot-logger==0.1.1

Documentation

README

Creates and updates a robot state logging database.

This program allows you to log information to different topics stored in a database file, extract subsets based on certain condition, as well as converting such selections into pandas dataframes.

Example

  1. Create a config.yml file in the home directory that mirrors the following

      log_info:
         database_name:
         robot_id: 
      sql_database:
         host: 
         password: 
         port: 
         user:
    
    • if robot_id is left blank, then one is assigned based on the next available robot_id in the database
  2. Create the state logger object and give it a unique id and a database to write to (if left blank, one will automatically be created)

          import robot_logger.robot_logger as rl
          robot_logger = rl.RobotLogger()
    
  3. Add a topic and its respective data type

         robot_logger.add_topic("test_topic", int)
    
  4. Add integer message with the topic and allow for local backup

         robot_logger.write("test_topic", 1234, str(__file__), True)
    
  5. Create the database inspector

         import robot_inspector.robot_inspector as ri
         robot_inspector = ri.SQLInspector()
    
  6. Generate a query from the log table that match a custom condition

         query = robot_inspector.get_query("log","topic_id = 1")
    
  7. Display the list of matches

         print(query)
    
  8. Generate a pandas data frame from the query

         df = q.get()
    

Run instructions

Note, only tested with Python 3

  1. Clone the repository

    git clone git@github.com:adamhamden/aws-sql-logger-interface.git
    
  2. Go in the cloned directory

     cd aws-sql-logger-interface
    
  3. Start a virtual environment

     virtualenv -p python3 venv
     source venv/bin/activate
    
  4. Install the requirements

     pip install -r requirements.txt
    
  5. Check that the tests run

     python -m unittest test.py
    
  6. Import and use the module!