Skip to content

Commit 9dc11a5

Browse files
author
Marc-André Rivet
committed
Merge remote-tracking branch 'origin/dev' + update build artifacts
2 parents 27d740d + 39bdd8a commit 9dc11a5

File tree

100 files changed

+57184
-46606
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+57184
-46606
lines changed

.circleci/config.yml

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ jobs:
2727
docker:
2828
- image: circleci/python:3.7-stretch-node-browsers
2929
environment:
30-
PYLINTRC: .pylintrc37
3130
PYVERSION: python37
3231

3332
steps:
@@ -51,20 +50,13 @@ jobs:
5150
. venv/bin/activate
5251
set -eo pipefail
5352
pip install -e . --progress-bar off && pip list | grep dash
54-
flake8 dash setup.py && flake8 --ignore=E123,E126,E501,E722,E731,F401,F841,W503,W504 --exclude=metadata_test.py tests
55-
pylint dash setup.py --rcfile=$PYLINTRC
56-
pylint tests/unit tests/integration/devtools tests/integration/renderer tests/integration/dash_assets -d all -e C0410,C0411,C0412,C0413,W0109
57-
cd dash-renderer && npm ci
58-
npm run lint:test && npm run format:test
53+
npm install --production && npm run initialize
54+
npm run lint
5955
- run:
60-
name: 🐍 Python Unit Tests
56+
name: 🐍 Python Unit Tests & ☕ JS Unit Tests
6157
command: |
6258
. venv/bin/activate
63-
PYTHONPATH=~/dash/tests/assets pytest tests/unit
64-
- run:
65-
name: ☕ JS Unit Tests
66-
command: |
67-
cd dash-renderer && npm run test:js
59+
npm run test.unit
6860
6961
lint-unit-36:
7062
<<: *lint-unit
@@ -87,6 +79,7 @@ jobs:
8779
docker:
8880
- image: circleci/python:3.7-stretch-node-browsers
8981
environment:
82+
PYLINTRC: .pylintrc37
9083
PYVERSION: python37
9184
steps:
9285
- checkout
@@ -202,7 +195,9 @@ jobs:
202195
- run:
203196
name: ️️🏗️ Install packages
204197
command: |
205-
. venv/bin/activate && cd packages && ls -la
198+
. venv/bin/activate
199+
npm install --production
200+
cd packages && ls -la
206201
find . -name "*.gz" | xargs pip install --no-cache-dir --ignore-installed && cd ..
207202
sed -i '/dash/d' requires-install.txt
208203
pip install --no-cache-dir --ignore-installed .
@@ -211,8 +206,7 @@ jobs:
211206
name: 🧪 Run Integration Tests
212207
command: |
213208
. venv/bin/activate
214-
TESTFILES=$(circleci tests glob "tests/integration/**/test_*.py" | circleci tests split --split-by=timings)
215-
pytest --headless --nopercyfinalize --junitxml=test-reports/junit_intg.xml ${TESTFILES}
209+
npm run test.integration
216210
- store_artifacts:
217211
path: test-reports
218212
- store_test_results:

.flake8

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[flake8]
2+
ignore = C901, E203, E266, E501, E731, W503
3+
select = B,C,E,F,W,T4
4+
per-file-ignores =
5+
tests/*: E722, F811

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
custom: https://plot.ly/products/consulting-and-oem/
1+
custom: https://plotly.com/products/consulting-and-oem/

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ assignees: ''
99

1010
Thanks so much for your interest in Dash!
1111

12-
Before posting an issue here, please check the Dash [community forum](https://community.plot.ly/c/dash) to see if the topic has already been discussed. The community forum is also great for implementation questions. When in doubt, please feel free to just post the issue here :)
12+
Before posting an issue here, please check the Dash [community forum](https://community.plotly.com/c/dash) to see if the topic has already been discussed. The community forum is also great for implementation questions. When in doubt, please feel free to just post the issue here :)
1313

1414
**Is your feature request related to a problem? Please describe.**
1515
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,4 @@ node_modules/
6363
.npm
6464
npm-debug*
6565

66-
dash_renderer/
67-
digest.json
6866
VERSION.txt

.huskyrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"hooks": {
3+
"pre-commit": "npm run lint"
4+
}
5+
}

.pylintrc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ disable=fixme,
6161
old-style-class,
6262
superfluous-parens,
6363
bad-continuation,
64+
line-too-long
6465

6566

6667
# Enable the message, report, category or checker with the given id(s). You can
@@ -223,9 +224,6 @@ indent-after-paren=4
223224
# tab).
224225
indent-string=' '
225226

226-
# Maximum number of characters on a single line.
227-
max-line-length=100
228-
229227
# Maximum number of lines in a module
230228
max-module-lines=1000
231229

@@ -398,7 +396,7 @@ valid-metaclass-classmethod-first-arg=mcs
398396
[DESIGN]
399397

400398
# Maximum number of arguments for function / method
401-
max-args=10
399+
max-args=11
402400

403401
# Maximum number of attributes for a class (see R0902).
404402
max-attributes=20
@@ -468,4 +466,4 @@ known-third-party=enchant
468466

469467
# Exceptions that will emit a warning when being caught. Defaults to
470468
# "Exception"
471-
overgeneral-exceptions=Exception
469+
overgeneral-exceptions=Exception

.pylintrc37

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ disable=invalid-name,
148148
possibly-unused-variable,
149149
too-many-lines,
150150
too-many-statements,
151-
bad-continuation
151+
bad-continuation,
152+
line-too-long
152153

153154
# Enable the message, report, category or checker with the given id(s). You can
154155
# either give multiple identifier separated by comma (,) or put this option
@@ -318,9 +319,6 @@ indent-after-paren=4
318319
# tab).
319320
indent-string=' '
320321

321-
# Maximum number of characters on a single line.
322-
max-line-length=100
323-
324322
# Maximum number of lines in a module.
325323
max-module-lines=1000
326324

@@ -497,7 +495,7 @@ valid-metaclass-classmethod-first-arg=mcs
497495
[DESIGN]
498496

499497
# Maximum number of arguments for function / method.
500-
max-args=10
498+
max-args=11
501499

502500
# Maximum number of attributes for a class (see R0902).
503501
max-attributes=20
@@ -567,4 +565,4 @@ known-third-party=enchant
567565

568566
# Exceptions that will emit a warning when being caught. Defaults to
569567
# "Exception".
570-
overgeneral-exceptions=Exception
568+
overgeneral-exceptions=Exception

CHANGELOG.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
All notable changes to `dash` will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [1.10.0] - 2020-04-01
6+
### Added
7+
- [#1134](https://github.com/plotly/dash/pull/1134) Allow `dash.run_server()` host and port parameters to be set with environment variables HOST & PORT, respectively
8+
9+
### Changed
10+
- [#1145](https://github.com/plotly/dash/pull/1145) Update from React 16.8.6 to 16.13.0
11+
12+
### Fixed
13+
- [#1142](https://github.com/plotly/dash/pull/1142) [Persistence](https://dash.plot.ly/persistence): Also persist 0, empty string etc
14+
515
## [1.9.1] - 2020-02-27
616
### Added
717
- [#1133](github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
@@ -176,7 +186,7 @@ clientside JavaScript callbacks via inline strings.
176186
- Change `hot_reload_interval` from msec to seconds, for consistency with `hot_reload_watch_interval`
177187
- When called from `enable_dev_tools`, `debug=True` by default. It's still `False` by default from `run_server`.
178188

179-
-[#744](https://github.com/plotly/dash/pull/744) Introducing Dash Testing (`dash.testing`) - read the full tutorial at http://dash.plot.ly/testing.
189+
-[#744](https://github.com/plotly/dash/pull/744) Introducing Dash Testing (`dash.testing`) - read the full tutorial at http://dash.plotly.com/testing.
180190

181191
- [#753](https://github.com/plotly/dash/pull/753) `Component` no longer inherits `MutableMapping`, so `values`, `keys`, and more are no longer methods. Fixes an issue reported in [dcc#440](https://github.com/plotly/dash-core-components/issues/440) where components with certain prop names defined but not provided would cause a failure to render. During component generation we now disallow all props with leading underscores or matching a few remaining reserved words: `UNDEFINED`, `REQUIRED`, `to_plotly_json`, `available_properties`, and `available_wildcard_properties`.
182192

@@ -504,7 +514,7 @@ app = dash.Dash(...)
504514

505515
## 0.20.0 - 2018-01-19
506516
### Added
507-
- [#190](https://github.com/plotly/dash/pull/190) `exceptions.PreventUpdate` can be raised inside a callback to prevent the callback from updating the app. See https://community.plot.ly/t/improving-handling-of-aborted-callbacks/7536/2.
517+
- [#190](https://github.com/plotly/dash/pull/190) `exceptions.PreventUpdate` can be raised inside a callback to prevent the callback from updating the app. See https://community.plotly.com/t/improving-handling-of-aborted-callbacks/7536/2.
508518

509519
### Removed
510520
- Removes logging from redux middleware from production build based on process.env.NODE_ENV.
@@ -528,9 +538,9 @@ app = dash.Dash(...)
528538

529539
### Fixed
530540
- Fix a bug from 0.18.2 that removed the ability for dash to serve the app on any route besides `/`.
531-
- Fix a bug from 0.18.0 with the new config variables when used in a multi-app setting, causing config to be shared across apps. Originally reported in https://community.plot.ly/t/flask-endpoint-error/5691/7
541+
- Fix a bug from 0.18.0 with the new config variables when used in a multi-app setting, causing config to be shared across apps. Originally reported in https://community.plotly.com/t/flask-endpoint-error/5691/7
532542
- Rename config setting `supress_callback_exceptions` to `suppress_callback_exceptions`. The original spelling is kept for backward compatibility.
533-
- 🐞 (renderer) Fix a bug where Dash would fire updates for each parent of a grandchild node that shared the same grandparent. Originally reported in https://community.plot.ly/t/specifying-dependency-tree-traversal/5080/5
543+
- 🐞 (renderer) Fix a bug where Dash would fire updates for each parent of a grandchild node that shared the same grandparent. Originally reported in https://community.plotly.com/t/specifying-dependency-tree-traversal/5080/5
534544
- 🐞 (renderer) Fix a bug where the document title that displays "Updating..." wouldn't change if the callback raised an Exception. Now it will be removed on any response, even a failure.
535545

536546
## 0.18.2 - 2017-09-07
@@ -544,7 +554,7 @@ app = dash.Dash(...)
544554
## 0.18.0 - 2017-09-07
545555
### Changed
546556
- 🔒 Remove the `/static/` folder and endpoint that is implicitly initialized by flask. This is too implicit for my comfort level: I worry that users will not be aware that their files in their `static` folder are accessible
547-
- ⚡️ Remove all API calls to the Plotly API (https://api.plot.ly/), the authentication endpoints and decorators, and the associated `filename`, `sharing` and `app_url` arguments. This was never documented or officially supported. Authentication has been moved to the [`dash-auth` package](https://github.com/plotly/dash-auth).
557+
- ⚡️ Remove all API calls to the Plotly API (https://api.plotly.com/), the authentication endpoints and decorators, and the associated `filename`, `sharing` and `app_url` arguments. This was never documented or officially supported. Authentication has been moved to the [`dash-auth` package](https://github.com/plotly/dash-auth).
548558
- [#107](https://github.com/plotly/dash/pull/107) ✏️ Sort prop names in exception messages.
549559

550560
### Added

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe
3434

3535
## Enforcement
3636

37-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at chris@plot.ly. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at chris@plotly.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
3838

3939
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
4040

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,20 @@ Note: *You might find out that we have more integration tests than unit tests in
112112

113113
### Integration Tests
114114

115-
We introduced the `dash.testing` feature in [Dash 1.0](https://community.plot.ly/t/announcing-dash-testing/24868). It makes writing a Dash integration test much easier. Please read the [tutorial](http://dash.plot.ly/testing) and add relevant integration tests with any new features or bug fixes.
115+
We introduced the `dash.testing` feature in [Dash 1.0](https://community.plotly.com/t/announcing-dash-testing/24868). It makes writing a Dash integration test much easier. Please read the [tutorial](http://dash.plotly.com/testing) and add relevant integration tests with any new features or bug fixes.
116116

117117
## Financial Contributions
118118

119119
Dash, and many of Plotly's open source products, have been funded through direct sponsorship by companies. [Get in touch] about funding feature additions, consulting, or custom app development.
120120

121-
[Dash Core Components]: https://dash.plot.ly/dash-core-components
121+
[Dash Core Components]: https://dash.plotly.com/dash-core-components
122122
[Dash HTML Components]: https://github.com/plotly/dash-html-components
123-
[write your own components]: https://dash.plot.ly/plugins
123+
[write your own components]: https://dash.plotly.com/plugins
124124
[Dash Component Boilerplate]: https://github.com/plotly/dash-component-boilerplate
125125
[issues]: https://github.com/plotly/dash-core-components/issues
126126
[GitHub flow]: https://guides.github.com/introduction/flow/
127127
[semantic versioning]: https://semver.org/
128-
[Dash Community Forum]: https://community.plot.ly/c/dash
129-
[Get in touch]: https://plot.ly/products/consulting-and-oem
128+
[Dash Community Forum]: https://community.plotly.com/c/dash
129+
[Get in touch]: https://plotly.com/products/consulting-and-oem
130130
[Documentation]: https://github.com/orgs/plotly/projects/8
131131
[Dash Docs]: https://github.com/plotly/dash-docs

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2019 Plotly, Inc
3+
Copyright (c) 2020 Plotly, Inc
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313

1414
Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dropdowns, sliders, and graphs directly to your analytical Python code. Read our tutorial proudly crafted ❤️ by Dash itself.
1515

16-
- [User Guide](https://dash.plot.ly/getting-started)
16+
- [User Guide](https://dash.plotly.com/getting-started)
1717

1818
- [Offline (PDF) Documentation](https://github.com/plotly/dash-docs/blob/master/pdf-docs/Dash_User_Guide_and_Documentation.pdf)
1919

20-
- [Dash Docs on Heroku](http://dash-docs.herokuapp.com/) (for corporate network that cannot access plot.ly)
20+
- [Dash Docs on Heroku](http://dash-docs.herokuapp.com/) (for corporate network that cannot access plotly.com)
2121

2222

2323
### App Samples
@@ -29,17 +29,17 @@ Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dr
2929
| ![Dash App with Mapbox map showing walmart store openings](https://user-images.githubusercontent.com/1280389/30086299-768509d0-9268-11e7-8e6b-626ac9ca512c.gif)| Dash uses [Plotly.js](https://github.com/plotly/plotly.js) for charting. Over 35 chart types are supported, including maps. |
3030
|![Financial report](https://github.com/plotly/dash-docs/blob/516f80c417051406210b94ea23a6d3b6cd84d146/assets/images/gallery/dash-financial-report.gif)| Dash isn't just for dashboards. You have full control over the look and feel of your applications. Here's a Dash App that's styled to look like a PDF report. |
3131

32-
To learn more about Dash, read the [extensive announcement letter](https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503) or [jump in with the user guide](https://plot.ly/dash).
32+
To learn more about Dash, read the [extensive announcement letter](https://medium.com/@plotlygraphs/introducing-dash-5ecf7191b503) or [jump in with the user guide](https://plotly.com/dash).
3333

3434
### Contact and Support
3535

3636
For companies with software budgets, Plotly offers
3737

38-
- [**Dash Deployment Server**](https://plot.ly/products/dash/) speeds your time-to-delivery while providing the right resources, security, and scalability you need to deliver production-quality apps
39-
- [**Dash Design Kit**](https://plot.ly/products/dash/) makes your internal dashboard awesome without expertise in JavaScript & CSS.
40-
- [**Snapshot Engine**](https://plot.ly/products/dash/) seamlessly links your analytics and reporting workflows together, giving you a fast way to generate interactive reports of just the data you need
38+
- [**Dash Deployment Server**](https://plotly.com/products/dash/) speeds your time-to-delivery while providing the right resources, security, and scalability you need to deliver production-quality apps
39+
- [**Dash Design Kit**](https://plotly.com/products/dash/) makes your internal dashboard awesome without expertise in JavaScript & CSS.
40+
- [**Snapshot Engine**](https://plotly.com/products/dash/) seamlessly links your analytics and reporting workflows together, giving you a fast way to generate interactive reports of just the data you need
4141

42-
See [https://plot.ly/dash/support](https://plot.ly/dash/support) for ways to get in touch.
42+
See [https://plotly.com/dash/support](https://plotly.com/dash/support) for ways to get in touch.
4343

4444
![image](https://user-images.githubusercontent.com/1280389/30084008-9fbc68fc-925e-11e7-891c-18a9b8f6ac6b.png)
4545

dash-renderer/.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
"no-new-wrappers": ["error"],
103103
"no-param-reassign": ["error"],
104104
"no-process-env": ["warn"],
105+
"no-prototype-builtins": ["off"],
105106
"no-proto": ["error"],
106107
"no-redeclare": ["error"],
107108
"no-return-assign": ["error"],
@@ -141,7 +142,7 @@
141142
}],
142143
"no-magic-numbers": ["error", {
143144
"ignoreArrayIndexes": true,
144-
"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25]
145+
"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25, 200, 500]
145146
}],
146147
"no-underscore-dangle": ["off"],
147148
"no-useless-escape": ["off"]

0 commit comments

Comments
 (0)