Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' + update build artifacts
Browse files Browse the repository at this point in the history
  • Loading branch information
Marc-André Rivet committed Apr 1, 2020
2 parents 27d740d + 39bdd8a commit 9dc11a5
Show file tree
Hide file tree
Showing 100 changed files with 57,184 additions and 46,606 deletions.
24 changes: 9 additions & 15 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ jobs:
docker:
- image: circleci/python:3.7-stretch-node-browsers
environment:
PYLINTRC: .pylintrc37
PYVERSION: python37

steps:
Expand All @@ -51,20 +50,13 @@ jobs:
. venv/bin/activate
set -eo pipefail
pip install -e . --progress-bar off && pip list | grep dash
flake8 dash setup.py && flake8 --ignore=E123,E126,E501,E722,E731,F401,F841,W503,W504 --exclude=metadata_test.py tests
pylint dash setup.py --rcfile=$PYLINTRC
pylint tests/unit tests/integration/devtools tests/integration/renderer tests/integration/dash_assets -d all -e C0410,C0411,C0412,C0413,W0109
cd dash-renderer && npm ci
npm run lint:test && npm run format:test
npm install --production && npm run initialize
npm run lint
- run:
name: 🐍 Python Unit Tests
name: 🐍 Python Unit Tests & ☕ JS Unit Tests
command: |
. venv/bin/activate
PYTHONPATH=~/dash/tests/assets pytest tests/unit
- run:
name: ☕ JS Unit Tests
command: |
cd dash-renderer && npm run test:js
npm run test.unit
lint-unit-36:
<<: *lint-unit
Expand All @@ -87,6 +79,7 @@ jobs:
docker:
- image: circleci/python:3.7-stretch-node-browsers
environment:
PYLINTRC: .pylintrc37
PYVERSION: python37
steps:
- checkout
Expand Down Expand Up @@ -202,7 +195,9 @@ jobs:
- run:
name: ️️🏗️ Install packages
command: |
. venv/bin/activate && cd packages && ls -la
. venv/bin/activate
npm install --production
cd packages && ls -la
find . -name "*.gz" | xargs pip install --no-cache-dir --ignore-installed && cd ..
sed -i '/dash/d' requires-install.txt
pip install --no-cache-dir --ignore-installed .
Expand All @@ -211,8 +206,7 @@ jobs:
name: 🧪 Run Integration Tests
command: |
. venv/bin/activate
TESTFILES=$(circleci tests glob "tests/integration/**/test_*.py" | circleci tests split --split-by=timings)
pytest --headless --nopercyfinalize --junitxml=test-reports/junit_intg.xml ${TESTFILES}
npm run test.integration
- store_artifacts:
path: test-reports
- store_test_results:
Expand Down
5 changes: 5 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[flake8]
ignore = C901, E203, E266, E501, E731, W503
select = B,C,E,F,W,T4
per-file-ignores =
tests/*: E722, F811
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
custom: https://plot.ly/products/consulting-and-oem/
custom: https://plotly.com/products/consulting-and-oem/
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ assignees: ''

Thanks so much for your interest in Dash!

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 :)
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 :)

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,4 @@ node_modules/
.npm
npm-debug*

dash_renderer/
digest.json
VERSION.txt
5 changes: 5 additions & 0 deletions .huskyrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"hooks": {
"pre-commit": "npm run lint"
}
}
8 changes: 3 additions & 5 deletions .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ disable=fixme,
old-style-class,
superfluous-parens,
bad-continuation,
line-too-long


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

# Maximum number of characters on a single line.
max-line-length=100

# Maximum number of lines in a module
max-module-lines=1000

Expand Down Expand Up @@ -398,7 +396,7 @@ valid-metaclass-classmethod-first-arg=mcs
[DESIGN]

# Maximum number of arguments for function / method
max-args=10
max-args=11

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

# Exceptions that will emit a warning when being caught. Defaults to
# "Exception"
overgeneral-exceptions=Exception
overgeneral-exceptions=Exception
10 changes: 4 additions & 6 deletions .pylintrc37
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,8 @@ disable=invalid-name,
possibly-unused-variable,
too-many-lines,
too-many-statements,
bad-continuation
bad-continuation,
line-too-long

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

# Maximum number of characters on a single line.
max-line-length=100

# Maximum number of lines in a module.
max-module-lines=1000

Expand Down Expand Up @@ -497,7 +495,7 @@ valid-metaclass-classmethod-first-arg=mcs
[DESIGN]

# Maximum number of arguments for function / method.
max-args=10
max-args=11

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

# Exceptions that will emit a warning when being caught. Defaults to
# "Exception".
overgeneral-exceptions=Exception
overgeneral-exceptions=Exception
20 changes: 15 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@
All notable changes to `dash` will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [1.10.0] - 2020-04-01
### Added
- [#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

### Changed
- [#1145](https://github.com/plotly/dash/pull/1145) Update from React 16.8.6 to 16.13.0

### Fixed
- [#1142](https://github.com/plotly/dash/pull/1142) [Persistence](https://dash.plot.ly/persistence): Also persist 0, empty string etc

## [1.9.1] - 2020-02-27
### Added
- [#1133](github.com/plotly/dash/pull/1133) Allow the `compress` config variable to be set with an environment variable with DASH_COMPRESS=FALSE
Expand Down Expand Up @@ -176,7 +186,7 @@ clientside JavaScript callbacks via inline strings.
- Change `hot_reload_interval` from msec to seconds, for consistency with `hot_reload_watch_interval`
- When called from `enable_dev_tools`, `debug=True` by default. It's still `False` by default from `run_server`.

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

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

Expand Down Expand Up @@ -504,7 +514,7 @@ app = dash.Dash(...)

## 0.20.0 - 2018-01-19
### Added
- [#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.
- [#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.

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

### Fixed
- Fix a bug from 0.18.2 that removed the ability for dash to serve the app on any route besides `/`.
- 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
- 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
- Rename config setting `supress_callback_exceptions` to `suppress_callback_exceptions`. The original spelling is kept for backward compatibility.
- 🐞 (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
- 🐞 (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
- 🐞 (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.

## 0.18.2 - 2017-09-07
Expand All @@ -544,7 +554,7 @@ app = dash.Dash(...)
## 0.18.0 - 2017-09-07
### Changed
- 🔒 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
- ⚡️ 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).
- ⚡️ 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).
- [#107](https://github.com/plotly/dash/pull/107) ✏️ Sort prop names in exception messages.

### Added
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe

## Enforcement

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.
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.

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.

Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,20 +112,20 @@ Note: *You might find out that we have more integration tests than unit tests in

### Integration Tests

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.
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.

## Financial Contributions

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.

[Dash Core Components]: https://dash.plot.ly/dash-core-components
[Dash Core Components]: https://dash.plotly.com/dash-core-components
[Dash HTML Components]: https://github.com/plotly/dash-html-components
[write your own components]: https://dash.plot.ly/plugins
[write your own components]: https://dash.plotly.com/plugins
[Dash Component Boilerplate]: https://github.com/plotly/dash-component-boilerplate
[issues]: https://github.com/plotly/dash-core-components/issues
[GitHub flow]: https://guides.github.com/introduction/flow/
[semantic versioning]: https://semver.org/
[Dash Community Forum]: https://community.plot.ly/c/dash
[Get in touch]: https://plot.ly/products/consulting-and-oem
[Dash Community Forum]: https://community.plotly.com/c/dash
[Get in touch]: https://plotly.com/products/consulting-and-oem
[Documentation]: https://github.com/orgs/plotly/projects/8
[Dash Docs]: https://github.com/plotly/dash-docs
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Plotly, Inc
Copyright (c) 2020 Plotly, Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@

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.

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

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

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


### App Samples
Expand All @@ -29,17 +29,17 @@ Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dr
| ![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. |
|![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. |

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).
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).

### Contact and Support

For companies with software budgets, Plotly offers

- [**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
- [**Dash Design Kit**](https://plot.ly/products/dash/) makes your internal dashboard awesome without expertise in JavaScript & CSS.
- [**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
- [**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
- [**Dash Design Kit**](https://plotly.com/products/dash/) makes your internal dashboard awesome without expertise in JavaScript & CSS.
- [**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

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

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

3 changes: 2 additions & 1 deletion dash-renderer/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@
"no-new-wrappers": ["error"],
"no-param-reassign": ["error"],
"no-process-env": ["warn"],
"no-prototype-builtins": ["off"],
"no-proto": ["error"],
"no-redeclare": ["error"],
"no-return-assign": ["error"],
Expand Down Expand Up @@ -141,7 +142,7 @@
}],
"no-magic-numbers": ["error", {
"ignoreArrayIndexes": true,
"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25]
"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25, 200, 500]
}],
"no-underscore-dangle": ["off"],
"no-useless-escape": ["off"]
Expand Down
Loading

0 comments on commit 9dc11a5

Please sign in to comment.