Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A human requirement and a machine requirement for every app #536

Open
xhluca opened this issue Nov 27, 2020 · 3 comments
Open

A human requirement and a machine requirement for every app #536

xhluca opened this issue Nov 27, 2020 · 3 comments
Labels
dash-r Dash R applications feature something new P3 not needed for current cycle

Comments

@xhluca
Copy link

xhluca commented Nov 27, 2020

With recent issues (See PR #535) caused by new version of dependencies breaking an otherwise functioning app, I think that a freeze'd (frozen?) requirement file would be necessary in order to ensure that a certain app is fully functional. For example, instead of a requirements.txt file that looks like this:

dash
casadi==3.5.1
numpy>=1.18.1
...

Instead, it might be a better idea to generate requirements.txt by running pip freeze > requirements.txt. This way, we would avoid one dependency (e.g. casadi) to fall behind while another one (e.g. numpy>=1.18.1) keeps being updated, resulting in broken apps due to API changes.

the human requirements

Since we want to update such apps, it's handy to keep track of human-readable requirements. Perhaps those could be called dependencies.txt or requirements-dev.txt, so that two ways would be recommended:

  1. Trying/reproducing/deploy the app: pip install -r requirements.txt
  2. Fixing/developing the app: pip install -r dependencies.txt or pip install -r requirements-dev.txt
@xhluca xhluca added dash-r Dash R applications dash labels Nov 27, 2020
@xhluca
Copy link
Author

xhluca commented Nov 28, 2020

@emmanuelle @nicolaskruchten Thoughts?

@xhluca
Copy link
Author

xhluca commented Feb 3, 2021

Already discussed here: plotly/dash#1005

@xhluca
Copy link
Author

xhluca commented Feb 16, 2021

Seems like pipenv does exactly what I had in mind. Could be worth trying it out for future sample apps

@gvwilson gvwilson added feature something new P3 not needed for current cycle and removed dash labels Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dash-r Dash R applications feature something new P3 not needed for current cycle
Projects
None yet
Development

No branches or pull requests

2 participants