Stata and Jupyter¶
Setup¶
There are two primary approaches to using stata
with jupyter
:
and they have different configurations catering to different workflows.
Stata Jupyter Kernel¶
The Stata Jupyter Kernel
enables using stata
directly in jupyter
notebooks.
It is effectively an alternative interface to use stata
if you like
jupyter
as an interface.
This can be useful if you want to write notebooks that are integrated
with stata
code.
It supports a wide range of interaction with stata
To install using anaconda
tools you can use the following commands
in a jupyter notebook
:
!conda install -y -c conda-forge stata_kernel
once the software is installed you need to install the jupyter kernel
on your computer
!python -m stata_kernel.install
Warning
[macOS] When I ran the kernel install step I got the following error
:
Cannot import kernel
Installing Jupyter kernel spec
WARNING: Could not find Stata path.
Refer to the documentation to see how to set it manually:
https://kylebarron.dev/stata_kernel/using_stata_kernel/configuration
and had to manually set the stata
path in the .stata_kernel.conf
file located
in your home directory to the following:
# Path to stata executable. If you type this in your terminal, it should
# start the Stata console
stata_path = /Applications/Stata/StataIC.app/Contents/MacOS/StataIC
# **macOS only**
# The manner in which the kernel connects to Stata. Either 'console' or
# 'automation'. 'console' is the default because it allows multiple
# independent sessions of Stata at the same time.
execution_mode = automation
Unfortunately StataIC
is limited on mac os
so I had to use automation
instead of console
as per
this issue in the docs
However this does enable the use of browse
If you start jupyter notebook
you should now see a stata
kernel option. If selected a jupyter
notebook will open with a connection to stata
. You can verify this on the top-right of the
notebook
Local Notebook Option¶
You can download the notebook from here
Then browse to your download location and load the notebook with jupyter:
cd ~/Downloads
jupyter notebook stata-jupyter-kernel.ipynb
Cloud Based Notebook Option¶
There is no cloud
based option available as it is difficult to load stata
onto cloud
server
instances (i.e. can’t be done for free).
You can view the notebook here
IPyStata¶
IPyStata provides an alternative
approach which provides support for running stata
commands using ipython magics
.
So you remain in a python
notebook and interface with stata when needed.
To install you can use pip
:
pip install ipystata
however the released version
via PyPI
is a lot older than the master
branch of the code repository
so to get the latest you could install using:
pip install git+https://github.com/TiesdeKok/ipystata
The documentation largely consists of a demo notebook and the README.
Setup¶
To setup the package you then need to configure it to know where stata
is on your computer.
Open a Jupyter
notebook that is attached to the python
kernel.
import ipystata
from ipystata.config import config_stata
config_stata("<path-to-stata>")
This will look something like:
config_stata("/Applications/Stata/StataSE.app/Contents/MacOS/stataSE")
config_stata("C:\Program Files (x86)\Stata14\StataSE-64.exe")
This is documented here
Local Notebook Option¶
You can download the notebook from here
Then browse to your download location and load the notebook with jupyter:
cd ~/Downloads
jupyter notebook jupyter-ipystata.ipynb
Cloud Based Notebook Option¶
There is no cloud
based option available as it is difficult to load stata
onto cloud
server
instances (i.e. can’t be done for free).
You can view the notebook here