Skip to content

Commit dd99c0d

Browse files
author
Shammamah Hossain
authored
Merge branch 'master' into docstring-default-values
2 parents 31210a7 + 3ea02b2 commit dd99c0d

File tree

188 files changed

+71221
-2851
lines changed

Some content is hidden

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

188 files changed

+71221
-2851
lines changed

.circleci/config.yml

Lines changed: 67 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,105 @@
11
version: 2
22

33
jobs:
4+
45
"python-2.7": &test-template
6+
working_directory: ~/dash
57
docker:
68
- image: circleci/python:2.7-stretch-node-browsers
79
environment:
8-
REQUIREMENTS_FILE: .circleci/requirements/dev-requirements.txt
910
PYLINTRC: .pylintrc
1011

1112
steps:
1213
- checkout
1314

1415
- run:
15-
name: Write deps cache key
16-
command: cat "$REQUIREMENTS_FILE" > reqs.txt
16+
name: ℹ️ CI Context
17+
command: |
18+
echo "TRIGGERER: ${CIRCLE_USERNAME}"
19+
echo "BUILD_NUMBER: ${CIRCLE_BUILD_NUM}"
20+
echo "BUILD_URL: ${CIRCLE_BUILD_URL}"
21+
echo "BRANCH: ${CIRCLE_BRANCH}"
22+
echo "RUNNING JOB: ${CIRCLE_JOB}"
23+
echo "JOB PARALLELISM: ${CIRCLE_NODE_TOTAL}"
24+
echo "CIRCLE_REPOSITORY_URL: ${CIRCLE_REPOSITORY_URL}"
25+
echo $CIRCLE_JOB > circlejob.txt
1726
27+
- restore_cache:
28+
key: v-{{ checksum "circlejob.txt" }}-{{ checksum "requires-ci.txt" }}-{{ checksum "requires-install.txt" }}
1829
- run:
19-
name: Write job name
20-
command: echo $CIRCLE_JOB > circlejob.txt
30+
name: 🚧 pip dev requirements
31+
command: |
32+
sudo pip install --upgrade virtualenv
33+
python -m venv venv || virtualenv venv
34+
. venv/bin/activate
35+
pip install -r requires-install.txt -r requires-ci.txt --quiet
36+
- save_cache:
37+
key: v-{{ checksum "circlejob.txt" }}-{{ checksum "requires-ci.txt" }}-{{ checksum "requires-install.txt" }}
38+
paths:
39+
- "venv"
2140

2241
- run:
23-
name: Install dependencies
42+
name: 🌸 linting
2443
command: |
25-
sudo pip install virtualenv
26-
virtualenv venv
27-
. venv/bin/activate
28-
pip install -r $REQUIREMENTS_FILE --force-reinstall
44+
. venv/bin/activate
45+
pip install -e .[ci] --quiet
46+
pip list | grep dash
47+
flake8 dash setup.py
48+
flake8 --ignore=E123,E126,E501,E722,E731,F401,F841,W503,W504 --exclude=metadata_test.py tests
49+
pylint dash setup.py --rcfile=$PYLINTRC
50+
pylint tests/unit tests/integration/devtools tests/integration/renderer tests/integration/dash_assets -d all -e C0410,C0411,C0412,C0413,W0109
51+
cd dash-renderer && npm install --ignore-scripts && npm run lint:test && npm run format:test
52+
53+
- run:
54+
name: ⛑ Run unit tests
55+
command: |
56+
. venv/bin/activate
57+
mkdir test-reports
58+
PYTHONPATH=~/dash/tests/assets pytest --junitxml=test-reports/junit.xml tests/unit
59+
- store_test_results:
60+
path: test-reports
61+
- store_artifacts:
62+
path: test-reports
2963

3064
- run:
31-
name: Install dependencies (dash)
65+
name: 🚧 build renderer
3266
command: |
33-
git clone [email protected]:plotly/dash-renderer.git
34-
git clone [email protected]:plotly/dash-core-components.git
35-
git clone [email protected]:plotly/dash-html-components.git
36-
git clone [email protected]:plotly/dash-table.git
3767
. venv/bin/activate
68+
cd dash-renderer
69+
npm install --ignore-scripts && npm run build:dev && npm run build
3870
pip install -e . --quiet
39-
cd dash-renderer && npm install --ignore-scripts && npm run build && pip install -e . && cd ..
71+
72+
- run:
73+
name: 🚧 install dependencies from latest master commit
74+
command: |
75+
git clone --depth 1 https://github.com/plotly/dash-core-components.git
76+
git clone --depth 1 https://github.com/plotly/dash-html-components.git
77+
git clone --depth 1 https://github.com/plotly/dash-table.git
78+
git clone --depth 1 https://github.com/plotly/dash-renderer-test-components
79+
. venv/bin/activate
4080
cd dash-core-components && npm install --ignore-scripts && npm run build && pip install -e . && cd ..
4181
cd dash-html-components && npm install --ignore-scripts && npm run build && pip install -e . && cd ..
4282
cd dash-table && npm install --ignore-scripts && npm run build && pip install -e . && cd ..
83+
cd dash-renderer-test-components && npm install --ignore-scripts && npm run build:all && pip install -e . && cd ..
4384
4485
- run:
45-
name: Run tests
86+
name: ⚙️ run integration test
4687
command: |
47-
. venv/bin/activate
48-
python --version
49-
./test.sh
88+
. venv/bin/activate
89+
pytest --junitxml=test-reports/junit_intg.xml tests/integration/
90+
- store_artifacts:
91+
path: test-reports
92+
- store_test_results:
93+
path: test-reports
94+
- store_artifacts:
95+
path: /tmp/dash_artifacts
96+
5097

5198
"python-3.6":
5299
<<: *test-template
53100
docker:
54101
- image: circleci/python:3.6-stretch-node-browsers
55102
environment:
56-
REQUIREMENTS_FILE: .circleci/requirements/dev-requirements.txt
57103
PYLINTRC: .pylintrc
58104
PERCY_ENABLE: 0
59105

@@ -62,7 +108,6 @@ jobs:
62108
docker:
63109
- image: circleci/python:3.7-stretch-node-browsers
64110
environment:
65-
REQUIREMENTS_FILE: .circleci/requirements/dev-requirements-py37.txt
66111
PYLINTRC: .pylintrc37
67112
PERCY_ENABLE: 0
68113

.circleci/requirements/dev-requirements-py37.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

.circleci/requirements/dev-requirements.txt

Lines changed: 0 additions & 12 deletions
This file was deleted.

.github/CODEOWNERS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# These owners will be the default owners for everything in
2+
# the repo. Unless a later match takes precedence
3+
* @alexcjohnson @byronz @Marc-Andre-Rivet
4+
5+
tests/* @byronz
6+
7+
*.js @Marc-Andre-Rivet @alexcjohnson
8+
9+
_r_* @rpkyle
10+
11+
*.md @alexcjohnson
12+
13+
*.py @alexcjohnson @byronz
14+
15+
16+

.github/FUNDING.yml

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

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG]"
5+
labels: 'Type: Bug'
6+
assignees: ''
7+
8+
---
9+
10+
Thank you so much for helping improve the quality of Dash!
11+
12+
We do our best to catch bugs during the release process, but we rely on your help to find the ones that slip through.
13+
14+
15+
**Describe your context**
16+
Please provide us your environment so we can easily reproduce the issue.
17+
18+
- replace the result of `pip list | grep dash` below
19+
```
20+
dash 0.42.0
21+
dash-core-components 0.47.0
22+
dash-html-components 0.16.0
23+
dash-renderer 0.23.0
24+
dash-table 3.6.0
25+
```
26+
- if frontend related, tell us your Browser, Version and OS
27+
28+
- OS: [e.g. iOS]
29+
- Browser [e.g. chrome, safari]
30+
- Version [e.g. 22]
31+
32+
**Describe the bug**
33+
34+
A clear and concise description of what the bug is.
35+
36+
**Expected behavior**
37+
38+
A clear and concise description of what you expected to happen.
39+
40+
**Screenshots**
41+
42+
If applicable, add screenshots or screen recording to help explain your problem.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: "[Feature Request]"
5+
labels: 'Type: Enhancement'
6+
assignees: ''
7+
8+
---
9+
10+
Thanks so much for your interest in Dash!
11+
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 :)
13+
14+
**Is your feature request related to a problem? Please describe.**
15+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
16+
17+
**Describe the solution you'd like**
18+
A clear and concise description of what you want to happen.
19+
20+
**Describe alternatives you've considered**
21+
A clear and concise description of any alternative solutions or features you've considered.
22+
23+
**Additional context**
24+
Add any other context or screenshots about the feature request here.

.github/pull_request_template.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
*Start with a description of this PR. Then edit the list below to the items that make sense for your PR scope, and check off the boxes as you go!*
2+
3+
## Contributor Checklist
4+
5+
- [ ] I have broken down my PR scope into the following TODO tasks
6+
- [ ] task 1
7+
- [ ] task 2
8+
- [ ] I have run the tests locally and they passed. (refer to testing section in [contributing](../CONTRIBUTING.md))
9+
- [ ] I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR
10+
11+
### optionals
12+
13+
- [ ] I have added entry in the `CHANGELOG.md`
14+
- [ ] If this PR needs a follow-up in **dash docs**, **community thread**, I have mentioned the relevant URLS as follow
15+
- [ ] this github [#PR number]() updates the dash docs
16+
- [ ] here is the show and tell thread in plotly dash community

.gitignore

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,67 @@
1-
*.pyc
21
*.ipynb_notebooks
32
*.ipynb
3+
44
ignore
5-
*~
6-
venv
5+
*.csv
6+
*.log
7+
.DS_Store
8+
9+
# Environments
10+
.env
11+
.venv
12+
env/
13+
venv/
14+
ENV/
15+
env.bak/
16+
venv.bak/
17+
18+
# IDE
19+
.idea/*
20+
.vscode/*
21+
22+
# Byte-compiled / optimized / DLL files
23+
__pycache__/
24+
*.py[cod]
25+
*$py.class
26+
.mypy_cache/
27+
28+
# Unit test / coverage reports
29+
htmlcov/
30+
.tox/
31+
.nox/
32+
.coverage
33+
.coverage.*
34+
.cache
35+
nosetests.xml
36+
coverage.xml
37+
*.cover
38+
.hypothesis/
39+
.pytest_cache/
40+
41+
# Distribution / packaging
42+
.Python
743
build/
44+
develop-eggs/
845
dist/
46+
downloads/
47+
eggs/
48+
.eggs/
949
lib/
50+
lib64/
51+
parts/
52+
sdist/
53+
var/
54+
wheels/
55+
pip-wheel-metadata/
56+
share/python-wheels/
57+
*.egg-info/
58+
.installed.cfg
59+
*.egg
60+
MANIFEST
1061
node_modules/
1162
.npm
12-
vv/
13-
venv/
14-
*.pyc
15-
*.egg-info
16-
*.log
17-
.DS_Store
18-
dist
19-
*egg-info*
2063
npm-debug*
21-
/.tox
22-
.idea
23-
.mypy_cache/
64+
65+
dash_renderer/bundle.js
66+
dash_renderer/bundle.js.map
67+

.pylintrc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ disable=fixme,
5959
invalid-name,
6060
too-many-lines,
6161
old-style-class,
62-
superfluous-parens
62+
superfluous-parens,
63+
bad-continuation,
64+
6365

6466
# Enable the message, report, category or checker with the given id(s). You can
6567
# either give multiple identifier separated by comma (,) or put this option
@@ -399,7 +401,7 @@ valid-metaclass-classmethod-first-arg=mcs
399401
max-args=5
400402

401403
# Maximum number of attributes for a class (see R0902).
402-
max-attributes=7
404+
max-attributes=20
403405

404406
# Maximum number of boolean expressions in a if statement
405407
max-bool-expr=5
@@ -414,7 +416,7 @@ max-locals=15
414416
max-parents=7
415417

416418
# Maximum number of public methods for a class (see R0904).
417-
max-public-methods=20
419+
max-public-methods=40
418420

419421
# Maximum number of return / yield for function / method body
420422
max-returns=6

0 commit comments

Comments
 (0)