<?xml version="1.0" encoding="utf-8"?>
<section version="5.0"
         xsi:schemaLocation="http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd"
         xml:id="usage.scripting" xmlns="http://docbook.org/ns/docbook"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:ns="http://docbook.org/ns/docbook">
  <title>Python scripting</title>

	<para>
	   OVITO provides a scripting interface that lets you automate analysis and visualization tasks. 
	   This can be useful, for example, when a large number of input files needs to be batch-processed. 
	   The scripting interface provides programmatic access to most program features such as input and output 
	   of data files, modifiers, and rendering of images and movies.
	</para>
	<para>
	   Scripts for OVITO are written in the Python programming language. If you are not familiar with Python, 
	   you can find several tutorials and books online that cover this subject. Note that OVITO is based on the Python 3.x language standard.
	</para>
	<para>
	   OVITO's scripting interface is documented in a separate 
	   <link xlink:href="python/index.html">Scripting Reference</link> manual. You can accessed it directly from OVITO's help menu.
	</para>
	<para>
	   In addition to automating tasks, the scripting interface allows you to extend OVITO. 
	   For example, the <link linkend="particles.modifiers.python_script">Python script modifier</link>
	   provides a mechanism for you to write your own data manipulation function and integrate it into
	   OVITO's modification pipeline system. Furthermore, the <link linkend="viewport_overlays.python_script">
	   Python script overlay</link> lets you write your own Python function to add arbitrary 2D graphics
	   to rendered images or movies, for example to enrich the visualization with additional information 
	   like a <link linkend="howto.scale_bar">scale bar</link>.
	</para>

</section>
