From dd946cb1887454d4f76f1c0c34a7d5f4d0a2a466 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 10:04:42 +0000 Subject: [PATCH 1/7] move dash to src/dash --- {dash => src/dash}/__init__.py | 0 {dash => src/dash}/_callback.py | 0 {dash => src/dash}/_callback_context.py | 0 {dash => src/dash}/_configs.py | 0 {dash => src/dash}/_dash_renderer.py | 0 {dash => src/dash}/_get_app.py | 0 {dash => src/dash}/_get_paths.py | 0 {dash => src/dash}/_grouping.py | 0 {dash => src/dash}/_jupyter.py | 0 {dash => src/dash}/_pages.py | 0 {dash => src/dash}/_patch.py | 0 {dash => src/dash}/_utils.py | 0 {dash => src/dash}/_validate.py | 0 {dash => src/dash}/_watch.py | 0 {dash => src/dash}/dash-renderer/.eslintignore | 0 {dash => src/dash}/dash-renderer/.eslintrc.js | 0 {dash => src/dash}/dash-renderer/.npmignore | 0 .../dash}/dash-renderer/@Types/modules.d.ts | 0 {dash => src/dash}/dash-renderer/MANIFEST.in | 0 {dash => src/dash}/dash-renderer/babel.config.js | 0 .../dash-renderer/config/eslint/eslintrc-node.json | 0 {dash => src/dash}/dash-renderer/index.html | 0 {dash => src/dash}/dash-renderer/init.template | 0 {dash => src/dash}/dash-renderer/karma.conf.js | 0 {dash => src/dash}/dash-renderer/package-lock.json | 0 {dash => src/dash}/dash-renderer/package.json | 0 {dash => src/dash}/dash-renderer/setup.py | 0 .../dash}/dash-renderer/src/APIController.react.js | 0 .../dash}/dash-renderer/src/AccessDenied.react.js | 0 .../dash}/dash-renderer/src/AppContainer.react.js | 0 .../dash}/dash-renderer/src/AppProvider.react.tsx | 0 .../dash}/dash-renderer/src/DashRenderer.js | 0 .../dash}/dash-renderer/src/StoreObserver.ts | 0 .../dash}/dash-renderer/src/TreeContainer.js | 0 {dash => src/dash}/dash-renderer/src/actions/api.js | 0 .../dash}/dash-renderer/src/actions/callbacks.ts | 0 .../dash}/dash-renderer/src/actions/constants.js | 0 .../dash}/dash-renderer/src/actions/dependencies.js | 0 .../dash-renderer/src/actions/dependencies_ts.ts | 0 .../dash}/dash-renderer/src/actions/index.js | 0 .../dash}/dash-renderer/src/actions/isAppReady.js | 0 .../dash}/dash-renderer/src/actions/isLoading.ts | 0 .../dash}/dash-renderer/src/actions/loadingMap.ts | 0 .../dash}/dash-renderer/src/actions/patch.ts | 0 .../dash}/dash-renderer/src/actions/paths.js | 0 .../src/actions/requestDependencies.ts | 0 .../dash}/dash-renderer/src/actions/utils.js | 0 .../dash}/dash-renderer/src/checkPropTypes.js | 0 .../src/components/core/Loading.react.js | 0 .../src/components/core/Reloader.react.js | 0 .../dash-renderer/src/components/core/Toolbar.css | 0 .../src/components/core/Toolbar.react.js | 0 .../error/CallbackGraph/CallbackGraphContainer.css | 0 .../CallbackGraph/CallbackGraphContainer.react.js | 0 .../CallbackGraphContainerStylesheet.js | 0 .../error/CallbackGraph/CallbackGraphEffects.js | 0 .../error/ComponentErrorBoundary.react.js | 0 .../src/components/error/FrontEnd/FrontEndError.css | 0 .../error/FrontEnd/FrontEndError.react.js | 0 .../error/FrontEnd/FrontEndErrorContainer.react.js | 0 .../components/error/GlobalErrorContainer.react.js | 0 .../error/GlobalErrorContainerPassthrough.react.js | 0 .../src/components/error/GlobalErrorOverlay.css | 0 .../components/error/GlobalErrorOverlay.react.js | 0 .../dash-renderer/src/components/error/Percy.css | 0 .../src/components/error/icons/BellIcon.svg | 0 .../src/components/error/icons/CheckIcon.svg | 0 .../src/components/error/icons/ClockIcon.svg | 0 .../src/components/error/icons/CollapseIcon.svg | 0 .../src/components/error/icons/DebugIcon.svg | 0 .../src/components/error/icons/GraphIcon.svg | 0 .../src/components/error/icons/LeftArrow.svg | 0 .../src/components/error/icons/OffIcon.svg | 0 .../src/components/error/icons/ReloadIcon.svg | 0 .../src/components/error/icons/RightArrow.svg | 0 .../src/components/error/menu/DebugMenu.css | 0 .../src/components/error/menu/DebugMenu.react.js | 0 .../src/components/error/werkzeugcss.js | 0 {dash => src/dash}/dash-renderer/src/config.ts | 0 .../dash}/dash-renderer/src/constants/constants.js | 0 {dash => src/dash}/dash-renderer/src/exceptions.js | 0 {dash => src/dash}/dash-renderer/src/index.js | 0 .../dash}/dash-renderer/src/isSimpleComponent.js | 0 .../dash-renderer/src/observers/documentTitle.ts | 0 .../src/observers/executedCallbacks.ts | 0 .../src/observers/executingCallbacks.ts | 0 .../dash}/dash-renderer/src/observers/isLoading.ts | 0 .../dash}/dash-renderer/src/observers/loadingMap.ts | 0 .../src/observers/prioritizedCallbacks.ts | 0 .../src/observers/requestedCallbacks.ts | 0 .../dash-renderer/src/observers/storedCallbacks.ts | 0 {dash => src/dash}/dash-renderer/src/persistence.js | 0 .../dash}/dash-renderer/src/reducers/api.js | 0 .../dash-renderer/src/reducers/appLifecycle.js | 0 .../dash-renderer/src/reducers/callbackJobs.ts | 0 .../dash}/dash-renderer/src/reducers/callbacks.ts | 0 .../dash}/dash-renderer/src/reducers/changed.js | 0 .../dash}/dash-renderer/src/reducers/config.js | 0 .../dash}/dash-renderer/src/reducers/constants.js | 0 .../dash-renderer/src/reducers/dependencyGraph.js | 0 .../dash}/dash-renderer/src/reducers/error.js | 0 .../dash}/dash-renderer/src/reducers/history.js | 0 .../dash}/dash-renderer/src/reducers/hooks.js | 0 .../dash}/dash-renderer/src/reducers/isLoading.ts | 0 .../dash}/dash-renderer/src/reducers/layout.js | 0 .../dash}/dash-renderer/src/reducers/loadingMap.ts | 0 .../dash}/dash-renderer/src/reducers/paths.js | 0 .../dash}/dash-renderer/src/reducers/profile.js | 0 .../dash}/dash-renderer/src/reducers/reducer.js | 0 {dash => src/dash}/dash-renderer/src/registry.js | 0 {dash => src/dash}/dash-renderer/src/store.ts | 0 .../dash}/dash-renderer/src/styles/styles.js | 0 .../dash}/dash-renderer/src/types/callbacks.ts | 0 .../dash}/dash-renderer/src/utils/TreeContainer.ts | 0 .../dash}/dash-renderer/src/utils/callbacks.ts | 0 {dash => src/dash}/dash-renderer/src/utils/wait.ts | 0 .../dash}/dash-renderer/tests/isAppReady.test.js | 0 .../dash}/dash-renderer/tests/persistence.test.js | 0 {dash => src/dash}/dash-renderer/tsconfig.json | 0 {dash => src/dash}/dash-renderer/tslint.json | 0 .../dash}/dash-renderer/webpack.base.config.js | 0 {dash => src/dash}/dash-renderer/webpack.config.js | 0 .../dash}/dash-renderer/webpack.test.config.js | 0 {dash => src/dash}/dash.py | 0 {dash => src/dash}/dash_table/.gitkeep | 0 {dash => src/dash}/dcc/.gitkeep | 0 {dash => src/dash}/dependencies.py | 0 {dash => src/dash}/development/__init__.py | 0 {dash => src/dash}/development/_all_keywords.py | 0 {dash => src/dash}/development/_collect_nodes.py | 0 .../dash}/development/_jl_components_generation.py | 0 .../dash}/development/_py_components_generation.py | 0 .../dash}/development/_r_components_generation.py | 0 {dash => src/dash}/development/base_component.py | 0 {dash => src/dash}/development/build_process.py | 0 .../dash}/development/component_generator.py | 0 {dash => src/dash}/development/component_loader.py | 0 {dash => src/dash}/development/update_components.py | 0 {dash => src/dash}/exceptions.py | 0 {dash => src/dash}/extract-meta.js | 0 {dash => src/dash}/favicon.ico | Bin {dash => src/dash}/fingerprint.py | 0 {dash => src/dash}/html/.gitkeep | 0 {dash => src/dash}/labextension/package.json | 0 {dash => src/dash}/long_callback/__init__.py | 0 .../dash}/long_callback/managers/__init__.py | 0 .../dash}/long_callback/managers/celery_manager.py | 0 .../long_callback/managers/diskcache_manager.py | 0 {dash => src/dash}/nbextension/README.md | 0 {dash => src/dash}/nbextension/__init__.py | 0 {dash => src/dash}/nbextension/dash.json | 0 {dash => src/dash}/nbextension/description.yaml | 0 {dash => src/dash}/nbextension/main.js | 0 {dash => src/dash}/renovate.json | 0 {dash => src/dash}/resources.py | 0 {dash => src/dash}/testing/__init__.py | 0 {dash => src/dash}/testing/application_runners.py | 0 {dash => src/dash}/testing/browser.py | 0 {dash => src/dash}/testing/composite.py | 0 {dash => src/dash}/testing/consts.py | 0 {dash => src/dash}/testing/dash_page.py | 0 {dash => src/dash}/testing/errors.py | 0 {dash => src/dash}/testing/newhooks.py | 0 {dash => src/dash}/testing/plugin.py | 0 {dash => src/dash}/testing/wait.py | 0 {dash => src/dash}/types.py | 0 {dash => src/dash}/version.py | 0 167 files changed, 0 insertions(+), 0 deletions(-) rename {dash => src/dash}/__init__.py (100%) rename {dash => src/dash}/_callback.py (100%) rename {dash => src/dash}/_callback_context.py (100%) rename {dash => src/dash}/_configs.py (100%) rename {dash => src/dash}/_dash_renderer.py (100%) rename {dash => src/dash}/_get_app.py (100%) rename {dash => src/dash}/_get_paths.py (100%) rename {dash => src/dash}/_grouping.py (100%) rename {dash => src/dash}/_jupyter.py (100%) rename {dash => src/dash}/_pages.py (100%) rename {dash => src/dash}/_patch.py (100%) rename {dash => src/dash}/_utils.py (100%) rename {dash => src/dash}/_validate.py (100%) rename {dash => src/dash}/_watch.py (100%) rename {dash => src/dash}/dash-renderer/.eslintignore (100%) rename {dash => src/dash}/dash-renderer/.eslintrc.js (100%) rename {dash => src/dash}/dash-renderer/.npmignore (100%) rename {dash => src/dash}/dash-renderer/@Types/modules.d.ts (100%) rename {dash => src/dash}/dash-renderer/MANIFEST.in (100%) rename {dash => src/dash}/dash-renderer/babel.config.js (100%) rename {dash => src/dash}/dash-renderer/config/eslint/eslintrc-node.json (100%) rename {dash => src/dash}/dash-renderer/index.html (100%) rename {dash => src/dash}/dash-renderer/init.template (100%) rename {dash => src/dash}/dash-renderer/karma.conf.js (100%) rename {dash => src/dash}/dash-renderer/package-lock.json (100%) rename {dash => src/dash}/dash-renderer/package.json (100%) rename {dash => src/dash}/dash-renderer/setup.py (100%) rename {dash => src/dash}/dash-renderer/src/APIController.react.js (100%) rename {dash => src/dash}/dash-renderer/src/AccessDenied.react.js (100%) rename {dash => src/dash}/dash-renderer/src/AppContainer.react.js (100%) rename {dash => src/dash}/dash-renderer/src/AppProvider.react.tsx (100%) rename {dash => src/dash}/dash-renderer/src/DashRenderer.js (100%) rename {dash => src/dash}/dash-renderer/src/StoreObserver.ts (100%) rename {dash => src/dash}/dash-renderer/src/TreeContainer.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/api.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/callbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/constants.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/dependencies.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/dependencies_ts.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/index.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/isAppReady.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/isLoading.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/loadingMap.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/patch.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/paths.js (100%) rename {dash => src/dash}/dash-renderer/src/actions/requestDependencies.ts (100%) rename {dash => src/dash}/dash-renderer/src/actions/utils.js (100%) rename {dash => src/dash}/dash-renderer/src/checkPropTypes.js (100%) rename {dash => src/dash}/dash-renderer/src/components/core/Loading.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/core/Reloader.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/core/Toolbar.css (100%) rename {dash => src/dash}/dash-renderer/src/components/core/Toolbar.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.css (100%) rename {dash => src/dash}/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainer.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/CallbackGraph/CallbackGraphContainerStylesheet.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/CallbackGraph/CallbackGraphEffects.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/ComponentErrorBoundary.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/FrontEnd/FrontEndError.css (100%) rename {dash => src/dash}/dash-renderer/src/components/error/FrontEnd/FrontEndError.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/FrontEnd/FrontEndErrorContainer.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/GlobalErrorContainer.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/GlobalErrorContainerPassthrough.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/GlobalErrorOverlay.css (100%) rename {dash => src/dash}/dash-renderer/src/components/error/GlobalErrorOverlay.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/Percy.css (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/BellIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/CheckIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/ClockIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/CollapseIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/DebugIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/GraphIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/LeftArrow.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/OffIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/ReloadIcon.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/icons/RightArrow.svg (100%) rename {dash => src/dash}/dash-renderer/src/components/error/menu/DebugMenu.css (100%) rename {dash => src/dash}/dash-renderer/src/components/error/menu/DebugMenu.react.js (100%) rename {dash => src/dash}/dash-renderer/src/components/error/werkzeugcss.js (100%) rename {dash => src/dash}/dash-renderer/src/config.ts (100%) rename {dash => src/dash}/dash-renderer/src/constants/constants.js (100%) rename {dash => src/dash}/dash-renderer/src/exceptions.js (100%) rename {dash => src/dash}/dash-renderer/src/index.js (100%) rename {dash => src/dash}/dash-renderer/src/isSimpleComponent.js (100%) rename {dash => src/dash}/dash-renderer/src/observers/documentTitle.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/executedCallbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/executingCallbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/isLoading.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/loadingMap.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/prioritizedCallbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/requestedCallbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/observers/storedCallbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/persistence.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/api.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/appLifecycle.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/callbackJobs.ts (100%) rename {dash => src/dash}/dash-renderer/src/reducers/callbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/reducers/changed.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/config.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/constants.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/dependencyGraph.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/error.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/history.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/hooks.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/isLoading.ts (100%) rename {dash => src/dash}/dash-renderer/src/reducers/layout.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/loadingMap.ts (100%) rename {dash => src/dash}/dash-renderer/src/reducers/paths.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/profile.js (100%) rename {dash => src/dash}/dash-renderer/src/reducers/reducer.js (100%) rename {dash => src/dash}/dash-renderer/src/registry.js (100%) rename {dash => src/dash}/dash-renderer/src/store.ts (100%) rename {dash => src/dash}/dash-renderer/src/styles/styles.js (100%) rename {dash => src/dash}/dash-renderer/src/types/callbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/utils/TreeContainer.ts (100%) rename {dash => src/dash}/dash-renderer/src/utils/callbacks.ts (100%) rename {dash => src/dash}/dash-renderer/src/utils/wait.ts (100%) rename {dash => src/dash}/dash-renderer/tests/isAppReady.test.js (100%) rename {dash => src/dash}/dash-renderer/tests/persistence.test.js (100%) rename {dash => src/dash}/dash-renderer/tsconfig.json (100%) rename {dash => src/dash}/dash-renderer/tslint.json (100%) rename {dash => src/dash}/dash-renderer/webpack.base.config.js (100%) rename {dash => src/dash}/dash-renderer/webpack.config.js (100%) rename {dash => src/dash}/dash-renderer/webpack.test.config.js (100%) rename {dash => src/dash}/dash.py (100%) rename {dash => src/dash}/dash_table/.gitkeep (100%) rename {dash => src/dash}/dcc/.gitkeep (100%) rename {dash => src/dash}/dependencies.py (100%) rename {dash => src/dash}/development/__init__.py (100%) rename {dash => src/dash}/development/_all_keywords.py (100%) rename {dash => src/dash}/development/_collect_nodes.py (100%) rename {dash => src/dash}/development/_jl_components_generation.py (100%) rename {dash => src/dash}/development/_py_components_generation.py (100%) rename {dash => src/dash}/development/_r_components_generation.py (100%) rename {dash => src/dash}/development/base_component.py (100%) rename {dash => src/dash}/development/build_process.py (100%) rename {dash => src/dash}/development/component_generator.py (100%) rename {dash => src/dash}/development/component_loader.py (100%) rename {dash => src/dash}/development/update_components.py (100%) rename {dash => src/dash}/exceptions.py (100%) rename {dash => src/dash}/extract-meta.js (100%) rename {dash => src/dash}/favicon.ico (100%) rename {dash => src/dash}/fingerprint.py (100%) rename {dash => src/dash}/html/.gitkeep (100%) rename {dash => src/dash}/labextension/package.json (100%) rename {dash => src/dash}/long_callback/__init__.py (100%) rename {dash => src/dash}/long_callback/managers/__init__.py (100%) rename {dash => src/dash}/long_callback/managers/celery_manager.py (100%) rename {dash => src/dash}/long_callback/managers/diskcache_manager.py (100%) rename {dash => src/dash}/nbextension/README.md (100%) rename {dash => src/dash}/nbextension/__init__.py (100%) rename {dash => src/dash}/nbextension/dash.json (100%) rename {dash => src/dash}/nbextension/description.yaml (100%) rename {dash => src/dash}/nbextension/main.js (100%) rename {dash => src/dash}/renovate.json (100%) rename {dash => src/dash}/resources.py (100%) rename {dash => src/dash}/testing/__init__.py (100%) rename {dash => src/dash}/testing/application_runners.py (100%) rename {dash => src/dash}/testing/browser.py (100%) rename {dash => src/dash}/testing/composite.py (100%) rename {dash => src/dash}/testing/consts.py (100%) rename {dash => src/dash}/testing/dash_page.py (100%) rename {dash => src/dash}/testing/errors.py (100%) rename {dash => src/dash}/testing/newhooks.py (100%) rename {dash => src/dash}/testing/plugin.py (100%) rename {dash => src/dash}/testing/wait.py (100%) rename {dash => src/dash}/types.py (100%) rename {dash => src/dash}/version.py (100%) 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 100% rename from dash/dash-renderer/setup.py rename to src/dash/dash-renderer/setup.py 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 100% rename from dash/development/update_components.py rename to src/dash/development/update_components.py 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 From 27703c2715ef992d3fe80f2667c756c1cdd56204 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 10:05:07 +0000 Subject: [PATCH 2/7] configure src layout --- .circleci/config.yml | 4 +- .gitignore | 14 ++-- .pylintrc | 6 +- @plotly/dash-jupyterlab/package.json | 6 +- MAKE_A_NEW_BACK_END.md | 2 +- MANIFEST.in | 22 +++--- package.json | 26 +++---- pyproject.toml | 73 +++++++++++++++++++ requires-ci.txt | 1 + setup.py | 81 ++-------------------- src/dash/development/update_components.py | 2 +- tests/integration/dash/dash_import_test.py | 2 +- 12 files changed, 120 insertions(+), 119 deletions(-) create mode 100644 pyproject.toml diff --git a/.circleci/config.yml b/.circleci/config.yml index 25b0fdcc43..a2034c59c9 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 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-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..3508c0f9a1 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,73 @@ +[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"] 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 index 940d128e59..9ec06c801d 100644 --- a/setup.py +++ b/setup.py @@ -1,92 +1,19 @@ -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("#")] +from setuptools import setup 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", + "src/dash/nbextension/main.js", ]), # like `jupyter nbextension enable --sys-prefix` ("etc/jupyter/nbconfig/notebook.d", [ - "dash/nbextension/dash.json" + "src/dash/nbextension/dash.json" ]), # Place jupyterlab extension in extension directory ("share/jupyter/lab/extensions", [ - "dash/labextension/dist/dash-jupyterlab.tgz" + "src/dash/labextension/dist/dash-jupyterlab.tgz" ]), ], ) diff --git a/src/dash/development/update_components.py b/src/dash/development/update_components.py index 2789be22fd..826d513cdf 100644 --- a/src/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/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" From 249ca7edd74253cea6171097ddeeab28cac7a40c Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 10:51:46 +0000 Subject: [PATCH 3/7] fix windows src path --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a2034c59c9..6fff0fdc6b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -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 From 26e14881fe610f38920df5dd88f7e66498ffb4cd Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 10:54:35 +0000 Subject: [PATCH 4/7] update flake8 config for src layout --- .flake8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 82f583f2040e0bee048dc11c014acdf377357030 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 11:14:07 +0000 Subject: [PATCH 5/7] fix pylint error in dash-renderer --- src/dash/dash-renderer/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dash/dash-renderer/setup.py b/src/dash/dash-renderer/setup.py index 1d9a861688..604e77364d 100644 --- a/src/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( From b8b08c9826afc820588e501ecd2532dc837b0012 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Wed, 7 Feb 2024 11:46:13 +0000 Subject: [PATCH 6/7] fix generator.test src path --- .../dash-generator-test-component-typescript/generator.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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') From ad29d3c59b0dbc06fc94c9a4271e3bb1af6a7886 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Tue, 13 Feb 2024 10:05:39 +0000 Subject: [PATCH 7/7] move data-files into pyproject.toml --- pyproject.toml | 8 ++++++++ setup.py | 19 ------------------- 2 files changed, 8 insertions(+), 19 deletions(-) delete mode 100644 setup.py diff --git a/pyproject.toml b/pyproject.toml index 3508c0f9a1..3aacca2d25 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,3 +71,11 @@ 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/setup.py b/setup.py deleted file mode 100644 index 9ec06c801d..0000000000 --- a/setup.py +++ /dev/null @@ -1,19 +0,0 @@ -from setuptools import setup - - -setup( - 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" - ]), - ], -)