Skip to content

[WIP] Cookie#1514

Open
alanlujan91 wants to merge 24 commits intoecon-ark:mainfrom
alanlujan91:cookie
Open

[WIP] Cookie#1514
alanlujan91 wants to merge 24 commits intoecon-ark:mainfrom
alanlujan91:cookie

Conversation

@alanlujan91
Copy link
Member

@alanlujan91 alanlujan91 commented Nov 19, 2024

This pull request includes a variety of changes to improve the project's configuration, documentation, and continuous integration workflows. The most important changes include adding detailed contribution guidelines, setting up continuous integration and continuous deployment workflows, and updating pre-commit hooks.

Configuration and Documentation Improvements:

  • .github/CONTRIBUTING.md: Added detailed contribution guidelines, including instructions for setting up a development environment, running tests, and building documentation.
  • .readthedocs.yaml: Added a configuration file for Read the Docs to specify the build environment and commands for generating documentation.

Continuous Integration and Deployment:

Pre-commit Hooks:

Documentation Updates:

Please ensure your pull request adheres to the following guidelines:

  • Tests for new functionality/models or Tests to reproduce the bug-fix in code.
  • Updated documentation of features that add new functionality.
  • Update CHANGELOG.md with major/minor changes.

@codecov-commenter
Copy link

codecov-commenter commented Nov 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 60.89%. Comparing base (bbb07a5) to head (0a40818).
Report is 586 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1514       +/-   ##
===========================================
- Coverage   71.53%   60.89%   -10.65%     
===========================================
  Files          83       54       -29     
  Lines       13938    14017       +79     
===========================================
- Hits         9971     8535     -1436     
- Misses       3967     5482     +1515     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@alanlujan91 alanlujan91 requested a review from MridulS November 27, 2024 15:13
@mnwhite mnwhite moved this from Needs Triage to In progress in Issues & PRs May 14, 2025
@mnwhite mnwhite moved this from In progress to Stale in Issues & PRs Jan 3, 2026
@alanlujan91 alanlujan91 requested a review from Copilot January 28, 2026 19:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the repository toward a Scientific Python “cookiecutter” style project layout, with updated packaging, docs structure, and CI/CD, while adding/relocating a large set of tests and support modules.

Changes:

  • Switched packaging/build configuration to Hatch (dynamic VCS versioning), added Nox sessions, and updated dev/test/doc dependency sets.
  • Reworked documentation layout under docs/ (Sphinx config + API reference scaffolding) and adjusted notebook execution + docs workflows accordingly.
  • Added multiple new modules and extensive test suite additions/updates, plus new CI/CD workflows and Dependabot config.

Reviewed changes

Copilot reviewed 61 out of 279 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pyproject.toml Moves build system to Hatch, adds Ruff/Mypy/PyLint/Coverage/Pytest config and env metadata.
noxfile.py Adds Nox automation for lint/tests/docs/build.
.pre-commit-config.yaml Expands pre-commit hooks (formatting/linting/schema checks).
.github/workflows/ci.yml Adds multi-OS/multi-Python CI, coverage upload, pre-commit + pylint.
.github/workflows/cd.yml Adds distribution build and (test-)PyPI publish on release.
.readthedocs.yaml Adds RTD build steps using uv and Sphinx.
docs/conf.py Updates Sphinx configuration for new docs layout and type-hints extension.
docs/index.rst Updates top-level docs navigation to new docs/ structure.
docs/reference/** Adds API reference scaffolding for tools and models.
docs/overview/**, docs/guides/** Adds/updates overview and contributor/user guides.
docs/license.md Adds a license page in docs (needs alignment with repo license).
src/HARK/helpers.py Introduces filesystem/environment helpers (currently broken due to missing imports/dead code).
src/HARK/parser.py Adds initial YAML/sympy parsing utilities (currently contains a constructor bug).
src/HARK/parallel.py Adds Joblib-based parallel command execution helpers.
src/HARK/validators.py Adds a non_empty argument validator decorator.
src/HARK/models/** Adds example block-based model definitions and YAML configs (one YAML block has structural indentation issues).
tests/** Adds/updates a broad unittest/pytest-based test suite (several tests currently won’t behave as intended).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +34 to +43
- &portfolio_choice
name: portfolio choice
shocks:
risky_return: !Lognormal
mean: Rfree + EqP
std: RiskyStd
dynamics:
stigma: !Control
info: a
R: Rfree + (risky_return - Rfree) * stigma
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the portfolio_choice block, dynamics: is indented under shocks:, so YAML will treat it as another shock entry rather than a sibling section. Fix the indentation so dynamics is at the same level as shocks and reward.

Copilot uses AI. Check for mistakes.
Comment on lines +5 to +12
pull_request:
push:
branches:
- main
release:
types:
- published

Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CD is configured to run on pushes to main, but other workflows still target master. Align the branch filters so releases/builds run from the repo’s default branch consistently.

Copilot uses AI. Check for mistakes.
Comment on lines +5 to +9
pull_request:
push:
branches:
- main

Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI is configured to run on pushes to main, but other workflows in this repo (e.g. .github/workflows/examples.yml) still target master. Align the branch filters so CI/CD reliably run on the default branch.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Stale

Development

Successfully merging this pull request may close these issues.

4 participants