Git Product home page Git Product logo

marekignaszak / econ-project-templates Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opensourceeconomics/econ-project-templates

0.0 2.0 0.0 24.41 MB

A collection of templates for economics projects using programs in various languages (Stata, Matlab, Python, R, Perl, ...), tied together by Waf.

License: BSD 3-Clause "New" or "Revised" License

Python 98.38% Batchfile 0.05% Shell 0.14% TeX 1.14% Jupyter Notebook 0.29%

econ-project-templates's Introduction

Templates for Reproducible Research Projects in Economics

An empirical or computational research project only becomes a useful building block for science when all steps can be easily repeated and modified by others. This means that we should automate as much as possible, compared to pointing and clicking with a mouse or, more generally, keeping track yourself of what needs to be done.

This is a collection of templates where much of this automation is pre-configured via describing the research workflow as a directed acyclic graph (DAG) using Waf. You just need to:

  • Download the template for the main language in your project (Stata, R, Matlab, Python, ...)
  • Move your programs to the right places and change the placeholder scripts
  • Run Waf, which will build your entire project the first time you run it. Later, it will automatically figure out which parts of the project need to be rebuilt.

The branch names follow the main language used in a particular example. You should base your project on the branch that specifies the language that you will use most. So the first thing to do is to switch branches using the button above, unless you plan on using Python mainly. You can easily add more languages to your projects, this is just a single line if the language is supported.

Full documentation

See http://hmgaudecker.github.io/econ-project-templates/ for the full documentation. Please read it before continuing with instructions that follow.

Getting started (Python-based project)

  1. Clone the project template repository (or download the zip file and copy its contents to the place on your machine where you want the resulting project to live, e.g.

     C:\Projects\structural-retirement-model\
    

    Make sure that the entire path does not contain any spaces. Things may work in the beginning, but they will break eventually.

  2. Use the "find in project"-functionality of your editor to search and replace the following terms:

     NNN -> Your name
     UUU -> Your affiliation
     TTT -> The title of the project
    
  3. Make sure to have Miniconda or Anaconda installed. A a modern LaTeX distribution (e.g. TeXLive, MacTex, or MikTex) needs to be found on your path.

  4. Navigate to the folder in a shell. Execute

    (Mac, Linux)

     source set-env.sh
    

    (Windows)

     set-env.bat
    

    This will create a conda environment named as the current directory (structural-retirement-model in the above example) with a sufficiently rich Python setup.

  5. Type the following commands to see whether the examples are working:

    python waf.py configure
    python waf.py build
    python waf.py install
    

The first command will fail if any one of the required programs cannot be found.

If the second step fails, try the following in order to localise the problem (otherwise you may have many parallel processes started and it will be difficult to find out which one failed):

    python waf.py build -j1

If everything worked without error, you may now find more information on how to use the project template in "project_documentation/index.html".

econ-project-templates's People

Contributors

hmgaudecker avatar philippmuller avatar marekignaszak avatar pkeus avatar jahaller avatar cataclysmic avatar julienschat avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.