:orphan: .. _scripting: Python Scripting Overview ========================= Learning Python +++++++++++++++ This page assumes that you are familiar with Python programming, syntax, and usage. If you're new to Python, consider the book `Think Python `_, available for free on the web or for a small charge on Amazon. The `Hitchhikers Guide to Python `_ also provides some practical information and tutorials on getting started. Getting Started +++++++++++++++ If you're new to Nion Swift Python scripts, start here. * :ref:`python-console` - Run Python from a command line console * :ref:`scripting-guide` - A guide with common scripting examples Where to Go Next ++++++++++++++++ 1. Follow the :ref:`scripting-guide` if you haven't already done so. 2. Review the :ref:`concepts-guide` for some low level details. 3. Read about :ref:`xdata-guide`. 4. Explore the :ref:`hardware-guide` and `Nion Swift Instrumentation `_ documentation. 5. See the list of classes, methods, properties :ref:`api-quick`. 6. Write interactive scripts :ref:`interactive-guide`. 7. Write your own plug-in using :ref:`plugins-guide`. 8. Read about the `NionUI and the Declarative UI `_. 9. Browse the :ref:`api-reference`. 10. Develop with :ref:`userinterface-guide`. Getting Help ++++++++++++ You can contact us using the email address `swift@nion.com `_. Sending email to that address will go straight to the developers and we will respond via email. We can also provide contact information for instant message sessions. More Scripting Resources ++++++++++++++++++++++++ The *Nion Swift API* gives access to the user interface and data. It is intended to be stable, meaning that applications written using the API will remain valid and function the same in the future, independent of changes to Nion Swift itself. There are many ways to access the API and extend Nion Swift using Python: * :ref:`concepts-guide` - Useful scripting concepts * :ref:`python-console` - Run Python from a command line console * :ref:`scripting-guide` - A guide with common scripting examples * :ref:`interactive-guide` - Run files that interact with the user * Computed Data Items - Short Python scripts to update data when sources change * :ref:`python-external` - External access via PyCharm, iPython/Jupyter, or command line * :ref:`plugins-guide` - Customized extensions using Python packages and modules * Open Source Development - Main source code for Nion Swift * :ref:`api-architecture` - A minimal API overview * :ref:`api-reference` - API Reference docuemntation