.. _developing_api:

**********
Python API
**********

.. contents:: Topics

.. attention:: The Ansible API is intended for internal Ansible use. Ansible may make changes to this API at any time that could break backward compatibility with older versions of the API. Because of this, external use is not supported by Ansible. If you want to use Python API only for executing playbooks or modules, consider `ansible-runner <https://ansible-runner.readthedocs.io/en/latest/>`_ first.

If you would like to use Ansible programmatically from a language other than Python, trigger events asynchronously,
or have access control and logging demands, please see the `AWX project <https://github.com/ansible/awx/>`_.

.. seealso::

   :ref:`developing_inventory`
       Developing dynamic inventory integrations
   :ref:`developing_modules_general`
       Getting started on developing a module
   :ref:`developing_plugins`
       How to develop plugins
   :ref:`Communication<communication>`
       Got questions? Need help? Want to share your ideas? Visit the Ansible communication guide
