Skip to content

Commit 087774d

Browse files
authored
Merge branch 'dev' into update-title
2 parents 58b1472 + e255f8b commit 087774d

18 files changed

+50
-56
lines changed

CHANGELOG.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Change Log for Dash
22
All notable changes to `dash` will be documented in this file.
3-
This project adheres to [Semantic Versioning](http://semver.org/).
3+
This project adheres to [Semantic Versioning](https://semver.org/).
44

55
## Unreleased
66
### Added
77
- [#1315](https://github.com/plotly/dash/pull/1315) Add `update_title` parameter to set or disable the "Updating...." document title during updates. Closes [#856](https://github.com/plotly/dash/issues/856) and [#732](https://github.com/plotly/dash/issues/732)
88

9-
## [1.13.4] - 2020-06-25
9+
## [1.13.4] - 2020-06-25
1010
### Fixed
1111
- [#1310](https://github.com/plotly/dash/pull/1310) Fix a regression since 1.13.0 preventing more than one loading state from being shown at a time.
1212

@@ -74,7 +74,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
7474

7575
## [1.9.1] - 2020-02-27
7676
### Added
77-
- [#1133](github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
77+
- [#1133](https://github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
7878

7979
## [1.9.0] - 2020-02-04
8080
### Fixed
@@ -120,7 +120,7 @@ These functions are particularly useful for apps deployed on Dash Enterprise whe
120120
### Added
121121
- [#967](https://github.com/plotly/dash/pull/967) Add support for defining
122122
clientside JavaScript callbacks via inline strings.
123-
- [#1020](https://github.com/plotly/dash/pull/1020) Allow `visit_and_snapshot` API in `dash.testing.browser` to stay on the page so you can run other checks.
123+
- [#1020](https://github.com/plotly/dash/pull/1020) Allow `visit_and_snapshot` API in `dash.testing.browser` to stay on the page so you can run other checks.
124124

125125
### Changed
126126
- [#1026](https://github.com/plotly/dash/pull/1026) Better error message when you forget to wrap multiple `children` in an array, and they get passed to other props.
@@ -246,7 +246,7 @@ clientside JavaScript callbacks via inline strings.
246246
- Change `hot_reload_interval` from msec to seconds, for consistency with `hot_reload_watch_interval`
247247
- When called from `enable_dev_tools`, `debug=True` by default. It's still `False` by default from `run_server`.
248248

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

251251
- [#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`.
252252

@@ -300,7 +300,7 @@ clientside JavaScript callbacks via inline strings.
300300
## [0.39.0] - 2019-03-04
301301
### Added
302302
- [#436](https://github.com/plotly/dash/pull/436) Allow multiple outputs from a single callback.
303-
- [#367](https://github.com/plotly/dash/pull/367) Support custom javascript hooks to modify callback payloads and responses.
303+
- [#367](https://github.com/plotly/dash/pull/367) Support custom JavaScript hooks to modify callback payloads and responses.
304304
- [#623](https://github.com/plotly/dash/pull/623) Modify the flask response with custom cookies or headers, using `dash.callback_context.response`.
305305
- [renderer#93](https://github.com/plotly/dash-renderer/pull/93) Loading states API
306306

@@ -337,7 +337,7 @@ clientside JavaScript callbacks via inline strings.
337337
- Bump dash-core-components version from 0.43.0 to [0.43.1](https://github.com/plotly/dash-core-components/blob/master/CHANGELOG.md#0431---2019-02-11)
338338

339339
### Fixed
340-
- [#563](https://github.com/plotly/dash/pull/563) Fix collections.abc deprecation warning for python 3.8
340+
- [#563](https://github.com/plotly/dash/pull/563) Fix collections.abc deprecation warning for Python 3.8
341341

342342
## [0.36.0] - 2019-01-25
343343
### Removed
@@ -509,21 +509,19 @@ clientside JavaScript callbacks via inline strings.
509509
- `requests_pathname_prefix` must end with `routes_pathname_prefix`. If you supplied both `requests` and `routes` pathname before this update, make sure `requests_pathname_prefix` ends with the same value as `routes_pathname_prefix`.
510510
- `url_base_pathname` sets both `requests/routes` pathname, cannot supply it with either `requests` or `routes` pathname prefixes.
511511

512-
513512
## 0.24.2 - 2018-08-13
514513
### Fixed
515514
- [#320](https://github.com/plotly/dash/pull/320) Disallow duplicate component ids in the initial layout.
516515

517516
## 0.24.1 - 2018-08-10
518517
### Fixed
519518
- Fix bug [#321](https://github.com/plotly/dash/issues/321) where importing Dash components with no props would result in an error.
520-
- Fix a bug in 0.23.1 where importing components with arguments that are python keywords could cause an error. In particular, this fixes `dash-html-components` with Python 3.7.
519+
- Fix a bug in 0.23.1 where importing components with arguments that are Python keywords could cause an error. In particular, this fixes `dash-html-components` with Python 3.7.
521520

522521
## 0.24.0 - 2018-08-10
523522
### Added
524523
- [#319](https://github.com/plotly/dash/pull/309) Add a modified time query string to assets included in the index in order to bust the cache.
525524

526-
527525
## 0.23.1 - 2018-08-02
528526
### Added
529527
- [#316](https://github.com/plotly/dash/pull/316) Add `ie-compat` meta tag to the index by default.
@@ -586,8 +584,8 @@ app = dash.Dash(...)
586584

587585
## 0.19.0 - 2017-10-16
588586
### Changed
589-
- 🔒 Remove CSRF protection measures. CSRF-style attacks are not relevant to Dash apps. Dash's API uses `POST` requests with content type `application/json` which are not susceptible to unwanted requests from 3rd party sites. See [#141](https://github.com/plotly/dash/issues/141).
590-
- 🔒 `app.server.secret_key` is no longer required since CSRF protection was removed. Setting `app.server.secret_key` was difficult to document and a very common source of confusion, so it's great that users won't get bitten by this anymore :tada:
587+
- 🔒 Remove CSRF protection measures. CSRF-style attacks are not relevant to Dash apps. Dash's API uses `POST` requests with content type `application/json` which are not susceptible to unwanted requests from 3rd party sites. See [#141](https://github.com/plotly/dash/issues/141).
588+
- 🔒 `app.server.secret_key` is no longer required since CSRF protection was removed. Setting `app.server.secret_key` was difficult to document and a very common source of confusion, so it's great that users won't get bitten by this anymore :tada:
591589
- 🐞 [renderer#22](https://github.com/plotly/dash-renderer/pull/22), [renderer#28](https://github.com/plotly/dash-renderer/pull/28) Previously, old requests could override new requests if their response was longer than the new one. This caused subtle bugs when apps are deployed on multiple processes or threads with component callbacks that update at varying rates like urls. Originally reported in [#133](https://github.com/plotly/dash/issues/133). This fix should also improve performance when many updates happen at once as outdated requests will get dropped instead of updating the UI. Performance issue with the first PR reported in [renderer#27](https://github.com/plotly/dash-renderer/issues/27) and fixed in the second PR.
592590
- [renderer#21](https://github.com/plotly/dash-renderer/pull/21) Fix an issue where a callback would be fired excessively. Previously, the callback would be called as many times as it had inputs. Now, it is called less.
593591

@@ -613,22 +611,21 @@ app = dash.Dash(...)
613611

614612
## 0.18.0 - 2017-09-07
615613
### Changed
616-
- 🔒 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
617-
- ⚡️ 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).
614+
- 🔒 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
615+
- ⚡️ 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).
618616
- [#107](https://github.com/plotly/dash/pull/107) ✏️ Sort prop names in exception messages.
619617

620618
### Added
621619
- 🔧 Add two new `config` variables: `routes_pathname_prefix` and `requests_pathname_prefix` to provide more flexibility for API routing when Dash apps are run behind proxy servers. `routes_pathname_prefix` is a prefix applied to the backend routes and `requests_pathname_prefix` prefixed in requests made by Dash's front-end. `dash-renderer==0.8.0rc3` uses these endpoints.
622620
- [#112](https://github.com/plotly/dash/pull/112) 🔧 Add `id` to `KeyError` exceptions in components.
623621

624-
625622
### Fixed
626-
- ✏️ Fix a typo in an exception.
623+
- ✏️ Fix a typo in an exception.
627624
- 🔧 Replaced all illegal characters in environment variables.
628625

629626
### 🔧 Maintenance
630-
- 📝 Update README.md
631-
- Fix CircleCI tests. Note that the [`dash-renderer`](https://github.com/plotly/dash-renderer) contains the bulk of the integration tests.
627+
- 📝 Update README.md
628+
- ✅ Fix CircleCI tests. Note that the [`dash-renderer`](https://github.com/plotly/dash-renderer) contains the bulk of the integration tests.
632629
- 💄 Flake8 fixes and tests (fixes [#99](https://github.com/plotly/dash/issues/99))
633630
- ✨ Add this CHANGELOG.md.
634631

CODE_OF_CONDUCT.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai
4040

4141
## Attribution
4242

43-
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]
4444

45-
[homepage]: http://contributor-covenant.org
46-
[version]: http://contributor-covenant.org/version/1/4/
45+
[homepage]: https://contributor-covenant.org
46+
[version]: https://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ As of Dash 1.2, the renderer bundle and its peer dependencies can be packed and
4545
5. `renderer build` runs 1, 2, 3, 4 in sequence as a complete build process from scratch.
4646
6. `renderer build local` runs the same order as in 5 and also generates source maps for debugging purposes. You also need to install dash-renderer with editable mode: `pip install -e .`.
4747

48-
When a change in renderer code doesn't reflect in your browser as expected, this could be: confused bundle generation, caching issue in a browser, python package not in `editable` mode, etc. The new tool reduces the risk of bundle assets by adding the digest to help compare asset changes.
48+
When a change in renderer code doesn't reflect in your browser as expected, this could be: confused bundle generation, caching issue in a browser, Python package not in `editable` mode, etc. The new tool reduces the risk of bundle assets by adding the digest to help compare asset changes.
4949

5050
## Python 2 And 3 Compatibility
5151

5252
Writing Python 2/3 compatible code might be a challenging task for contributors used to working on one particular version, especially new learners who start directly with Python 3.
5353

54-
We use `python-future` as our tool to mainly write Python 3 code and make it back-compatible to Python 2.7 (the only Python 2 version Dash supports). Please refer to [this list of idioms](https://python-future.org/compatible_idioms.html "https://python-future.org/compatible_idioms.html") for more details on working with `python-future`.
54+
We use `python-future` as our tool to mainly write Python 3 code and make it back-compatible to Python 2.7 (the only Python 2 version Dash supports). Please refer to [this list of idioms](https://python-future.org/compatible_idioms.html "https://python-future.org/compatible_idioms.html") for more details on working with `python-future`.
5555

5656
## Git
5757

@@ -103,7 +103,7 @@ We use `flake8`, `pylint`, and [`black`](https://black.readthedocs.io/en/stable/
103103

104104
## Tests
105105

106-
Our tests use Google Chrome via Selenium. You will need to install [ChromeDriver](http://chromedriver.chromium.org/getting-started) matching the version of Chrome installed on your system. Here are some helpful tips for [Mac](https://www.kenst.com/2015/03/installing-chromedriver-on-mac-osx/) and [Windows](http://jonathansoma.com/lede/foundations-2018/classes/selenium/selenium-windows-install/).
106+
Our tests use Google Chrome via Selenium. You will need to install [ChromeDriver](https://chromedriver.chromium.org/getting-started) matching the version of Chrome installed on your system. Here are some helpful tips for [Mac](https://www.kenst.com/2015/03/installing-chromedriver-on-mac-osx/) and [Windows](http://jonathansoma.com/lede/foundations-2018/classes/selenium/selenium-windows-install/).
107107

108108
We use [pytest](https://docs.pytest.org/en/latest/) as our test automation framework, plus [jest](https://jestjs.io/) for a few renderer unit tests. You can `npm run test` to run them all, but this command simply runs `pytest` with no arguments, then `cd dash-renderer && npm run test` for the renderer unit tests.
109109

@@ -117,7 +117,7 @@ Note: *You might find out that we have more integration tests than unit tests in
117117

118118
### Integration Tests
119119

120-
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.
120+
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](https://dash.plotly.com/testing) and add relevant integration tests with any new features or bug fixes.
121121

122122
## Financial Contributions
123123

README.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
[![LGTM Alerts](https://img.shields.io/lgtm/alerts/g/plotly/dash.svg)](https://lgtm.com/projects/g/plotly/dash/alerts)
99
[![LGTM Grade](https://img.shields.io/lgtm/grade/python/g/plotly/dash.svg)](https://lgtm.com/projects/g/plotly/dash/context:python)
1010

11-
1211
#### *Dash is a Python framework for building analytical web applications. No JavaScript required*.
1312

1413
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.
@@ -17,16 +16,15 @@ Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dr
1716

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

20-
- [Dash Docs on Heroku](http://dash-docs.herokuapp.com/) (for corporate network that cannot access plotly.com)
21-
19+
- [Dash Docs on Heroku](https://dash-docs.herokuapp.com/) (for corporate network that cannot access plotly.com)
2220

2321
### App Samples
2422

2523
| App | Description |
2624
|--- | :---: |
27-
| ![Sample Dash App](https://user-images.githubusercontent.com/1280389/30086128-9bb4a28e-9267-11e7-8fe4-bbac7d53f2b0.gif) | Here’s a simple example of a Dash App that ties a Dropdown to a D3.js Plotly Graph. As the user selects a value in the Dropdown, the application code dynamically exports data from Google Finance into a Pandas DataFrame. This app was written in just **43** lines of code ([view the source](https://gist.github.com/chriddyp/3d2454905d8f01886d651f207e2419f0)). |
25+
|![Sample Dash App](https://user-images.githubusercontent.com/1280389/30086128-9bb4a28e-9267-11e7-8fe4-bbac7d53f2b0.gif) | Here’s a simple example of a Dash App that ties a Dropdown to a D3.js Plotly Graph. As the user selects a value in the Dropdown, the application code dynamically exports data from Google Finance into a Pandas DataFrame. This app was written in just **43** lines of code ([view the source](https://gist.github.com/chriddyp/3d2454905d8f01886d651f207e2419f0)). |
2826
|![Crossfiltering Dash App](https://user-images.githubusercontent.com/1280389/30086123-97c58bde-9267-11e7-98a0-7f626de5199a.gif)|Dash app code is declarative and reactive, which makes it easy to build complex apps that contain many interactive elements. Here’s an example with 5 inputs, 3 outputs, and cross filtering. This app was composed in just 160 lines of code, all of which were Python.|
29-
| ![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. |
27+
|![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. |
3028
|![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. |
3129

3230
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).
@@ -42,4 +40,3 @@ For companies with software budgets, Plotly offers
4240
See [https://plotly.com/dash/support](https://plotly.com/dash/support) for ways to get in touch.
4341

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

dash-renderer/src/actions/dependencies_ts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export const getLayoutCallbacks = (
182182
- an input is missing
183183
- an input in the initial callback chain depends only on excluded inputs
184184
185-
Further execlusion might happen after callbacks return with:
185+
Further exclusion might happen after callbacks return with:
186186
- PreventUpdate
187187
- no_update
188188
*/

dash-renderer/src/checkPropTypes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import ReactPropTypesSecret from 'prop-types/lib/ReactPropTypesSecret';
1414
* @param {string} location e.g. "prop", "context", "child context"
1515
* @param {string} componentName Name of the component for error messages.
1616
* @param {?Function} getStack Returns the component stack.
17-
* @return {string} Any error messsage resulting from checking the types
17+
* @return {string} Any error message resulting from checking the types
1818
*/
1919
export default function checkPropTypes(
2020
typeSpecs,

dash-renderer/src/observers/requestedCallbacks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ const observer: IStoreObserverDefinition<IStoreState> = {
148148
)) as IExecutingCallback[];
149149

150150
/*
151-
3. Modify or remove callbacks that are outputing to non-existing layout `id`.
151+
3. Modify or remove callbacks that are outputting to non-existing layout `id`.
152152
*/
153153

154154
const { added: rAdded, removed: rRemoved } = pruneCallbacks(requested, paths);
@@ -259,7 +259,7 @@ const observer: IStoreObserverDefinition<IStoreState> = {
259259
return false;
260260
}
261261

262-
// Get all intputs for `cb`
262+
// Get all inputs for `cb`
263263
const inputs = map(combineIdAndProp, flatten(cb.getInputs(paths)));
264264

265265
// Get all the potentially updated props for the group so far

0 commit comments

Comments
 (0)