This section will show you how to get started using Python to call Stata. Stata provides a Python package called pystata that defines functions and introduces magic commands that allow you to interact with Stata from within Python. We demonstrate how this package works by executing code in a Jupyter Notebook, but you can choose to work in any IPython environment.
The Python package pystata is shipped with Stata and located in the utilities subdirectory of Stata’s installation directory. First, you need to configure this package within Python so that it can be found and imported by Python. The Configuration section contains details about different ways you can configure this package; below, we will be using the first method listed there. In the first method, the configuration module stata_setup, which is available in the Python Package Index (PyPI), is provided to locate the pystata package to initialize Stata.
Suppose we have Stata installed in C:\Program Files\Stata18\ and we use Stata/MP edition. Stata can be initialized as follows:
import stata_setup stata_setup.config("C:/Program Files/Stata18/", "mp")
___ ____ ____ ____ ____ ® /__ / ____/ / ____/ 18.0 ___/ / /___/ / /___/ MP—Parallel Edition Statistics and Data Science Copyright 1985-2023 StataCorp LLC StataCorp 4905 Lakeway Drive College Station, Texas 77845 USA 800-STATA-PC https://www.stata.com 979-696-4600 firstname.lastname@example.org Stata license: 10-user 4-core network perpetual Serial number: 1 Licensed to: Stata Developer StataCorp LLC Notes: 1. Unicode is supported; see help unicode_advice. 2. More than 2 billion observations are allowed; see help obs_advice. 3. Maximum number of variables is set to 5,000 but can be increased; see help set_maxvar.
If Stata is initialized successfully, you will see output similar to that shown above.