Skip to content

Commit 9a9d5fd

Browse files
authored
Merge pull request #236 from alanlujan91/meta_changes
Refactor code structure for improved readability and maintainability
2 parents bae3fdb + 7e737cb commit 9a9d5fd

File tree

9 files changed

+3995
-178
lines changed

9 files changed

+3995
-178
lines changed

.github/workflows/deploy.yml

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,45 @@
1-
name: deploy-book
1+
name: Deploy MyST Site to GitHub Pages
22

33
on:
44
push:
55
branches:
66
- main
77

8-
# This job installs dependencies, builds the book, and pushes it to `gh-pages`
8+
env:
9+
BASE_URL: /${{ github.event.repository.name }}
10+
11+
permissions:
12+
contents: read
13+
pages: write
14+
id-token: write
15+
16+
concurrency:
17+
group: pages
18+
cancel-in-progress: false
19+
920
jobs:
10-
deploy-book:
21+
deploy:
22+
environment:
23+
name: github-pages
24+
url: ${{ steps.deployment.outputs.page_url }}
1125
runs-on: ubuntu-latest
12-
permissions:
13-
pages: write
14-
id-token: write
1526
steps:
1627
- uses: actions/checkout@v4
17-
- name: Setup mamba environment to run notebooks
18-
uses: mamba-org/setup-micromamba@v2
19-
with:
20-
environment-file: binder/environment.yml
21-
create-args: >-
22-
jupyter-book
23-
24-
# Build the book
25-
- name: Build the book
26-
shell: bash -l {0}
27-
run: |
28-
jupyter-book build .
29-
30-
# Upload the book's HTML as an artifact
28+
29+
- name: Setup Pages
30+
uses: actions/configure-pages@v5
31+
32+
- name: Install uv
33+
uses: astral-sh/setup-uv@v5
34+
35+
- name: Build HTML Assets
36+
run: uv run myst build --html --base-url ${{ env.BASE_URL }}
37+
3138
- name: Upload artifact
32-
uses: actions/upload-pages-artifact@v3
39+
uses: actions/upload-pages-artifact@v4
3340
with:
34-
path: "_build/html"
35-
36-
# Deploy the book's HTML to GitHub Pages
41+
path: _build/html
42+
3743
- name: Deploy to GitHub Pages
3844
id: deployment
3945
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
.ipynb_checkpoints/
55
*~
66
_build
7+
.venv

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.10

README.md

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,34 @@
22

33
Demonstrations of how to use material in the [Econ-ARK](https://github.com/econ-ark/HARK).
44

5-
[![badge](<https://img.shields.io/badge/launch-Binder%20(Dev%20branch)-579ACA.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFkAAABZCAMAAABi1XidAAAB8lBMVEX///9XmsrmZYH1olJXmsr1olJXmsrmZYH1olJXmsr1olJXmsrmZYH1olL1olJXmsr1olJXmsrmZYH1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olJXmsrmZYH1olL1olL0nFf1olJXmsrmZYH1olJXmsq8dZb1olJXmsrmZYH1olJXmspXmspXmsr1olL1olJXmsrmZYH1olJXmsr1olL1olJXmsrmZYH1olL1olLeaIVXmsrmZYH1olL1olL1olJXmsrmZYH1olLna31Xmsr1olJXmsr1olJXmsrmZYH1olLqoVr1olJXmsr1olJXmsrmZYH1olL1olKkfaPobXvviGabgadXmsqThKuofKHmZ4Dobnr1olJXmsr1olJXmspXmsr1olJXmsrfZ4TuhWn1olL1olJXmsqBi7X1olJXmspZmslbmMhbmsdemsVfl8ZgmsNim8Jpk8F0m7R4m7F5nLB6jbh7jbiDirOEibOGnKaMhq+PnaCVg6qWg6qegKaff6WhnpKofKGtnomxeZy3noG6dZi+n3vCcpPDcpPGn3bLb4/Mb47UbIrVa4rYoGjdaIbeaIXhoWHmZYHobXvpcHjqdHXreHLroVrsfG/uhGnuh2bwj2Hxk17yl1vzmljzm1j0nlX1olL3AJXWAAAAbXRSTlMAEBAQHx8gICAuLjAwMDw9PUBAQEpQUFBXV1hgYGBkcHBwcXl8gICAgoiIkJCQlJicnJ2goKCmqK+wsLC4usDAwMjP0NDQ1NbW3Nzg4ODi5+3v8PDw8/T09PX29vb39/f5+fr7+/z8/Pz9/v7+zczCxgAABC5JREFUeAHN1ul3k0UUBvCb1CTVpmpaitAGSLSpSuKCLWpbTKNJFGlcSMAFF63iUmRccNG6gLbuxkXU66JAUef/9LSpmXnyLr3T5AO/rzl5zj137p136BISy44fKJXuGN/d19PUfYeO67Znqtf2KH33Id1psXoFdW30sPZ1sMvs2D060AHqws4FHeJojLZqnw53cmfvg+XR8mC0OEjuxrXEkX5ydeVJLVIlV0e10PXk5k7dYeHu7Cj1j+49uKg7uLU61tGLw1lq27ugQYlclHC4bgv7VQ+TAyj5Zc/UjsPvs1sd5cWryWObtvWT2EPa4rtnWW3JkpjggEpbOsPr7F7EyNewtpBIslA7p43HCsnwooXTEc3UmPmCNn5lrqTJxy6nRmcavGZVt/3Da2pD5NHvsOHJCrdc1G2r3DITpU7yic7w/7Rxnjc0kt5GC4djiv2Sz3Fb2iEZg41/ddsFDoyuYrIkmFehz0HR2thPgQqMyQYb2OtB0WxsZ3BeG3+wpRb1vzl2UYBog8FfGhttFKjtAclnZYrRo9ryG9uG/FZQU4AEg8ZE9LjGMzTmqKXPLnlWVnIlQQTvxJf8ip7VgjZjyVPrjw1te5otM7RmP7xm+sK2Gv9I8Gi++BRbEkR9EBw8zRUcKxwp73xkaLiqQb+kGduJTNHG72zcW9LoJgqQxpP3/Tj//c3yB0tqzaml05/+orHLksVO+95kX7/7qgJvnjlrfr2Ggsyx0eoy9uPzN5SPd86aXggOsEKW2Prz7du3VID3/tzs/sSRs2w7ovVHKtjrX2pd7ZMlTxAYfBAL9jiDwfLkq55Tm7ifhMlTGPyCAs7RFRhn47JnlcB9RM5T97ASuZXIcVNuUDIndpDbdsfrqsOppeXl5Y+XVKdjFCTh+zGaVuj0d9zy05PPK3QzBamxdwtTCrzyg/2Rvf2EstUjordGwa/kx9mSJLr8mLLtCW8HHGJc2R5hS219IiF6PnTusOqcMl57gm0Z8kanKMAQg0qSyuZfn7zItsbGyO9QlnxY0eCuD1XL2ys/MsrQhltE7Ug0uFOzufJFE2PxBo/YAx8XPPdDwWN0MrDRYIZF0mSMKCNHgaIVFoBbNoLJ7tEQDKxGF0kcLQimojCZopv0OkNOyWCCg9XMVAi7ARJzQdM2QUh0gmBozjc3Skg6dSBRqDGYSUOu66Zg+I2fNZs/M3/f/Grl/XnyF1Gw3VKCez0PN5IUfFLqvgUN4C0qNqYs5YhPL+aVZYDE4IpUk57oSFnJm4FyCqqOE0jhY2SMyLFoo56zyo6becOS5UVDdj7Vih0zp+tcMhwRpBeLyqtIjlJKAIZSbI8SGSF3k0pA3mR5tHuwPFoa7N7reoq2bqCsAk1HqCu5uvI1n6JuRXI+S1Mco54YmYTwcn6Aeic+kssXi8XpXC4V3t7/ADuTNKaQJdScAAAAAElFTkSuQmCC>)](https://mybinder.org/v2/gh/econ-ark/DemARK/main)
6-
[![badge](<https://img.shields.io/badge/launch-Binder%20(stable%20release)-579ACA.svg?logo=data:image/png;base64,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>)](https://mybinder.org/v2/gh/econ-ark/DemARK/0.13.0)
5+
[![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/econ-ark/DemARK/main)
76

87
[![DemARK build on MacOS, Ubuntu and Windows](https://github.com/econ-ark/DemARK/actions/workflows/build.yml/badge.svg)](https://github.com/econ-ark/DemARK/actions/workflows/build.yml)
98

109
## Local installation
1110

12-
### Option 1: With Jupyter
11+
### Option 1: With uv (recommended)
12+
13+
1. [Install uv](https://docs.astral.sh/uv/getting-started/installation/)
14+
2. Clone `DemARK` to the folder of your choice
15+
3. Install dependencies: `uv sync --extra dev`
16+
4. Run JupyterLab: `uv run jupyter lab`
17+
5. Run the notebook by choosing `Kernel → Restart & Run All`
18+
19+
### Option 2: With conda
1320

1421
1. [Install Miniconda](https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html)
1522
2. Clone `DemARK` to the folder of your choice
16-
3. Using conda, install the environment\
17-
`conda env create -f binder/environment.yml`
18-
- If you already have installed the `DemARK` environment, you may still need to update it\
19-
`conda env update -f binder/environment.yml`
20-
4. Activate your `DemARK` environment:\
21-
`conda activate DemARK`
22-
5. Install JupyterLab in the `DemARK` environment:\
23-
`conda install jupyterlab`
23+
3. Using conda, install the environment:
24+
`conda env create -f binder/environment.yml`
25+
- If you already have installed the `DemARK` environment, you may still need to update it:
26+
`conda env update -f binder/environment.yml`
27+
4. Activate your `DemARK` environment: `conda activate DemARK`
28+
5. Install JupyterLab in the `DemARK` environment: `conda install jupyterlab`
2429
6. Run `jupyter lab` from the `DemARK` root folder. You will be prompted to open a page in your web browser. From there, you will be able to run the notebooks.
2530
7. Run the notebook by choosing `Kernel → Restart & Run All`
2631

27-
### Option 2: With Docker and repo2docker
32+
### Option 3: With Docker and repo2docker
2833

2934
0. [Install Docker](https://www.docker.com/community-edition)
3035
1. [Install `repo2docker`](https://github.com/jupyter/repo2docker#installation), using the "install from source" instructions

_config.yml

Lines changed: 0 additions & 93 deletions
This file was deleted.

_toc.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

myst.yml

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,81 @@
11
# See docs at: https://myst-tools.org/docs/mystjs/frontmatter
22
version: 1
33
project:
4+
id: econ-ark-demark
45
title: DemARK
5-
description: Demonstrations of how to use material in the Econ-ARK
6+
subtitle: Demonstrations for the Econ-ARK
7+
short_title: DemARK
8+
description: Demonstrations of how to use material in the Econ-ARK heterogeneous agents modeling toolkit
69
keywords:
710
- economics
811
- heterogeneous agents
912
- consumption
1013
- saving
1114
- HARK
15+
- computational economics
16+
- dynamic programming
17+
- buffer stock
1218
authors:
1319
- name: The Econ-ARK Team
1420
url: https://econ-ark.org
21+
email: econ-ark@jhuecon.org
22+
corresponding: true
23+
affiliations:
24+
- id: econ-ark
25+
name: Econ-ARK
26+
url: https://econ-ark.org
27+
copyright: "2026"
28+
license: Apache-2.0
29+
open_access: true
1530
github: https://github.com/econ-ark/DemARK
16-
# bibliography: []
31+
thebe:
32+
binder:
33+
url: https://mybinder.org
34+
repo: econ-ark/DemARK
35+
ref: main
36+
lite: false
37+
resources:
38+
- binder/environment.yml
39+
toc:
40+
- file: README.md
41+
- title: Notebooks
42+
children:
43+
- file: notebooks/Alternative-Combos-Of-Parameter-Values.ipynb
44+
- file: notebooks/ChangeLiqConstr.ipynb
45+
- file: notebooks/Chinese-Growth.ipynb
46+
- file: notebooks/DCEGM-Upper-Envelope.ipynb
47+
- file: notebooks/DiamondOLG.ipynb
48+
- file: notebooks/Durables-vs-Nondurables-At-Low-And-High-Frequencies.ipynb
49+
- file: notebooks/FisherTwoPeriod.ipynb
50+
- file: notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb
51+
- file: notebooks/Gentle-Intro-To-HARK-PerfForesightCRRA.ipynb
52+
- file: notebooks/Harmenberg-Aggregation.ipynb
53+
- file: notebooks/IncExpectationExample.ipynb
54+
- file: notebooks/KeynesFriedmanModigliani.ipynb
55+
- file: notebooks/LC-Model-Expected-Vs-Realized-Income-Growth.ipynb
56+
- file: notebooks/LifeCycleModelTheoryVsData.ipynb
57+
- file: notebooks/Lucas-Asset-Pricing-Model.ipynb
58+
- file: notebooks/MPC-Out-of-Credit-vs-MPC-Out-of-Income.ipynb
59+
- file: notebooks/Micro-and-Macro-Implications-of-Very-Impatient-HHs.ipynb
60+
- file: notebooks/Nondurables-During-Great-Recession.ipynb
61+
- file: notebooks/PerfForesightCRRA-Approximation.ipynb
62+
- file: notebooks/PerfForesightCRRA-SavingRate.ipynb
63+
- file: notebooks/Structural-Estimates-From-Empirical-MPCs-Fagereng-et-al.ipynb
64+
- file: notebooks/TractableBufferStock-Interactive.ipynb
1765
site:
1866
template: book-theme
1967
title: DemARK
20-
logo: econ-ark-logo.png
21-
projects:
22-
- slug: myst
23-
path: .
68+
options:
69+
logo: /econ-ark-logo.png
70+
favicon: /econ-ark-logo-small.png
71+
static:
72+
- econ-ark-logo.png
73+
- econ-ark-logo-small.png
2474
nav: []
2575
actions:
2676
- title: GitHub
2777
url: https://github.com/econ-ark/DemARK
2878
- title: Econ-ARK
2979
url: https://econ-ark.org
30-
domains: []
80+
- title: HARK Docs
81+
url: https://docs.econ-ark.org

pyproject.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[project]
2+
name = "demark"
3+
version = "0.1.0"
4+
description = "Demonstrations of how to use material in the Econ-ARK heterogeneous agents modeling toolkit"
5+
readme = "README.md"
6+
requires-python = ">=3.10"
7+
license = "Apache-2.0"
8+
dependencies = [
9+
"mystmd>=1.8.0",
10+
]
11+
12+
[project.optional-dependencies]
13+
notebooks = [
14+
"econ-ark",
15+
"ipywidgets",
16+
"pandas-datareader",
17+
"linearmodels",
18+
"tqdm",
19+
]
20+
test = [
21+
"pytest",
22+
"pytest-xdist",
23+
"nbval",
24+
]
25+
dev = [
26+
"demark[notebooks,test]",
27+
"jupyterlab",
28+
]

0 commit comments

Comments
 (0)