Skip to content

[WIP] Cookie - #1514

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

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

Conversation

@alanlujan91

@alanlujan91 alanlujan91 commented Nov 19, 2024

Copy link
Copy Markdown
Member

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

codecov-commenter commented Nov 26, 2024

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@ce59965). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1514   +/-   ##
=======================================
  Coverage        ?   60.89%           
=======================================
  Files           ?       54           
  Lines           ?    14017           
  Branches        ?        0           
=======================================
  Hits            ?     8535           
  Misses          ?     5482           
  Partials        ?        0           

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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

Copilot AI Jan 28, 2026

Copy link

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 thread .github/workflows/cd.yml
Comment on lines +5 to +12
pull_request:
push:
branches:
- main
release:
types:
- published

Copilot AI Jan 28, 2026

Copy link

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 thread .github/workflows/ci.yml
Comment on lines +5 to +9
pull_request:
push:
branches:
- main

Copilot AI Jan 28, 2026

Copy link

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.

5 participants