econ-ark / DemARK

Demonstrations of how to use material in the Econ-ARK
https://econ-ark.github.io/DemARK/
Apache License 2.0
32 stars 93 forks source link

Use env.yml for binder #194

Closed MridulS closed 1 year ago

MridulS commented 1 year ago

Let's start using conda envs to control python version and dependencies.

Why do we have requirements_except_hark.txt file? I saw you added this file @llorracc

llorracc commented 1 year ago

Let's start using conda envs to control python version and dependencies.

Alan tells me that if we use env.yml we can't have a postbuild script. Probably we should reexamine whether we need the postbuild scripts -- I know one thing we have used them for is installing texlive, and another is to install notebook extensions like jupytext.

Why do we have requirements_except_hark.txt file? I saw you added this file @llorracc

Pretty sure the answer is that if I had an environment that was already up to date with hark-dev, but maybe not necessarily with the DemARK requirements, I wanted to be able to install the DemARK requirements aside from HARK so that I could use my local version.

We can delete it.

PS. In the git+https command, is the "--depth 1" option allowed? That radically reduces the time required to download.

MridulS commented 1 year ago

Are some of these redundant since they are shipped with HARK?

Yes they are but by having these packages specifically listed out we can do locks when we archive/release a demark version. Like here https://github.com/econ-ark/DemARK/blob/cf7f40feb59366110872732c5f453e2e343e995a/binder/requirements.txt

We don't do upper bounds on hark dependencies so this makes DemARK a bit more robust in terms of not-working-after-downloading-it-after-5-years.

Alan tells me that if we use env.yml we can't have a postbuild script. Probably we should reexamine whether we need the postbuild scripts -- I know one thing we have used them for is installing texlive, and another is to install notebook extensions like jupytext.

Hmm, postbuild should work irrespective of env.yml/requirements.txt if it's not working then there is an issue that needs to be fixed in repo2docker.

alanlujan91 commented 1 year ago

@llorracc @MridulS so postbuild works if it's within the binder folder?

I guess what I meant to say was that if we go with environment.yml or requirements.txt on the top level directory, we can't do postBuild unless we have a binder folder.

camriddell commented 1 year ago

Chiming in here, I'm +1 on this PR. postBuild will still be run regardless if both environment.yml or requirements.txt (or both) are present.

If we move forward with the commit in this PR, we can additionally remove:

llorracc commented 1 year ago

@camriddell, so you think this is ready to go? I should just merge it now?