hugetim / nbstata

A Jupyter kernel for Stata built on pystata
https://hugetim.github.io/nbstata/
GNU General Public License v3.0
26 stars 1 forks source link
jupyter jupyter-kernels jupyter-notebook jupyterlab nbdev notebook python stata

nbstata: a new Stata kernel

nbstata is a Jupyter kernel for Stata built on top of pystata.

For the User Guide, click here.

What is Jupyter?

JupyterLab is a browser-based editor that allows you to combine interactive code and results with Markdown in a single document (called a Jupyter notebook). It is open source and widely used. Though it is named after the three core programming languages it supports (Julia, Python, and R), it can be used with with a wide variety of languages.

nbstata allows you to create Stata notebooks (as opposed to using Stata within a Python notebook, which is needlessly clunky if you are working primarily with Stata).

nbstata features

What can you do with Stata notebooks…

…that you can’t do with the official Stata interface?

[1] Stata dynamic documents can do this part, though with a less interactive workflow. (See also: markstat, stmd, and Statamarkdown) Using nbstata with Quarto instead gives you a similar workflow, with greater flexibility of output.

Contributing

nbstata is being developed using nbdev. The /nbs directory is where edits to the source code should be made. (The python code is then exported to the /nbdev library folder.)

For more, see CONTRIBUTING.md.

Acknowledgements

Kyle Barron authored the original stata_kernel, which works for older versions of Stata. Vinci Chow created a Stata kernel that instead uses pystata, which first became available with Stata 17. nbstata was originally derived from his pystata-kernel, but much of the docs and newer features are derived from stata_kernel.