Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Marc-André Rivet committed Oct 29, 2020
2 parents 8e64fbe + 6f01d52 commit 78b9832
Show file tree
Hide file tree
Showing 17 changed files with 610 additions and 561 deletions.
108 changes: 75 additions & 33 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,18 @@ jobs:
percy-finalize:
docker:
- image: percyio/agent
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
steps:
- run: percy finalize --all

artifacts:
docker:
- image: circleci/python:3.7.6-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python37
steps:
Expand All @@ -28,6 +34,9 @@ jobs:
working_directory: ~/dash
docker:
- image: circleci/python:3.7.6-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYLINTRC: .pylintrc37
PYVERSION: python37
Expand Down Expand Up @@ -65,6 +74,9 @@ jobs:
<<: *lint-unit
docker:
- image: circleci/python:3.6.9-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYLINTRC: .pylintrc
PYVERSION: python36
Expand All @@ -73,6 +85,9 @@ jobs:
<<: *lint-unit
docker:
- image: circleci/python:2.7.18-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYLINTRC: .pylintrc
PYVERSION: python27
Expand All @@ -81,6 +96,9 @@ jobs:
working_directory: ~/dash
docker:
- image: circleci/python:3.7.6-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python37
steps:
Expand Down Expand Up @@ -116,20 +134,29 @@ jobs:
<<: *build-core
docker:
- image: circleci/python:3.6.9-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python36

build-core-27:
<<: *build-core
docker:
- image: circleci/python:2.7.18-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python27

build-misc-37: &build-misc
working_directory: ~/dash
docker:
- image: circleci/python:3.7.6-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python37

Expand Down Expand Up @@ -166,17 +193,23 @@ jobs:
<<: *build-misc
docker:
- image: circleci/python:3.6.9-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python36

build-misc-27:
<<: *build-misc
docker:
- image: circleci/python:2.7.18-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PYVERSION: python27

build-windows-37: &build-windows
build-windows-37:
working_directory: ~/dash
executor:
name: win/default
Expand All @@ -186,37 +219,21 @@ jobs:
steps:
- checkout
- run: echo $PYVERSION > ver.txt
- restore_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requires-dev.txt" }}-{{ checksum "requires-install.txt" }}-{{ checksum "requires-testing.txt" }}
- run:
name: ️️🏗️ pip dev requirements
command: |
pip install --upgrade virtualenv
virtualenv venv
source venv/Scripts/activate
sed -i '/dash-/d' requires-install.txt
pip install -e . --no-cache-dir -r requires-install.txt -r requires-dev.txt -r requires-testing.txt --progress-bar off
- save_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requires-dev.txt" }}-{{ checksum "requires-install.txt" }}-{{ checksum "requires-testing.txt" }}
paths:
- venv
- run:
name: ️️🏗️ build core
command: |
source venv/Scripts/activate && pip install --no-cache-dir --upgrade -e . --progress-bar off && mkdir packages
pip install --no-cache-dir --upgrade -e .[dev,testing] --progress-bar off
cd dash-renderer && renderer build && python setup.py sdist && mv dist/* ../packages/ && cd ..
git clone --depth 1 https://github.com/plotly/dash-core-components.git
cd dash-core-components && npm ci && npm run build && python setup.py sdist && mv dist/* ../packages/ && cd ..
ls -la packages
- persist_to_workspace:
root: ~/dash
paths:
- packages/*.tar.gz
cd dash-core-components && npm ci && npm run build && python setup.py sdist && cd ..
build-dashr:
working_directory: ~/dashr
docker:
- image: plotly/dashr:ci
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PERCY_PARALLEL_TOTAL: -1
PYVERSION: python37
Expand Down Expand Up @@ -325,6 +342,9 @@ jobs:
working_directory: ~/dash
docker:
- image: circleci/python:3.7.6-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PERCY_PARALLEL_TOTAL: -1
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: True
Expand Down Expand Up @@ -367,6 +387,9 @@ jobs:
<<: *test
docker:
- image: circleci/python:3.6.9-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PERCY_ENABLE: 0
PYVERSION: python36
Expand All @@ -375,6 +398,9 @@ jobs:
<<: *test
docker:
- image: circleci/python:2.7.18-stretch-node-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
environment:
PERCY_ENABLE: 0
PYVERSION: python27
Expand All @@ -383,20 +409,28 @@ workflows:
version: 2
python3.7:
jobs:
- lint-unit-37
- build-core-37
- build-windows-37
- build-misc-37
- build-dashr
- lint-unit-37:
context: dash-docker-hub
- build-core-37:
context: dash-docker-hub
- build-windows-37:
context: dash-docker-hub
- build-misc-37:
context: dash-docker-hub
- build-dashr:
context: dash-docker-hub
- test-37:
context: dash-docker-hub
requires:
- build-core-37
- build-misc-37
- percy-finalize:
context: dash-docker-hub
requires:
- build-dashr
- test-37
- artifacts:
context: dash-docker-hub
requires:
- percy-finalize
filters:
Expand All @@ -409,19 +443,27 @@ workflows:

python3.6:
jobs:
- lint-unit-36
- build-core-36
- build-misc-36
- lint-unit-36:
context: dash-docker-hub
- build-core-36:
context: dash-docker-hub
- build-misc-36:
context: dash-docker-hub
- test-36:
context: dash-docker-hub
requires:
- build-core-36
- build-misc-36
python2.7:
jobs:
- lint-unit-27
- build-core-27
- build-misc-27
- lint-unit-27:
context: dash-docker-hub
- build-core-27:
context: dash-docker-hub
- build-misc-27:
context: dash-docker-hub
- test-27:
context: dash-docker-hub
requires:
- build-core-27
- build-misc-27
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ node_modules/
.npm
npm-debug*

dash_renderer/
dash_generator_test_component_standard/
dash_generator_test_component_nested/
dash_test_components/
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
All notable changes to `dash` will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).

## [1.17.0] - 2020-10-29
### Changed
- [#1442](https://github.com/plotly/dash/pull/1442) Update from React 16.13.0 to 16.14.0
### Fixed
- [#1434](https://github.com/plotly/dash/pull/1434) Fix [#1432](https://github.com/plotly/dash/issues/1432) for Julia to import non-core component packages without possible errors.

### Changed
- [#1448](https://github.com/plotly/dash/pull/1448) Provide a hint in the callback error when the user forgot to make `app.callback(...)` a decorator.

## [1.16.3] - 2020-10-07
### Fixed
- [#1426](https://github.com/plotly/dash/pull/1426) Fix a regression caused by `flask-compress==1.6.0` causing performance degradation on server requests
Expand Down
8 changes: 5 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ Glad that you decided to make your contribution in Dash, to set up your developm
$ git clone https://github.com/plotly/dash
$ cd dash
$ python3 -m venv .venv/dev
# activate the virtualenv (on windows .venv\dev\scripts\activate)
$ . .venv/dev/bin/activate
# activate the virtualenv
# on windows `.venv\dev\scripts\activate`
# on some linux / mac environments, use `.` instead of `source`
$ source .venv/dev/bin/activate
# install dash and dependencies
$ pip install -e .[testing,dev] # in some shells you need \ to escape []
$ cd dash-renderer
Expand All @@ -23,7 +25,7 @@ $ pip install -e .
# build and install components used in tests
$ cd .. # should be back in dash/ root directory
$ npm install
$ npm run setup-tests
$ npm run setup-tests.py # or npm run setup-tests.R
# you should see both dash and dash-renderer are pointed to local source repos
$ pip list | grep dash
```
Expand Down
35 changes: 27 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
[![LGTM Alerts](https://img.shields.io/lgtm/alerts/g/plotly/dash.svg)](https://lgtm.com/projects/g/plotly/dash/alerts)
[![LGTM Grade](https://img.shields.io/lgtm/grade/python/g/plotly/dash.svg)](https://lgtm.com/projects/g/plotly/dash/context:python)

#### *Dash is a Python framework for building analytical web applications. No JavaScript required*.
#### *Dash is the most downloaded, trusted Python framework for building ML & data science web apps*.

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.

Expand All @@ -18,6 +18,8 @@ Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dr

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

- [Open-Source App Gallery](https://dash-gallery.plotly.host/Portal/) With sample code and templates!

### App Samples

| App | Description |
Expand All @@ -29,14 +31,31 @@ Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dr

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
### Dash OSS & Dash Enterprise

With Dash Open Source, Dash apps run on your local laptop or workstation, but cannot be easily accessed by others in your organization.

Scale up with Dash Enterprise when your Dash app is ready for department or company-wide consumption. Or, launch your initiative with Dash Enterprise from the start to unlock developer productivity gains and hands-on acceleration from Plotly's team.

ML Ops Features: A one-stop shop for ML Ops: Horizontally scalable hosting, deployment, and authentication for your Dash apps. No IT or DevOps required.
- [**App manager**](https://plotly.com/dash/app-manager/) Deploy & manage Dash apps without needing IT or a DevOps team. App Manager gives you point & click control over all aspects of your Dash deployments.
- [**Kubernetes scaling**](https://plotly.com/dash/kubernetes/) Ensure high availability of Dash apps and scale horizontally with Dash Enterprise’s Kubernetes architecture. No IT or Helm required.
- [**No code auth**](https://plotly.com/dash/authentication/) Control Dash app access in a few clicks. Dash Enterprise supports LDAP, AD, PKI, Okta, SAML, OpenID Connect, OAuth, SSO, and simple email authentication.
- [**Job Queue**](https://plotly.com/dash/job-queue/) The Job Queue is the key to building scalable Dash apps. Move heavy computation from synchronous Dash callbacks to the Job Queue for asynchronous background processing.

Low-Code Features: Low-code Dash app capabilities that supercharge developer productivity.
- [**Design Kit**](https://plotly.com/dash/design-kit/) Design like a pro without writing a line of CSS. Easily arrange, style, brand, and customize your Dash apps.
- [**Snapshot Engine**](https://plotly.com/dash/snapshot-engine/) Save & share Dash app views as links or PDFs. Or, run a Python job through Dash and have Snapshot Engine email a report when the job is done.
- [**Dashboard Toolkit**](https://plotly.com/dash/toolkit/) Drag & drop layouts, chart editing, and crossfilter for your Dash apps.
- [**Embedding**](https://plotly.com/dash/embedding/) Natively embed Dash apps in an existing web application or website without the use of IFrames.

For companies with software budgets, Plotly offers
Enterprise AI Features: Everything that your data science team needs to rapidly deliver AI/ML research and business initiatives.
- [**AI App Marketplace**](https://plotly.com/dash/ai-and-ml-templates/) Dash Enterprise ships with dozens of Dash app templates for business problems where AI/ML is having the greatest impact.
- [**Big Data for Pything**](https://plotly.com/dash/big-data-for-python/) Connect to Python's most popular big data back ends: Dask, Databricks, NVIDIA RAPIDS, Snowflake, Postgres, Vaex, and more.
- [**GPU & Dask Acceleration**](https://plotly.com/dash/gpu-dask-acceleration/) Dash Enterprise puts Python’s most popular HPC stack for GPU and parallel CPU computing in the hands of business users.
- [**Data Science Workspaces**](https://plotly.com/dash/workspaces/) Be productive from Day 1. Write and execute Python, R, & Julia code from Dash Enterprise's onboard code editor.

- [**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://plotly.com/dash/support](https://plotly.com/dash/support) for ways to get in touch.
See [https://plotly.com/contact-us/](https://plotly.com/contact-us/) to get in touch.

![image](https://user-images.githubusercontent.com/1280389/30084008-9fbc68fc-925e-11e7-891c-18a9b8f6ac6b.png)
![image](https://images.prismic.io/plotly-marketing-website/493eec39-8467-4610-b9d0-d6ad3ea61423_Dash+Open+source%2BDash+enterprise2-01.jpg?auto=compress,format)
Loading

0 comments on commit 78b9832

Please sign in to comment.