diff --git a/.circleci/config.yml b/.circleci/config.yml index 25b0fdcc43..6fff0fdc6b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,13 +49,13 @@ jobs: name: 🏁 Build Component Packages & Update Dependencies/Artifacts command: | python -m venv venv && . venv/bin/activate - pip install --upgrade pip wheel setuptools + pip install --upgrade pip set -eo pipefail pip install -e .[ci,dev,testing,celery,diskcache] --progress-bar off pip list | grep dash npm ci npm run build.sequential - python setup.py sdist + python -m build mkdir dash-package && cp dist/*.tar.gz dash-package/dash-package.tar.gz ls -la dash-package no_output_timeout: 30m @@ -159,13 +159,13 @@ jobs: name: npm prereqs command: | npm ci - cd dash/dash-renderer && npm i && cd ../../ + cd src/dash/dash-renderer && npm i && cd ../../../ cd components/dash-html-components && npm i && npm run extract && cd ../../ - run: name: ️️🏗️ build dash command: | . venv/Scripts/activate - npm run private::build.jupyterlab && npm run private::build.renderer && python dash/development/update_components.py 'dash-html-components' + npm run private::build.jupyterlab && npm run private::build.renderer && python src/dash/development/update_components.py 'dash-html-components' no_output_timeout: 30m test-312: &test diff --git a/.flake8 b/.flake8 index 163d5bd88a..1222915794 100644 --- a/.flake8 +++ b/.flake8 @@ -3,4 +3,4 @@ ignore = C901, E203, E266, E501, E731, W503 select = B,C,E,F,W,T4 per-file-ignores = tests/*: E722, F811 - dash/html/I.py: E742 + src/dash/html/I.py: E742 diff --git a/.gitignore b/.gitignore index bcfe7ce877..bfff5a38d0 100644 --- a/.gitignore +++ b/.gitignore @@ -42,13 +42,13 @@ coverage.xml # Distribution / packaging .Python build/ -dash/deps/ -dash/html/* -!dash/html/.gitkeep -dash/dcc/* -!dash/dcc/.gitkeep -dash/dash_table/* -!dash/dash_table/.gitkeep +src/dash/deps/ +src/dash/html/* +!src/dash/html/.gitkeep +src/dash/dcc/* +!src/dash/dcc/.gitkeep +src/dash/dash_table/* +!src/dash/dash_table/.gitkeep develop-eggs/ dist/ downloads/ diff --git a/.pylintrc b/.pylintrc index c2330d844b..b626177156 100644 --- a/.pylintrc +++ b/.pylintrc @@ -15,9 +15,9 @@ ignore-patterns= # Add files or directories matching the regex patterns to the ignore-list. # The regex matches against paths. -ignore-paths=^dash/dcc/.*$, - ^dash/html/.*$, - ^dash/dash_table/.*$ +ignore-paths=^src/dash/dcc/.*$, + ^src/dash/html/.*$, + ^src/dash/dash_table/.*$ # Python code to execute, usually for sys.path manipulation such as # pygtk.require(). diff --git a/@plotly/dash-generator-test-component-typescript/generator.test.ts b/@plotly/dash-generator-test-component-typescript/generator.test.ts index b8c390a574..54de5f4d26 100644 --- a/@plotly/dash-generator-test-component-typescript/generator.test.ts +++ b/@plotly/dash-generator-test-component-typescript/generator.test.ts @@ -7,7 +7,7 @@ function getMetadata() { const cp = child_process.spawn( process.execPath, [ - path.resolve(__dirname, '..', '..', 'dash', 'extract-meta.js'), + path.resolve(__dirname, '..', '..', 'src', 'dash', 'extract-meta.js'), '""', // ignore pattern '^_.*$', // reserved keywords path.join(__dirname, 'src', 'components') diff --git a/@plotly/dash-jupyterlab/package.json b/@plotly/dash-jupyterlab/package.json index 330eaf0954..154ef03c12 100644 --- a/@plotly/dash-jupyterlab/package.json +++ b/@plotly/dash-jupyterlab/package.json @@ -25,10 +25,10 @@ }, "scripts": { "build": "tsc", - "build:pack": "jlpm run prepare && jlpm pack --filename ../../dash/labextension/dist/dash-jupyterlab.tgz && jlpm run build:copy", - "build:copy": "cp package.json ../../dash/labextension/dist/package.json", + "build:pack": "jlpm run prepare && jlpm pack --filename ../../src/dash/labextension/dist/dash-jupyterlab.tgz && jlpm run build:copy", + "build:copy": "cp package.json ../../src/dash/labextension/dist/package.json", "clean": "rimraf lib", - "prepare": "mkdirp ../../dash/labextension/dist && jlpm run clean && jlpm run build", + "prepare": "mkdirp ../../src/dash/labextension/dist && jlpm run clean && jlpm run build", "prettier": "prettier --write '{!(package),src/**,!(lib)/**}{.js,.jsx,.ts,.tsx,.css,.json,.md}'", "watch": "tsc -w" }, diff --git a/MAKE_A_NEW_BACK_END.md b/MAKE_A_NEW_BACK_END.md index c6f17ae47d..a6f3137a60 100644 --- a/MAKE_A_NEW_BACK_END.md +++ b/MAKE_A_NEW_BACK_END.md @@ -17,7 +17,7 @@ We also include a couple of files that are only used to generate the components: Then we also have Python files. Most of these are generated directly from `metadata.json` - for example `Checklist.py` is a class definition corresponding to the Checklist React component, and if you look inside it you’ll see it inherits from the `dash.development.base_component.Component` class, it has a docstring listing all props and their types in Python notation (instead of “array of objects”, it says “list of dicts”), and it has a constructor that ensures you can only create it with appropriate props. Then there are some Python files that are NOT generated, but copied from https://github.com/plotly/dash-core-components/tree/master/dash_core_components_base - `__init__.py` collects all the component classes and explicitly lists all the browser assets in `_js_dist` and possibly `_css_dist`. -Each back end must have a way to generate its own wrappers for these React components. The Python wrappers are generated source code files as described above, created by [`_py_components_generation.py`](https://github.com/plotly/dash/blob/dev/dash/development/_py_components_generation.py) - other languages may choose to either generate files, or create precompiled objects of some sort, but the key requirements are: +Each back end must have a way to generate its own wrappers for these React components. The Python wrappers are generated source code files as described above, created by [`_py_components_generation.py`](https://github.com/plotly/dash/blob/dev/src/dash/development/_py_components_generation.py) - other languages may choose to either generate files, or create precompiled objects of some sort, but the key requirements are: - Provide a natural way for users of this language to create components as data structures, keeping in mind that components may be nested inside the children prop of some other components, and most props are optional. - To the extent that we can help users with built-in documentation and IDE auto-completion, we should try to do that. - When requested by the framework, the component must serialize to JSON. This looks like: diff --git a/MANIFEST.in b/MANIFEST.in index 960033c813..6945f54f54 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,14 +1,14 @@ include README.md include LICENSE include requires-*.txt -include dash/favicon.ico -include dash/extract-meta.js -include dash/deps/*.js -include dash/deps/*.map -include dash/dcc/* -include dash/html/* -include dash/dash_table/* -include dash/dash-renderer/build/*.js -include dash/dash-renderer/build/*.map -include dash/labextension/dist/dash-jupyterlab.tgz -include dash/labextension/package.json +include src/dash/favicon.ico +include src/dash/extract-meta.js +include src/dash/deps/*.js +include src/dash/deps/*.map +include src/dash/dcc/* +include src/dash/html/* +include src/dash/dash_table/* +include src/dash/dash-renderer/build/*.js +include src/dash/dash-renderer/build/*.map +include src/dash/labextension/dist/dash-jupyterlab.tgz +include src/dash/labextension/package.json diff --git a/package.json b/package.json index a6caee53a3..40ede6d8c9 100644 --- a/package.json +++ b/package.json @@ -3,19 +3,19 @@ "license": "UNLICENSED", "scripts": { "private::format.black": "black dash tests --exclude metadata_test.py", - "private::format.renderer": "cd dash/dash-renderer && npm run format", + "private::format.renderer": "cd src/dash/dash-renderer && npm run format", "private::format.dcc": "cd components/dash-core-components && npm run format", - "private::initialize.renderer": "cd dash/dash-renderer && npm ci", - "private::cibuild.components": "python dash/development/update_components.py 'all' --ci True", - "private::build.components": "python dash/development/update_components.py 'all'", - "private::cibuild.renderer": "cd dash/dash-renderer && renderer build", - "private::build.renderer": "cd dash/dash-renderer && renderer build", + "private::initialize.renderer": "cd src/dash/dash-renderer && npm ci", + "private::cibuild.components": "python src/dash/development/update_components.py 'all' --ci True", + "private::build.components": "python src/dash/development/update_components.py 'all'", + "private::cibuild.renderer": "cd src/dash/dash-renderer && renderer build", + "private::build.renderer": "cd src/dash/dash-renderer && renderer build", "private::build.jupyterlab": "cd @plotly/dash-jupyterlab && jlpm install && jlpm build:pack", - "private::lint.black": "black dash tests --exclude metadata_test.py --check", - "private::lint.flake8": "flake8 --exclude=metadata_test.py dash tests", - "private::lint.pylint-dash": "pylint dash setup.py --rcfile=.pylintrc", + "private::lint.black": "black src tests --exclude metadata_test.py --check", + "private::lint.flake8": "flake8 --exclude=metadata_test.py src tests", + "private::lint.pylint-dash": "pylint src --rcfile=.pylintrc", "private::lint.pylint-tests": "pylint tests/unit tests/integration -d all -e C0410,C0413,W0109 --rcfile=.pylintrc", - "private::lint.renderer": "cd dash/dash-renderer && npm run lint", + "private::lint.renderer": "cd src/dash/dash-renderer && npm run lint", "private::test.setup-components": "cd @plotly/dash-test-components && npm ci && npm run build", "private::test.setup-nested": "cd @plotly/dash-generator-test-component-nested && npm ci && npm run build", "private::test.setup-standard": "cd @plotly/dash-generator-test-component-standard && npm ci && npm run build", @@ -28,7 +28,7 @@ "private::test.R.deploy-nested": "npm run private::test.setup-nested && cd @plotly/dash-generator-test-component-nested && sudo R CMD INSTALL .", "private::test.R.deploy-standard": "npm run private::test.setup-standard && cd @plotly/dash-generator-test-component-standard && sudo R CMD INSTALL .", "private::test.unit-dash": "pytest tests/unit", - "private::test.unit-renderer": "cd dash/dash-renderer && npm run test", + "private::test.unit-renderer": "cd src/dash/dash-renderer && npm run test", "private::test.unit-generation": "cd @plotly/dash-generator-test-component-typescript && npm ci && npm test", "private::test.integration-dash": "TESTFILES=$(circleci tests glob \"tests/integration/**/test_*.py\" | circleci tests split --split-by=timings) && pytest --headless --nopercyfinalize --junitxml=test-reports/junit_intg.xml ${TESTFILES}", "private::test.integration-dash-import": "cd tests/integration/dash && python dash_import_test.py", @@ -43,8 +43,8 @@ "setup-tests.R": "run-s private::test.R.deploy-*", "citest.integration": "run-s setup-tests.py private::test.integration-*", "citest.unit": "run-s private::test.unit-**", - "test": "pytest && cd dash/dash-renderer && npm run test", - "first-build": "cd dash/dash-renderer && npm i && cd ../../ && cd components/dash-html-components && npm i && npm run extract && cd ../../ && npm run build" + "test": "pytest && cd src/dash/dash-renderer && npm run test", + "first-build": "cd src/dash/dash-renderer && npm i && cd ../../ && cd components/dash-html-components && npm i && npm run extract && cd ../../ && npm run build" }, "devDependencies": { "@lerna/filter-options": "^6.4.1", diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..3aacca2d25 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,81 @@ +[build-system] +requires = ["setuptools>=61.2"] +build-backend = "setuptools.build_meta" + +[project] +name = "dash" +authors = [{name = "Chris Parmer", email = "chris@plotly.com"}] +license = {text = "MIT"} +description = "A Python framework for building reactive web-apps. Developed by Plotly." +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Web Environment", + "Framework :: Dash", + "Framework :: Flask", + "Intended Audience :: Developers", + "Intended Audience :: Education", + "Intended Audience :: Financial and Insurance Industry", + "Intended Audience :: Healthcare Industry", + "Intended Audience :: Manufacturing", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Database :: Front-Ends", + "Topic :: Office/Business :: Financial :: Spreadsheet", + "Topic :: Scientific/Engineering :: Visualization", + "Topic :: Software Development :: Libraries :: Application Frameworks", + "Topic :: Software Development :: Widget Sets", +] +requires-python = ">=3.8" +dynamic = ["version", "dependencies", "optional-dependencies"] + +[project.readme] +file = "README.md" +content-type = "text/markdown" + +[project.urls] +Homepage = "https://plotly.com/dash" +Documentation = "https://dash.plotly.com" +Source = "https://github.com/plotly/dash" +"Issue Tracker" = "https://github.com/plotly/dash/issues" + +[project.entry-points] +pytest11 = {dash = "dash.testing.plugin"} + +[project.scripts] +dash-generate-components = "dash.development.component_generator:cli" +renderer = "dash.development.build_process:renderer" +dash-update-components = "dash.development.update_components:cli" + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.dynamic] +version = {attr = "dash.version.__version__"} +dependencies = { file = "requires-install.txt"} + +[tool.setuptools.dynamic.optional-dependencies] +ci = { file = "requires-ci.txt" } +dev = { file = "requires-dev.txt" } +testing = { file = "requires-testing.txt" } +celery = { file = "requires-celery.txt" } +diskcache = { file = "requires-diskcache.txt" } +compress = { file = "requires-compress.txt" } + +[tool.setuptools.packages.find] +namespaces = false +where = ["src"] + +[tool.setuptools.data-files] +# like `jupyter nbextension install --sys-prefix` +"share/jupyter/nbextensions/dash" = ["src/dash/nbextension/main.js"] +# like `jupyter nbextension enable --sys-prefix` +"etc/jupyter/nbconfig/notebook.d" = ["src/dash/nbextension/dash.json"] +# Place jupyterlab extension in extension directory +"share/jupyter/lab/extensions" = ["src/dash/labextension/dist/dash-jupyterlab.tgz"] diff --git a/requires-ci.txt b/requires-ci.txt index baef694377..b37e6da0d3 100644 --- a/requires-ci.txt +++ b/requires-ci.txt @@ -19,3 +19,4 @@ pyzmq==25.1.2 xlrd>=2.0.1 pytest-rerunfailures jupyterlab<4.0.0 +build==1.0.3 diff --git a/setup.py b/setup.py deleted file mode 100644 index 940d128e59..0000000000 --- a/setup.py +++ /dev/null @@ -1,92 +0,0 @@ -import io -from setuptools import setup, find_packages - -main_ns = {} -exec(open("dash/version.py", encoding="utf-8").read(), main_ns) # pylint: disable=exec-used, consider-using-with - - -def read_req_file(req_type): - with open(f"requires-{req_type}.txt", encoding="utf-8") as fp: - requires = (line.strip() for line in fp) - return [req for req in requires if req and not req.startswith("#")] - - -setup( - name="dash", - version=main_ns["__version__"], - author="Chris Parmer", - author_email="chris@plotly.com", - packages=find_packages(exclude=["tests*"]), - include_package_data=True, - license="MIT", - description=( - "A Python framework for building reactive web-apps. " - "Developed by Plotly." - ), - long_description=io.open("README.md", encoding="utf-8").read(), # pylint: disable=consider-using-with - long_description_content_type="text/markdown", - install_requires=read_req_file("install"), - python_requires=">=3.8", - extras_require={ - "ci": read_req_file("ci"), - "dev": read_req_file("dev"), - "testing": read_req_file("testing"), - "celery": read_req_file("celery"), - "diskcache": read_req_file("diskcache"), - "compress": read_req_file("compress") - }, - entry_points={ - "console_scripts": [ - "dash-generate-components = " - "dash.development.component_generator:cli", - "renderer = dash.development.build_process:renderer", - "dash-update-components = dash.development.update_components:cli" - ], - "pytest11": ["dash = dash.testing.plugin"], - }, - url="https://plotly.com/dash", - project_urls={ - "Documentation": "https://dash.plotly.com", - "Source": "https://github.com/plotly/dash", - "Issue Tracker": "https://github.com/plotly/dash/issues", - }, - classifiers=[ - "Development Status :: 5 - Production/Stable", - "Environment :: Web Environment", - "Framework :: Dash", - "Framework :: Flask", - "Intended Audience :: Developers", - "Intended Audience :: Education", - "Intended Audience :: Financial and Insurance Industry", - "Intended Audience :: Healthcare Industry", - "Intended Audience :: Manufacturing", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Topic :: Database :: Front-Ends", - "Topic :: Office/Business :: Financial :: Spreadsheet", - "Topic :: Scientific/Engineering :: Visualization", - "Topic :: Software Development :: Libraries :: Application Frameworks", - "Topic :: Software Development :: Widget Sets", - ], - data_files=[ - # like `jupyter nbextension install --sys-prefix` - ("share/jupyter/nbextensions/dash", [ - "dash/nbextension/main.js", - ]), - # like `jupyter nbextension enable --sys-prefix` - ("etc/jupyter/nbconfig/notebook.d", [ - "dash/nbextension/dash.json" - ]), - # Place jupyterlab extension in extension directory - ("share/jupyter/lab/extensions", [ - "dash/labextension/dist/dash-jupyterlab.tgz" - ]), - ], -) diff --git a/dash/__init__.py b/src/dash/__init__.py similarity index 100% rename from dash/__init__.py rename to src/dash/__init__.py diff --git a/dash/_callback.py b/src/dash/_callback.py similarity index 100% rename from dash/_callback.py rename to src/dash/_callback.py diff --git a/dash/_callback_context.py b/src/dash/_callback_context.py similarity index 100% rename from dash/_callback_context.py rename to src/dash/_callback_context.py diff --git a/dash/_configs.py b/src/dash/_configs.py similarity index 100% rename from dash/_configs.py rename to src/dash/_configs.py diff --git a/dash/_dash_renderer.py b/src/dash/_dash_renderer.py similarity index 100% rename from dash/_dash_renderer.py rename to src/dash/_dash_renderer.py diff --git a/dash/_get_app.py b/src/dash/_get_app.py similarity index 100% rename from dash/_get_app.py rename to src/dash/_get_app.py diff --git a/dash/_get_paths.py b/src/dash/_get_paths.py similarity index 100% rename from dash/_get_paths.py rename to src/dash/_get_paths.py diff --git a/dash/_grouping.py b/src/dash/_grouping.py similarity index 100% rename from dash/_grouping.py rename to src/dash/_grouping.py diff --git a/dash/_jupyter.py b/src/dash/_jupyter.py similarity index 100% rename from dash/_jupyter.py rename to src/dash/_jupyter.py diff --git a/dash/_pages.py b/src/dash/_pages.py similarity index 100% rename from dash/_pages.py rename to src/dash/_pages.py diff --git a/dash/_patch.py b/src/dash/_patch.py similarity index 100% rename from dash/_patch.py rename to src/dash/_patch.py diff --git a/dash/_utils.py b/src/dash/_utils.py similarity index 100% rename from dash/_utils.py rename to src/dash/_utils.py diff --git a/dash/_validate.py b/src/dash/_validate.py similarity index 100% rename from dash/_validate.py rename to src/dash/_validate.py diff --git a/dash/_watch.py b/src/dash/_watch.py similarity index 100% rename from dash/_watch.py rename to src/dash/_watch.py diff --git a/dash/dash-renderer/.eslintignore b/src/dash/dash-renderer/.eslintignore similarity index 100% rename from dash/dash-renderer/.eslintignore rename to src/dash/dash-renderer/.eslintignore diff --git a/dash/dash-renderer/.eslintrc.js b/src/dash/dash-renderer/.eslintrc.js similarity index 100% rename from dash/dash-renderer/.eslintrc.js rename to src/dash/dash-renderer/.eslintrc.js diff --git a/dash/dash-renderer/.npmignore b/src/dash/dash-renderer/.npmignore similarity index 100% rename from dash/dash-renderer/.npmignore rename to src/dash/dash-renderer/.npmignore diff --git a/dash/dash-renderer/@Types/modules.d.ts b/src/dash/dash-renderer/@Types/modules.d.ts similarity index 100% rename from dash/dash-renderer/@Types/modules.d.ts rename to src/dash/dash-renderer/@Types/modules.d.ts diff --git a/dash/dash-renderer/MANIFEST.in b/src/dash/dash-renderer/MANIFEST.in similarity index 100% rename from dash/dash-renderer/MANIFEST.in rename to src/dash/dash-renderer/MANIFEST.in diff --git a/dash/dash-renderer/babel.config.js b/src/dash/dash-renderer/babel.config.js similarity index 100% rename from dash/dash-renderer/babel.config.js rename to src/dash/dash-renderer/babel.config.js diff --git a/dash/dash-renderer/config/eslint/eslintrc-node.json b/src/dash/dash-renderer/config/eslint/eslintrc-node.json similarity index 100% rename from dash/dash-renderer/config/eslint/eslintrc-node.json rename to src/dash/dash-renderer/config/eslint/eslintrc-node.json diff --git a/dash/dash-renderer/index.html b/src/dash/dash-renderer/index.html similarity index 100% rename from dash/dash-renderer/index.html rename to src/dash/dash-renderer/index.html diff --git a/dash/dash-renderer/init.template b/src/dash/dash-renderer/init.template similarity index 100% rename from dash/dash-renderer/init.template rename to src/dash/dash-renderer/init.template diff --git a/dash/dash-renderer/karma.conf.js b/src/dash/dash-renderer/karma.conf.js similarity index 100% rename from dash/dash-renderer/karma.conf.js rename to src/dash/dash-renderer/karma.conf.js diff --git a/dash/dash-renderer/package-lock.json b/src/dash/dash-renderer/package-lock.json similarity index 100% rename from dash/dash-renderer/package-lock.json rename to src/dash/dash-renderer/package-lock.json diff --git a/dash/dash-renderer/package.json b/src/dash/dash-renderer/package.json similarity index 100% rename from dash/dash-renderer/package.json rename to src/dash/dash-renderer/package.json diff --git a/dash/dash-renderer/setup.py b/src/dash/dash-renderer/setup.py similarity index 90% rename from dash/dash-renderer/setup.py rename to src/dash/dash-renderer/setup.py index 1d9a861688..604e77364d 100644 --- a/dash/dash-renderer/setup.py +++ b/src/dash/dash-renderer/setup.py @@ -1,7 +1,7 @@ import json from setuptools import setup -with open("package.json") as fp: +with open("package.json", "rb") as fp: package = json.load(fp) setup( diff --git a/dash/dash-renderer/src/APIController.react.js b/src/dash/dash-renderer/src/APIController.react.js similarity index 100% rename from dash/dash-renderer/src/APIController.react.js rename to src/dash/dash-renderer/src/APIController.react.js diff --git a/dash/dash-renderer/src/AccessDenied.react.js b/src/dash/dash-renderer/src/AccessDenied.react.js similarity index 100% rename from dash/dash-renderer/src/AccessDenied.react.js rename to src/dash/dash-renderer/src/AccessDenied.react.js diff --git a/dash/dash-renderer/src/AppContainer.react.js b/src/dash/dash-renderer/src/AppContainer.react.js similarity index 100% rename from dash/dash-renderer/src/AppContainer.react.js rename to src/dash/dash-renderer/src/AppContainer.react.js diff --git a/dash/dash-renderer/src/AppProvider.react.tsx b/src/dash/dash-renderer/src/AppProvider.react.tsx similarity index 100% rename from dash/dash-renderer/src/AppProvider.react.tsx rename to src/dash/dash-renderer/src/AppProvider.react.tsx diff --git a/dash/dash-renderer/src/DashRenderer.js b/src/dash/dash-renderer/src/DashRenderer.js similarity index 100% rename from dash/dash-renderer/src/DashRenderer.js rename to src/dash/dash-renderer/src/DashRenderer.js diff --git a/dash/dash-renderer/src/StoreObserver.ts b/src/dash/dash-renderer/src/StoreObserver.ts similarity index 100% rename from dash/dash-renderer/src/StoreObserver.ts rename to src/dash/dash-renderer/src/StoreObserver.ts diff --git a/dash/dash-renderer/src/TreeContainer.js b/src/dash/dash-renderer/src/TreeContainer.js similarity index 100% rename from dash/dash-renderer/src/TreeContainer.js rename to src/dash/dash-renderer/src/TreeContainer.js diff --git a/dash/dash-renderer/src/actions/api.js b/src/dash/dash-renderer/src/actions/api.js similarity index 100% rename from dash/dash-renderer/src/actions/api.js rename to src/dash/dash-renderer/src/actions/api.js diff --git a/dash/dash-renderer/src/actions/callbacks.ts b/src/dash/dash-renderer/src/actions/callbacks.ts similarity index 100% rename from dash/dash-renderer/src/actions/callbacks.ts rename to src/dash/dash-renderer/src/actions/callbacks.ts diff --git a/dash/dash-renderer/src/actions/constants.js b/src/dash/dash-renderer/src/actions/constants.js similarity index 100% rename from dash/dash-renderer/src/actions/constants.js rename to src/dash/dash-renderer/src/actions/constants.js diff --git a/dash/dash-renderer/src/actions/dependencies.js b/src/dash/dash-renderer/src/actions/dependencies.js similarity index 100% rename from dash/dash-renderer/src/actions/dependencies.js rename to src/dash/dash-renderer/src/actions/dependencies.js diff --git a/dash/dash-renderer/src/actions/dependencies_ts.ts b/src/dash/dash-renderer/src/actions/dependencies_ts.ts similarity index 100% rename from dash/dash-renderer/src/actions/dependencies_ts.ts rename to src/dash/dash-renderer/src/actions/dependencies_ts.ts diff --git a/dash/dash-renderer/src/actions/index.js b/src/dash/dash-renderer/src/actions/index.js similarity index 100% rename from dash/dash-renderer/src/actions/index.js rename to src/dash/dash-renderer/src/actions/index.js diff --git a/dash/dash-renderer/src/actions/isAppReady.js b/src/dash/dash-renderer/src/actions/isAppReady.js similarity index 100% rename from dash/dash-renderer/src/actions/isAppReady.js rename to src/dash/dash-renderer/src/actions/isAppReady.js diff --git a/dash/dash-renderer/src/actions/isLoading.ts b/src/dash/dash-renderer/src/actions/isLoading.ts similarity index 100% rename from dash/dash-renderer/src/actions/isLoading.ts rename to src/dash/dash-renderer/src/actions/isLoading.ts diff --git a/dash/dash-renderer/src/actions/loadingMap.ts b/src/dash/dash-renderer/src/actions/loadingMap.ts similarity index 100% rename from dash/dash-renderer/src/actions/loadingMap.ts rename to src/dash/dash-renderer/src/actions/loadingMap.ts diff --git a/dash/dash-renderer/src/actions/patch.ts b/src/dash/dash-renderer/src/actions/patch.ts similarity index 100% rename from dash/dash-renderer/src/actions/patch.ts rename to src/dash/dash-renderer/src/actions/patch.ts diff --git a/dash/dash-renderer/src/actions/paths.js b/src/dash/dash-renderer/src/actions/paths.js similarity index 100% rename from dash/dash-renderer/src/actions/paths.js rename to src/dash/dash-renderer/src/actions/paths.js diff --git a/dash/dash-renderer/src/actions/requestDependencies.ts b/src/dash/dash-renderer/src/actions/requestDependencies.ts similarity index 100% rename from dash/dash-renderer/src/actions/requestDependencies.ts rename to src/dash/dash-renderer/src/actions/requestDependencies.ts diff --git a/dash/dash-renderer/src/actions/utils.js b/src/dash/dash-renderer/src/actions/utils.js similarity index 100% rename from dash/dash-renderer/src/actions/utils.js rename to src/dash/dash-renderer/src/actions/utils.js diff --git a/dash/dash-renderer/src/checkPropTypes.js b/src/dash/dash-renderer/src/checkPropTypes.js similarity index 100% rename from dash/dash-renderer/src/checkPropTypes.js rename to src/dash/dash-renderer/src/checkPropTypes.js diff --git a/dash/dash-renderer/src/components/core/Loading.react.js b/src/dash/dash-renderer/src/components/core/Loading.react.js similarity index 100% rename from dash/dash-renderer/src/components/core/Loading.react.js rename to src/dash/dash-renderer/src/components/core/Loading.react.js diff --git a/dash/dash-renderer/src/components/core/Reloader.react.js b/src/dash/dash-renderer/src/components/core/Reloader.react.js similarity index 100% rename from dash/dash-renderer/src/components/core/Reloader.react.js rename to src/dash/dash-renderer/src/components/core/Reloader.react.js diff --git a/dash/dash-renderer/src/components/core/Toolbar.css b/src/dash/dash-renderer/src/components/core/Toolbar.css similarity index 100% rename from dash/dash-renderer/src/components/core/Toolbar.css rename to src/dash/dash-renderer/src/components/core/Toolbar.css diff --git a/dash/dash-renderer/src/components/core/Toolbar.react.js b/src/dash/dash-renderer/src/components/core/Toolbar.react.js similarity index 100% rename from dash/dash-renderer/src/components/core/Toolbar.react.js rename to src/dash/dash-renderer/src/components/core/Toolbar.react.js diff --git a/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.css b/src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.css similarity index 100% rename from dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.css rename to src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.css diff --git a/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.react.js b/src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.react.js rename to src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.react.js diff --git a/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainerStylesheet.js b/src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainerStylesheet.js similarity index 100% rename from dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainerStylesheet.js rename to src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainerStylesheet.js diff --git a/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphEffects.js b/src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphEffects.js similarity index 100% rename from dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphEffects.js rename to src/dash/dash-renderer/src/components/error/CallbackGraph/CallbackGraphEffects.js diff --git a/dash/dash-renderer/src/components/error/ComponentErrorBoundary.react.js b/src/dash/dash-renderer/src/components/error/ComponentErrorBoundary.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/ComponentErrorBoundary.react.js rename to src/dash/dash-renderer/src/components/error/ComponentErrorBoundary.react.js diff --git a/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.css b/src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.css similarity index 100% rename from dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.css rename to src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.css diff --git a/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.react.js b/src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.react.js rename to src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndError.react.js diff --git a/dash/dash-renderer/src/components/error/FrontEnd/FrontEndErrorContainer.react.js b/src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndErrorContainer.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/FrontEnd/FrontEndErrorContainer.react.js rename to src/dash/dash-renderer/src/components/error/FrontEnd/FrontEndErrorContainer.react.js diff --git a/dash/dash-renderer/src/components/error/GlobalErrorContainer.react.js b/src/dash/dash-renderer/src/components/error/GlobalErrorContainer.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/GlobalErrorContainer.react.js rename to src/dash/dash-renderer/src/components/error/GlobalErrorContainer.react.js diff --git a/dash/dash-renderer/src/components/error/GlobalErrorContainerPassthrough.react.js b/src/dash/dash-renderer/src/components/error/GlobalErrorContainerPassthrough.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/GlobalErrorContainerPassthrough.react.js rename to src/dash/dash-renderer/src/components/error/GlobalErrorContainerPassthrough.react.js diff --git a/dash/dash-renderer/src/components/error/GlobalErrorOverlay.css b/src/dash/dash-renderer/src/components/error/GlobalErrorOverlay.css similarity index 100% rename from dash/dash-renderer/src/components/error/GlobalErrorOverlay.css rename to src/dash/dash-renderer/src/components/error/GlobalErrorOverlay.css diff --git a/dash/dash-renderer/src/components/error/GlobalErrorOverlay.react.js b/src/dash/dash-renderer/src/components/error/GlobalErrorOverlay.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/GlobalErrorOverlay.react.js rename to src/dash/dash-renderer/src/components/error/GlobalErrorOverlay.react.js diff --git a/dash/dash-renderer/src/components/error/Percy.css b/src/dash/dash-renderer/src/components/error/Percy.css similarity index 100% rename from dash/dash-renderer/src/components/error/Percy.css rename to src/dash/dash-renderer/src/components/error/Percy.css diff --git a/dash/dash-renderer/src/components/error/icons/BellIcon.svg b/src/dash/dash-renderer/src/components/error/icons/BellIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/BellIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/BellIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/CheckIcon.svg b/src/dash/dash-renderer/src/components/error/icons/CheckIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/CheckIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/CheckIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/ClockIcon.svg b/src/dash/dash-renderer/src/components/error/icons/ClockIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/ClockIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/ClockIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/CollapseIcon.svg b/src/dash/dash-renderer/src/components/error/icons/CollapseIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/CollapseIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/CollapseIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/DebugIcon.svg b/src/dash/dash-renderer/src/components/error/icons/DebugIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/DebugIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/DebugIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/GraphIcon.svg b/src/dash/dash-renderer/src/components/error/icons/GraphIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/GraphIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/GraphIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/LeftArrow.svg b/src/dash/dash-renderer/src/components/error/icons/LeftArrow.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/LeftArrow.svg rename to src/dash/dash-renderer/src/components/error/icons/LeftArrow.svg diff --git a/dash/dash-renderer/src/components/error/icons/OffIcon.svg b/src/dash/dash-renderer/src/components/error/icons/OffIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/OffIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/OffIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/ReloadIcon.svg b/src/dash/dash-renderer/src/components/error/icons/ReloadIcon.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/ReloadIcon.svg rename to src/dash/dash-renderer/src/components/error/icons/ReloadIcon.svg diff --git a/dash/dash-renderer/src/components/error/icons/RightArrow.svg b/src/dash/dash-renderer/src/components/error/icons/RightArrow.svg similarity index 100% rename from dash/dash-renderer/src/components/error/icons/RightArrow.svg rename to src/dash/dash-renderer/src/components/error/icons/RightArrow.svg diff --git a/dash/dash-renderer/src/components/error/menu/DebugMenu.css b/src/dash/dash-renderer/src/components/error/menu/DebugMenu.css similarity index 100% rename from dash/dash-renderer/src/components/error/menu/DebugMenu.css rename to src/dash/dash-renderer/src/components/error/menu/DebugMenu.css diff --git a/dash/dash-renderer/src/components/error/menu/DebugMenu.react.js b/src/dash/dash-renderer/src/components/error/menu/DebugMenu.react.js similarity index 100% rename from dash/dash-renderer/src/components/error/menu/DebugMenu.react.js rename to src/dash/dash-renderer/src/components/error/menu/DebugMenu.react.js diff --git a/dash/dash-renderer/src/components/error/werkzeugcss.js b/src/dash/dash-renderer/src/components/error/werkzeugcss.js similarity index 100% rename from dash/dash-renderer/src/components/error/werkzeugcss.js rename to src/dash/dash-renderer/src/components/error/werkzeugcss.js diff --git a/dash/dash-renderer/src/config.ts b/src/dash/dash-renderer/src/config.ts similarity index 100% rename from dash/dash-renderer/src/config.ts rename to src/dash/dash-renderer/src/config.ts diff --git a/dash/dash-renderer/src/constants/constants.js b/src/dash/dash-renderer/src/constants/constants.js similarity index 100% rename from dash/dash-renderer/src/constants/constants.js rename to src/dash/dash-renderer/src/constants/constants.js diff --git a/dash/dash-renderer/src/exceptions.js b/src/dash/dash-renderer/src/exceptions.js similarity index 100% rename from dash/dash-renderer/src/exceptions.js rename to src/dash/dash-renderer/src/exceptions.js diff --git a/dash/dash-renderer/src/index.js b/src/dash/dash-renderer/src/index.js similarity index 100% rename from dash/dash-renderer/src/index.js rename to src/dash/dash-renderer/src/index.js diff --git a/dash/dash-renderer/src/isSimpleComponent.js b/src/dash/dash-renderer/src/isSimpleComponent.js similarity index 100% rename from dash/dash-renderer/src/isSimpleComponent.js rename to src/dash/dash-renderer/src/isSimpleComponent.js diff --git a/dash/dash-renderer/src/observers/documentTitle.ts b/src/dash/dash-renderer/src/observers/documentTitle.ts similarity index 100% rename from dash/dash-renderer/src/observers/documentTitle.ts rename to src/dash/dash-renderer/src/observers/documentTitle.ts diff --git a/dash/dash-renderer/src/observers/executedCallbacks.ts b/src/dash/dash-renderer/src/observers/executedCallbacks.ts similarity index 100% rename from dash/dash-renderer/src/observers/executedCallbacks.ts rename to src/dash/dash-renderer/src/observers/executedCallbacks.ts diff --git a/dash/dash-renderer/src/observers/executingCallbacks.ts b/src/dash/dash-renderer/src/observers/executingCallbacks.ts similarity index 100% rename from dash/dash-renderer/src/observers/executingCallbacks.ts rename to src/dash/dash-renderer/src/observers/executingCallbacks.ts diff --git a/dash/dash-renderer/src/observers/isLoading.ts b/src/dash/dash-renderer/src/observers/isLoading.ts similarity index 100% rename from dash/dash-renderer/src/observers/isLoading.ts rename to src/dash/dash-renderer/src/observers/isLoading.ts diff --git a/dash/dash-renderer/src/observers/loadingMap.ts b/src/dash/dash-renderer/src/observers/loadingMap.ts similarity index 100% rename from dash/dash-renderer/src/observers/loadingMap.ts rename to src/dash/dash-renderer/src/observers/loadingMap.ts diff --git a/dash/dash-renderer/src/observers/prioritizedCallbacks.ts b/src/dash/dash-renderer/src/observers/prioritizedCallbacks.ts similarity index 100% rename from dash/dash-renderer/src/observers/prioritizedCallbacks.ts rename to src/dash/dash-renderer/src/observers/prioritizedCallbacks.ts diff --git a/dash/dash-renderer/src/observers/requestedCallbacks.ts b/src/dash/dash-renderer/src/observers/requestedCallbacks.ts similarity index 100% rename from dash/dash-renderer/src/observers/requestedCallbacks.ts rename to src/dash/dash-renderer/src/observers/requestedCallbacks.ts diff --git a/dash/dash-renderer/src/observers/storedCallbacks.ts b/src/dash/dash-renderer/src/observers/storedCallbacks.ts similarity index 100% rename from dash/dash-renderer/src/observers/storedCallbacks.ts rename to src/dash/dash-renderer/src/observers/storedCallbacks.ts diff --git a/dash/dash-renderer/src/persistence.js b/src/dash/dash-renderer/src/persistence.js similarity index 100% rename from dash/dash-renderer/src/persistence.js rename to src/dash/dash-renderer/src/persistence.js diff --git a/dash/dash-renderer/src/reducers/api.js b/src/dash/dash-renderer/src/reducers/api.js similarity index 100% rename from dash/dash-renderer/src/reducers/api.js rename to src/dash/dash-renderer/src/reducers/api.js diff --git a/dash/dash-renderer/src/reducers/appLifecycle.js b/src/dash/dash-renderer/src/reducers/appLifecycle.js similarity index 100% rename from dash/dash-renderer/src/reducers/appLifecycle.js rename to src/dash/dash-renderer/src/reducers/appLifecycle.js diff --git a/dash/dash-renderer/src/reducers/callbackJobs.ts b/src/dash/dash-renderer/src/reducers/callbackJobs.ts similarity index 100% rename from dash/dash-renderer/src/reducers/callbackJobs.ts rename to src/dash/dash-renderer/src/reducers/callbackJobs.ts diff --git a/dash/dash-renderer/src/reducers/callbacks.ts b/src/dash/dash-renderer/src/reducers/callbacks.ts similarity index 100% rename from dash/dash-renderer/src/reducers/callbacks.ts rename to src/dash/dash-renderer/src/reducers/callbacks.ts diff --git a/dash/dash-renderer/src/reducers/changed.js b/src/dash/dash-renderer/src/reducers/changed.js similarity index 100% rename from dash/dash-renderer/src/reducers/changed.js rename to src/dash/dash-renderer/src/reducers/changed.js diff --git a/dash/dash-renderer/src/reducers/config.js b/src/dash/dash-renderer/src/reducers/config.js similarity index 100% rename from dash/dash-renderer/src/reducers/config.js rename to src/dash/dash-renderer/src/reducers/config.js diff --git a/dash/dash-renderer/src/reducers/constants.js b/src/dash/dash-renderer/src/reducers/constants.js similarity index 100% rename from dash/dash-renderer/src/reducers/constants.js rename to src/dash/dash-renderer/src/reducers/constants.js diff --git a/dash/dash-renderer/src/reducers/dependencyGraph.js b/src/dash/dash-renderer/src/reducers/dependencyGraph.js similarity index 100% rename from dash/dash-renderer/src/reducers/dependencyGraph.js rename to src/dash/dash-renderer/src/reducers/dependencyGraph.js diff --git a/dash/dash-renderer/src/reducers/error.js b/src/dash/dash-renderer/src/reducers/error.js similarity index 100% rename from dash/dash-renderer/src/reducers/error.js rename to src/dash/dash-renderer/src/reducers/error.js diff --git a/dash/dash-renderer/src/reducers/history.js b/src/dash/dash-renderer/src/reducers/history.js similarity index 100% rename from dash/dash-renderer/src/reducers/history.js rename to src/dash/dash-renderer/src/reducers/history.js diff --git a/dash/dash-renderer/src/reducers/hooks.js b/src/dash/dash-renderer/src/reducers/hooks.js similarity index 100% rename from dash/dash-renderer/src/reducers/hooks.js rename to src/dash/dash-renderer/src/reducers/hooks.js diff --git a/dash/dash-renderer/src/reducers/isLoading.ts b/src/dash/dash-renderer/src/reducers/isLoading.ts similarity index 100% rename from dash/dash-renderer/src/reducers/isLoading.ts rename to src/dash/dash-renderer/src/reducers/isLoading.ts diff --git a/dash/dash-renderer/src/reducers/layout.js b/src/dash/dash-renderer/src/reducers/layout.js similarity index 100% rename from dash/dash-renderer/src/reducers/layout.js rename to src/dash/dash-renderer/src/reducers/layout.js diff --git a/dash/dash-renderer/src/reducers/loadingMap.ts b/src/dash/dash-renderer/src/reducers/loadingMap.ts similarity index 100% rename from dash/dash-renderer/src/reducers/loadingMap.ts rename to src/dash/dash-renderer/src/reducers/loadingMap.ts diff --git a/dash/dash-renderer/src/reducers/paths.js b/src/dash/dash-renderer/src/reducers/paths.js similarity index 100% rename from dash/dash-renderer/src/reducers/paths.js rename to src/dash/dash-renderer/src/reducers/paths.js diff --git a/dash/dash-renderer/src/reducers/profile.js b/src/dash/dash-renderer/src/reducers/profile.js similarity index 100% rename from dash/dash-renderer/src/reducers/profile.js rename to src/dash/dash-renderer/src/reducers/profile.js diff --git a/dash/dash-renderer/src/reducers/reducer.js b/src/dash/dash-renderer/src/reducers/reducer.js similarity index 100% rename from dash/dash-renderer/src/reducers/reducer.js rename to src/dash/dash-renderer/src/reducers/reducer.js diff --git a/dash/dash-renderer/src/registry.js b/src/dash/dash-renderer/src/registry.js similarity index 100% rename from dash/dash-renderer/src/registry.js rename to src/dash/dash-renderer/src/registry.js diff --git a/dash/dash-renderer/src/store.ts b/src/dash/dash-renderer/src/store.ts similarity index 100% rename from dash/dash-renderer/src/store.ts rename to src/dash/dash-renderer/src/store.ts diff --git a/dash/dash-renderer/src/styles/styles.js b/src/dash/dash-renderer/src/styles/styles.js similarity index 100% rename from dash/dash-renderer/src/styles/styles.js rename to src/dash/dash-renderer/src/styles/styles.js diff --git a/dash/dash-renderer/src/types/callbacks.ts b/src/dash/dash-renderer/src/types/callbacks.ts similarity index 100% rename from dash/dash-renderer/src/types/callbacks.ts rename to src/dash/dash-renderer/src/types/callbacks.ts diff --git a/dash/dash-renderer/src/utils/TreeContainer.ts b/src/dash/dash-renderer/src/utils/TreeContainer.ts similarity index 100% rename from dash/dash-renderer/src/utils/TreeContainer.ts rename to src/dash/dash-renderer/src/utils/TreeContainer.ts diff --git a/dash/dash-renderer/src/utils/callbacks.ts b/src/dash/dash-renderer/src/utils/callbacks.ts similarity index 100% rename from dash/dash-renderer/src/utils/callbacks.ts rename to src/dash/dash-renderer/src/utils/callbacks.ts diff --git a/dash/dash-renderer/src/utils/wait.ts b/src/dash/dash-renderer/src/utils/wait.ts similarity index 100% rename from dash/dash-renderer/src/utils/wait.ts rename to src/dash/dash-renderer/src/utils/wait.ts diff --git a/dash/dash-renderer/tests/isAppReady.test.js b/src/dash/dash-renderer/tests/isAppReady.test.js similarity index 100% rename from dash/dash-renderer/tests/isAppReady.test.js rename to src/dash/dash-renderer/tests/isAppReady.test.js diff --git a/dash/dash-renderer/tests/persistence.test.js b/src/dash/dash-renderer/tests/persistence.test.js similarity index 100% rename from dash/dash-renderer/tests/persistence.test.js rename to src/dash/dash-renderer/tests/persistence.test.js diff --git a/dash/dash-renderer/tsconfig.json b/src/dash/dash-renderer/tsconfig.json similarity index 100% rename from dash/dash-renderer/tsconfig.json rename to src/dash/dash-renderer/tsconfig.json diff --git a/dash/dash-renderer/tslint.json b/src/dash/dash-renderer/tslint.json similarity index 100% rename from dash/dash-renderer/tslint.json rename to src/dash/dash-renderer/tslint.json diff --git a/dash/dash-renderer/webpack.base.config.js b/src/dash/dash-renderer/webpack.base.config.js similarity index 100% rename from dash/dash-renderer/webpack.base.config.js rename to src/dash/dash-renderer/webpack.base.config.js diff --git a/dash/dash-renderer/webpack.config.js b/src/dash/dash-renderer/webpack.config.js similarity index 100% rename from dash/dash-renderer/webpack.config.js rename to src/dash/dash-renderer/webpack.config.js diff --git a/dash/dash-renderer/webpack.test.config.js b/src/dash/dash-renderer/webpack.test.config.js similarity index 100% rename from dash/dash-renderer/webpack.test.config.js rename to src/dash/dash-renderer/webpack.test.config.js diff --git a/dash/dash.py b/src/dash/dash.py similarity index 100% rename from dash/dash.py rename to src/dash/dash.py diff --git a/dash/dash_table/.gitkeep b/src/dash/dash_table/.gitkeep similarity index 100% rename from dash/dash_table/.gitkeep rename to src/dash/dash_table/.gitkeep diff --git a/dash/dcc/.gitkeep b/src/dash/dcc/.gitkeep similarity index 100% rename from dash/dcc/.gitkeep rename to src/dash/dcc/.gitkeep diff --git a/dash/dependencies.py b/src/dash/dependencies.py similarity index 100% rename from dash/dependencies.py rename to src/dash/dependencies.py diff --git a/dash/development/__init__.py b/src/dash/development/__init__.py similarity index 100% rename from dash/development/__init__.py rename to src/dash/development/__init__.py diff --git a/dash/development/_all_keywords.py b/src/dash/development/_all_keywords.py similarity index 100% rename from dash/development/_all_keywords.py rename to src/dash/development/_all_keywords.py diff --git a/dash/development/_collect_nodes.py b/src/dash/development/_collect_nodes.py similarity index 100% rename from dash/development/_collect_nodes.py rename to src/dash/development/_collect_nodes.py diff --git a/dash/development/_jl_components_generation.py b/src/dash/development/_jl_components_generation.py similarity index 100% rename from dash/development/_jl_components_generation.py rename to src/dash/development/_jl_components_generation.py diff --git a/dash/development/_py_components_generation.py b/src/dash/development/_py_components_generation.py similarity index 100% rename from dash/development/_py_components_generation.py rename to src/dash/development/_py_components_generation.py diff --git a/dash/development/_r_components_generation.py b/src/dash/development/_r_components_generation.py similarity index 100% rename from dash/development/_r_components_generation.py rename to src/dash/development/_r_components_generation.py diff --git a/dash/development/base_component.py b/src/dash/development/base_component.py similarity index 100% rename from dash/development/base_component.py rename to src/dash/development/base_component.py diff --git a/dash/development/build_process.py b/src/dash/development/build_process.py similarity index 100% rename from dash/development/build_process.py rename to src/dash/development/build_process.py diff --git a/dash/development/component_generator.py b/src/dash/development/component_generator.py similarity index 100% rename from dash/development/component_generator.py rename to src/dash/development/component_generator.py diff --git a/dash/development/component_loader.py b/src/dash/development/component_loader.py similarity index 100% rename from dash/development/component_loader.py rename to src/dash/development/component_loader.py diff --git a/dash/development/update_components.py b/src/dash/development/update_components.py similarity index 98% rename from dash/development/update_components.py rename to src/dash/development/update_components.py index 2789be22fd..826d513cdf 100644 --- a/dash/development/update_components.py +++ b/src/dash/development/update_components.py @@ -109,7 +109,7 @@ def build_components(components_source, concurrency): dest_dir = dest_dir_map.get(package) or package - dest_path = os.path.join("dash", dest_dir) + dest_path = os.path.join("src", "dash", dest_dir) if not os.path.exists(dest_path): try: diff --git a/dash/exceptions.py b/src/dash/exceptions.py similarity index 100% rename from dash/exceptions.py rename to src/dash/exceptions.py diff --git a/dash/extract-meta.js b/src/dash/extract-meta.js similarity index 100% rename from dash/extract-meta.js rename to src/dash/extract-meta.js diff --git a/dash/favicon.ico b/src/dash/favicon.ico similarity index 100% rename from dash/favicon.ico rename to src/dash/favicon.ico diff --git a/dash/fingerprint.py b/src/dash/fingerprint.py similarity index 100% rename from dash/fingerprint.py rename to src/dash/fingerprint.py diff --git a/dash/html/.gitkeep b/src/dash/html/.gitkeep similarity index 100% rename from dash/html/.gitkeep rename to src/dash/html/.gitkeep diff --git a/dash/labextension/package.json b/src/dash/labextension/package.json similarity index 100% rename from dash/labextension/package.json rename to src/dash/labextension/package.json diff --git a/dash/long_callback/__init__.py b/src/dash/long_callback/__init__.py similarity index 100% rename from dash/long_callback/__init__.py rename to src/dash/long_callback/__init__.py diff --git a/dash/long_callback/managers/__init__.py b/src/dash/long_callback/managers/__init__.py similarity index 100% rename from dash/long_callback/managers/__init__.py rename to src/dash/long_callback/managers/__init__.py diff --git a/dash/long_callback/managers/celery_manager.py b/src/dash/long_callback/managers/celery_manager.py similarity index 100% rename from dash/long_callback/managers/celery_manager.py rename to src/dash/long_callback/managers/celery_manager.py diff --git a/dash/long_callback/managers/diskcache_manager.py b/src/dash/long_callback/managers/diskcache_manager.py similarity index 100% rename from dash/long_callback/managers/diskcache_manager.py rename to src/dash/long_callback/managers/diskcache_manager.py diff --git a/dash/nbextension/README.md b/src/dash/nbextension/README.md similarity index 100% rename from dash/nbextension/README.md rename to src/dash/nbextension/README.md diff --git a/dash/nbextension/__init__.py b/src/dash/nbextension/__init__.py similarity index 100% rename from dash/nbextension/__init__.py rename to src/dash/nbextension/__init__.py diff --git a/dash/nbextension/dash.json b/src/dash/nbextension/dash.json similarity index 100% rename from dash/nbextension/dash.json rename to src/dash/nbextension/dash.json diff --git a/dash/nbextension/description.yaml b/src/dash/nbextension/description.yaml similarity index 100% rename from dash/nbextension/description.yaml rename to src/dash/nbextension/description.yaml diff --git a/dash/nbextension/main.js b/src/dash/nbextension/main.js similarity index 100% rename from dash/nbextension/main.js rename to src/dash/nbextension/main.js diff --git a/dash/renovate.json b/src/dash/renovate.json similarity index 100% rename from dash/renovate.json rename to src/dash/renovate.json diff --git a/dash/resources.py b/src/dash/resources.py similarity index 100% rename from dash/resources.py rename to src/dash/resources.py diff --git a/dash/testing/__init__.py b/src/dash/testing/__init__.py similarity index 100% rename from dash/testing/__init__.py rename to src/dash/testing/__init__.py diff --git a/dash/testing/application_runners.py b/src/dash/testing/application_runners.py similarity index 100% rename from dash/testing/application_runners.py rename to src/dash/testing/application_runners.py diff --git a/dash/testing/browser.py b/src/dash/testing/browser.py similarity index 100% rename from dash/testing/browser.py rename to src/dash/testing/browser.py diff --git a/dash/testing/composite.py b/src/dash/testing/composite.py similarity index 100% rename from dash/testing/composite.py rename to src/dash/testing/composite.py diff --git a/dash/testing/consts.py b/src/dash/testing/consts.py similarity index 100% rename from dash/testing/consts.py rename to src/dash/testing/consts.py diff --git a/dash/testing/dash_page.py b/src/dash/testing/dash_page.py similarity index 100% rename from dash/testing/dash_page.py rename to src/dash/testing/dash_page.py diff --git a/dash/testing/errors.py b/src/dash/testing/errors.py similarity index 100% rename from dash/testing/errors.py rename to src/dash/testing/errors.py diff --git a/dash/testing/newhooks.py b/src/dash/testing/newhooks.py similarity index 100% rename from dash/testing/newhooks.py rename to src/dash/testing/newhooks.py diff --git a/dash/testing/plugin.py b/src/dash/testing/plugin.py similarity index 100% rename from dash/testing/plugin.py rename to src/dash/testing/plugin.py diff --git a/dash/testing/wait.py b/src/dash/testing/wait.py similarity index 100% rename from dash/testing/wait.py rename to src/dash/testing/wait.py diff --git a/dash/types.py b/src/dash/types.py similarity index 100% rename from dash/types.py rename to src/dash/types.py diff --git a/dash/version.py b/src/dash/version.py similarity index 100% rename from dash/version.py rename to src/dash/version.py diff --git a/tests/integration/dash/dash_import_test.py b/tests/integration/dash/dash_import_test.py index f9b1ddf89e..c2f2534efa 100644 --- a/tests/integration/dash/dash_import_test.py +++ b/tests/integration/dash/dash_import_test.py @@ -9,7 +9,7 @@ assert isinstance(dash, types.ModuleType), "dash can be imported" this_dir = os.path.dirname(__file__) -with open(os.path.join(this_dir, "../../../dash/version.py")) as fp: +with open(os.path.join(this_dir, "../../../src/dash/version.py")) as fp: assert dash.__version__ in fp.read(), "version is consistent" assert getattr(dash, "Dash").__name__ == "Dash", "access to main Dash class is valid"