To the Stata community,
We are pleased to announce statacons, an SCons-based build tool for Stata.
With statacons, users can manage their workflows efficiently, rebuilding parts of a project if and only if necessary. statacons avoids both errors of inclusion (unnecessary, time-consuming rebuilds of parts of a project for which no inputs have changed) and of exclusion (failing to rebuild parts of a project whose inputs have changed). The user defines relationships between inputs and outputs in a build script, and then statacons tracks file changes and decides what to rebuild. The build script, called an SConstruct, documents the workflow. statacons can use the SConstruct to provide simple visualizations of the workflow and the current status of all or selected components. statacons does not require changes to existing code, is extensible via Python, is git-friendly, and complements literate programming tools such as dyndoc, texdoc and markdoc.
Please see below for links to our forthcoming Stata Journal paper, our installation guide, and additional resources.
We look forward to comments from the Stata community.
To submit feature requests or bug reports, please open an issue on our project repository: https://github.com/bquistorff/statacons/issues
Sincerely,
The statacons team:
Raymond Guiteras (NCSU)
Ahnjeong Kim (NCSU)
Brian Quistorff (Bureau of Economic Analysis)
Clayson Shumway (NCSU)
Paper:
Guiteras, Raymond, Ahnjeong Kim, Brian Quistorff and Clayson Shumway, "statacons: An SCons-based build tool for Stata," CEnREP Working Paper 22-001, May 2022, https://go.ncsu.edu/cenrep-wp-22-001. Accepted at The Stata Journal. PDF: https://osf.io/preprints/metaarxiv/qesx6/download
Abstract: This paper presents statacons, an SCons-based build tool for Stata. Because of the integration of Stata and Python in recent versions of Stata, we are able to adapt SCons for Stata workflows without the use of an external shell or extensive configuration. We discuss the usefulness of build tools generally, provide examples of the use of statacons in Stata workflows, present key elements of the syntax of statacons, and discuss extensions, alternatives, and limitations. Appendices provide installation instructions and recommendations for collaborative workflows.
Installation:
See our Installation Guide: bquistorff.github.io/statacons/installation.html.
Dependencies: statacons requires Stata 16 or higher, Python 3.5 or higher (3.8 required for some advanced options) and SCons 4.3 or higher. We provide information on installing python and SCons in the Installation Guide.
Additional resources:
The Project Web Page at https://bquistorff.github.io/statacons/index.html hosts or links to all statacons resources, including
We are pleased to announce statacons, an SCons-based build tool for Stata.
With statacons, users can manage their workflows efficiently, rebuilding parts of a project if and only if necessary. statacons avoids both errors of inclusion (unnecessary, time-consuming rebuilds of parts of a project for which no inputs have changed) and of exclusion (failing to rebuild parts of a project whose inputs have changed). The user defines relationships between inputs and outputs in a build script, and then statacons tracks file changes and decides what to rebuild. The build script, called an SConstruct, documents the workflow. statacons can use the SConstruct to provide simple visualizations of the workflow and the current status of all or selected components. statacons does not require changes to existing code, is extensible via Python, is git-friendly, and complements literate programming tools such as dyndoc, texdoc and markdoc.
Please see below for links to our forthcoming Stata Journal paper, our installation guide, and additional resources.
We look forward to comments from the Stata community.
To submit feature requests or bug reports, please open an issue on our project repository: https://github.com/bquistorff/statacons/issues
Sincerely,
The statacons team:
Raymond Guiteras (NCSU)
Ahnjeong Kim (NCSU)
Brian Quistorff (Bureau of Economic Analysis)
Clayson Shumway (NCSU)
Paper:
Guiteras, Raymond, Ahnjeong Kim, Brian Quistorff and Clayson Shumway, "statacons: An SCons-based build tool for Stata," CEnREP Working Paper 22-001, May 2022, https://go.ncsu.edu/cenrep-wp-22-001. Accepted at The Stata Journal. PDF: https://osf.io/preprints/metaarxiv/qesx6/download
Abstract: This paper presents statacons, an SCons-based build tool for Stata. Because of the integration of Stata and Python in recent versions of Stata, we are able to adapt SCons for Stata workflows without the use of an external shell or extensive configuration. We discuss the usefulness of build tools generally, provide examples of the use of statacons in Stata workflows, present key elements of the syntax of statacons, and discuss extensions, alternatives, and limitations. Appendices provide installation instructions and recommendations for collaborative workflows.
Installation:
See our Installation Guide: bquistorff.github.io/statacons/installation.html.
Dependencies: statacons requires Stata 16 or higher, Python 3.5 or higher (3.8 required for some advanced options) and SCons 4.3 or higher. We provide information on installing python and SCons in the Installation Guide.
Additional resources:
The Project Web Page at https://bquistorff.github.io/statacons/index.html hosts or links to all statacons resources, including
- The paper: Guiteras, Raymond, Ahnjeong Kim, Brian Quistorff and Clayson Shumway, "statacons: An SCons-based build tool for Stata," CEnREP Working Paper 22-001, May 2022, https://go.ncsu.edu/cenrep-wp-22-001. Accepted at the Stata Journal. PDF: https://osf.io/preprints/metaarxiv/qesx6/download
- The Installation Guide: bquistorff.github.io/statacons/installation.html.
- A web tutorial based on Software Carpentry's make lesson: https://bquistorff.github.io/statacons/swc.html
- The project Wiki Page with additional advanced features, a troubleshooting guide, ideas for future improvements, and fixes for common errors (user contributions welcome): https://github.com/bquistorff/statacons/wiki
- Documentation for statacons, stataconsign, and pystatacons
- The MetaArXiV site archiving all pre-publication drafts of the paper: https://osf.io/preprints/metaarxiv/qesx6/.
- The OSF site archiving all versions of the software and replication code and data: https://osf.io/gbh4m/
Comment