====Python Analytic Special Comments==== There are a few //special comments// you can add to your Python file that tell the [[module_python|Python analytic module]] about the script. ===Choosing Inputs=== The analytic looks for a '#' followed by a '+' to indicate some analytic information. For example, if your script wants a **speed**, **size** and **weight**, you'd have the following... #+Speed #+Size #+Weight Note that these lines need to begin at the //start of the line// - don't include any indentation. ===Enabling Caching=== If you wanted to take advantage of [[background_caching_system|background caching]], you can do this with the //Cache// option. Note that the cache system is used on **lists of events**. Those events should all share a common parent, and have at least a //start// and //end// property that are UTC epoch timestamps (in seconds). It's also a good idea to include a //complete// property - if the value is 1, the event can be cached. To use the cache, you'll need to choose... * The name of the key in the //script output// that you'd like to cache items from. * Which points of additional data you'd like to record, and what type of data that is - either **string**, **integer** or **float**. The format is the word 'Cache', followed by and equal-sign, then a vertical-bar-delmited list of //input//://format// pairs. For example, our Python script could output the following... { "training_sessions": [ { "start": 12933884, "end": 12993440, "best": 0, "speed": 45, "horse": "Madame Gluestick", "complete": 1 }, { "start": 12934884, "end": 12995440, "best": 1, "speed": 95.2, "horse": "Changing Seasons", "complete": 1 } ]} ...and the special comment in the code would be... #+Cache=training_sessions|horse:string|speed:float|best:int This would cache any of our **complete** //training_session// objects, storing the horse name, speed and 'best' value for each event. See [[python_writing_the_script|Writing the Python Script]] for details.