diff --git a/frontend-components/plotly/package-lock.json b/frontend-components/plotly/package-lock.json index 09cb4d6ab63..24f9e25cc66 100644 --- a/frontend-components/plotly/package-lock.json +++ b/frontend-components/plotly/package-lock.json @@ -72,42 +72,42 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.21.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", - "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.5.tgz", - "integrity": "sha512-9M398B/QH5DlfCOTKDZT1ozXr0x8uBEeFd+dJraGUZGiaNpGCDVGCc14hZexsMblw3XxltJ+6kSvogp9J+5a9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.5", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -123,12 +123,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", - "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", "dev": true, "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -138,13 +138,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" @@ -157,151 +157,151 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "dependencies": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -310,9 +310,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.5.tgz", - "integrity": "sha512-J+IxH2IsxV4HbnTrSWgMAQj0UEo61hDA4Ny8h8PCX0MLXiibqHbqIOVneqdocemSBc22VpBKxt4J6FQzy9HarQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -322,12 +322,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", - "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", + "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -337,12 +337,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", - "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", + "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -352,9 +352,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -363,33 +363,33 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -398,13 +398,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -776,25 +776,24 @@ } }, "node_modules/@floating-ui/core": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz", - "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz", + "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==" }, "node_modules/@floating-ui/dom": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz", - "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.9.tgz", + "integrity": "sha512-sosQxsqgxMNkV3C+3UqTS6LxP7isRLwX8WMepp843Rb3/b0Wz8+MdUkxJksByip3C2WwLugLHN1b4ibn//zKwQ==", "dependencies": { - "@floating-ui/core": "^0.7.3" + "@floating-ui/core": "^1.2.6" } }, "node_modules/@floating-ui/react-dom": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-0.7.2.tgz", - "integrity": "sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.0.tgz", + "integrity": "sha512-Ke0oU3SeuABC2C4OFu2mSAwHIP5WUiV98O9YWoHV4Q5aT6E9k06DV0Khi5uYspR8xmmBk08t8ZDcz3TR3ARkEg==", "dependencies": { - "@floating-ui/dom": "^0.5.3", - "use-isomorphic-layout-effect": "^1.1.1" + "@floating-ui/dom": "^1.2.7" }, "peerDependencies": { "react": ">=16.8.0", @@ -1011,207 +1010,311 @@ } }, "node_modules/@radix-ui/number": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", - "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", "dependencies": { "@babel/runtime": "^7.13.10" } }, "node_modules/@radix-ui/primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", - "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", "dependencies": { "@babel/runtime": "^7.13.10" } }, "node_modules/@radix-ui/react-arrow": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.2.tgz", - "integrity": "sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.2" + "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-checkbox": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz", - "integrity": "sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.0", - "@radix-ui/react-use-previous": "1.0.0", - "@radix-ui/react-use-size": "1.0.0" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.2.tgz", - "integrity": "sha512-s8WdQQ6wNXpaxdZ308KSr8fEWGrg4un8i4r/w7fhiS4ElRNjk5rRcl0/C6TANG2LvLOGIxtzo/jAg6Qf73TEBw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-slot": "1.0.1" + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", - "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-context": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", - "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-context-menu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.3.tgz", - "integrity": "sha512-T+Jpbl/L9eJmlNGdgrl39NUqYTrtHJz4FmjdSc2WDUiZXWMmokK+1K8t/xEcx9q2PvVYfL5UDy9dkzU9UouyGw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.4.tgz", + "integrity": "sha512-HVHLUtZOBiR2Fh5l07qQ9y0IgX4dGZF0S9Gwdk4CVA+DL9afSphvFNa4nRiw6RNgb6quwLV4dLPF/gFDvNaOcQ==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-menu": "2.0.4", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-menu": "2.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz", - "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.4.tgz", + "integrity": "sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-dismissable-layer": "1.0.3", - "@radix-ui/react-focus-guards": "1.0.0", - "@radix-ui/react-focus-scope": "1.0.2", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-portal": "1.0.2", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-slot": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.0", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.5" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-direction": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", - "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz", - "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-escape-keydown": "1.0.2" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.4.tgz", - "integrity": "sha512-y6AT9+MydyXcByivdK1+QpjWoKaC7MLjkS/cH1Q3keEyMvDkiY85m8o2Bi6+Z1PPUlCsMULopxagQOSfN0wahg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.5.tgz", + "integrity": "sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-menu": "2.0.4", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.0" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-menu": "2.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.0.tgz", - "integrity": "sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz", - "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0" + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-icons": { @@ -1223,319 +1326,473 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz", - "integrity": "sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.0" + "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-menu": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.4.tgz", - "integrity": "sha512-mzKR47tZ1t193trEqlQoJvzY4u9vYfVH16ryBrVrCAGZzkgyWnMQYEZdUkM7y8ak9mrkKtJiqB47TlEnubeOFQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.5.tgz", + "integrity": "sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-collection": "1.0.2", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-direction": "1.0.0", - "@radix-ui/react-dismissable-layer": "1.0.3", - "@radix-ui/react-focus-guards": "1.0.0", - "@radix-ui/react-focus-scope": "1.0.2", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-popper": "1.1.1", - "@radix-ui/react-portal": "1.0.2", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-roving-focus": "1.0.3", - "@radix-ui/react-slot": "1.0.1", - "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.5" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-popper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.1.tgz", - "integrity": "sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "0.7.2", - "@radix-ui/react-arrow": "1.0.2", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-layout-effect": "1.0.0", - "@radix-ui/react-use-rect": "1.0.0", - "@radix-ui/react-use-size": "1.0.0", - "@radix-ui/rect": "1.0.0" + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-portal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz", - "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.2" + "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-presence": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", - "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-use-layout-effect": "1.0.0" + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz", - "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.1" + "@radix-ui/react-slot": "1.0.2" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-radio-group": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.2.tgz", - "integrity": "sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz", + "integrity": "sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-direction": "1.0.0", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-roving-focus": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.0", - "@radix-ui/react-use-previous": "1.0.0", - "@radix-ui/react-use-size": "1.0.0" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-roving-focus": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.3.tgz", - "integrity": "sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-collection": "1.0.2", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-direction": "1.0.0", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-select": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.1.tgz", - "integrity": "sha512-GULRMITaOHNj79BZvQs3iZO0+f2IgI8g5HDhMi7Bnc13t7IlG86NFtOCfTLme4PNZdEtU+no+oGgcl6IFiphpQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", + "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/number": "1.0.0", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-collection": "1.0.2", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-direction": "1.0.0", - "@radix-ui/react-dismissable-layer": "1.0.3", - "@radix-ui/react-focus-guards": "1.0.0", - "@radix-ui/react-focus-scope": "1.0.2", - "@radix-ui/react-id": "1.0.0", - "@radix-ui/react-popper": "1.1.1", - "@radix-ui/react-portal": "1.0.2", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-slot": "1.0.1", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0", - "@radix-ui/react-use-layout-effect": "1.0.0", - "@radix-ui/react-use-previous": "1.0.0", - "@radix-ui/react-visually-hidden": "1.0.2", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.5" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-slot": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", - "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.0" + "@radix-ui/react-compose-refs": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-toast": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.3.tgz", - "integrity": "sha512-yHFgpxi9wjbfPvpSPdYAzivCqw48eA1ofT8m/WqYOVTxKPdmQMuVKRYPlMmj4C1d6tJdFj/LBa1J4iY3fL4OwQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.4.tgz", + "integrity": "sha512-wf+fc8DOywrpRK3jlPlWVe+ELYGHdKDaaARJZNuUTWyWYq7+ANCFLp4rTjZ/mcGkJJQ/vZ949Zis9xxEpfq9OA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.0", - "@radix-ui/react-collection": "1.0.2", - "@radix-ui/react-compose-refs": "1.0.0", - "@radix-ui/react-context": "1.0.0", - "@radix-ui/react-dismissable-layer": "1.0.3", - "@radix-ui/react-portal": "1.0.2", - "@radix-ui/react-presence": "1.0.0", - "@radix-ui/react-primitive": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.0", - "@radix-ui/react-use-controllable-state": "1.0.0", - "@radix-ui/react-use-layout-effect": "1.0.0", - "@radix-ui/react-visually-hidden": "1.0.2" + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", - "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz", - "integrity": "sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.0" + "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.2.tgz", - "integrity": "sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.0" + "@radix-ui/react-use-callback-ref": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", - "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-previous": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz", - "integrity": "sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-rect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz", - "integrity": "sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/rect": "1.0.0" + "@radix-ui/rect": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-use-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz", - "integrity": "sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.0" + "@radix-ui/react-use-layout-effect": "1.0.1" }, "peerDependencies": { + "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.2.tgz", - "integrity": "sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", "dependencies": { "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.2" + "@radix-ui/react-primitive": "1.0.3" }, "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, "node_modules/@radix-ui/rect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.0.tgz", - "integrity": "sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", "dependencies": { "@babel/runtime": "^7.13.10" } @@ -1607,9 +1864,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", - "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", + "version": "18.16.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.17.tgz", + "integrity": "sha512-QAkjjRA1N7gPJeAP4WLXZtYv6+eMXFNviqktCDt4GLcmCugMr5BcRHfkOjCQzvCsnMp+L79a54zBkbw356xv9Q==", "dev": true }, "node_modules/@types/plotly.js": { @@ -1634,9 +1891,9 @@ "devOptional": true }, "node_modules/@types/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz", - "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.11.tgz", + "integrity": "sha512-+hsJr9hmwyDecSMQAmX7drgbDpyE+EgSF6t7+5QEBAn1tQK7kl1vWZ4iRf6SjQ8lk7dyEULxUmZOIpN0W5baZA==", "devOptional": true, "dependencies": { "@types/prop-types": "*", @@ -1645,10 +1902,10 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.1.tgz", - "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==", - "dev": true, + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz", + "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==", + "devOptional": true, "dependencies": { "@types/react": "*" } @@ -1783,15 +2040,6 @@ "node": ">=10" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-bounds": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", @@ -1828,12 +2076,6 @@ "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==", "peer": true }, - "node_modules/atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==", - "peer": true - }, "node_modules/autoprefixer": { "version": "10.4.14", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", @@ -1933,9 +2175,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "dev": true, "funding": [ { @@ -1945,13 +2187,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -1976,9 +2222,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001481", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", - "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "version": "1.0.30001498", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001498.tgz", + "integrity": "sha512-LFInN2zAwx3ANrGCDZ5AKKJroHqNKyjXitdV5zRIVIaQlXKj3GmxUKagoKsjqUfckpAObPCEWnk5EeMlyMWcgw==", "dev": true, "funding": [ { @@ -2172,19 +2418,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "node_modules/compute-dims": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/compute-dims/-/compute-dims-1.1.0.tgz", - "integrity": "sha512-YHMiIKjH/8Eom8zATk3g8/lH3HxGCZcVQyEfEoVrfWI7od/WRpTgRGShnei3jArYSx77mQqPxZNokjGHCdLfxg==", - "peer": true, - "dependencies": { - "utils-copy": "^1.0.0", - "validate.io-array": "^1.0.6", - "validate.io-matrix-like": "^1.0.2", - "validate.io-ndarray-like": "^1.0.0", - "validate.io-positive-integer": "^1.0.0" - } - }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2206,18 +2439,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/const-max-uint32": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/const-max-uint32/-/const-max-uint32-1.0.2.tgz", - "integrity": "sha512-T8/9bffg5RThuejasJWrwqxs3Q0fsJvyl7/33IB6svroD8JC93E7X60AuuOnDE8RlP6Jlb5FxmlrVDpl9KiU2Q==", - "peer": true - }, - "node_modules/const-pinf-float64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/const-pinf-float64/-/const-pinf-float64-1.0.0.tgz", - "integrity": "sha512-wfs+V4HdSN7C3CWJWR7hVa24yTPn3mDJthwhRIObZBh6UjTjkUMUrCP3UrNGozB/HjTpcScnGXtQUNa+yjsIJQ==", - "peer": true - }, "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -2576,9 +2797,9 @@ "peer": true }, "node_modules/electron-to-chromium": { - "version": "1.4.377", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz", - "integrity": "sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw==", + "version": "1.4.427", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", + "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==", "dev": true }, "node_modules/element-size": { @@ -2877,12 +3098,6 @@ "dtype": "^2.0.0" } }, - "node_modules/flip-pixels": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flip-pixels/-/flip-pixels-1.0.2.tgz", - "integrity": "sha512-oXbJGbjDnfJRWPC7Va38EFhd+A8JWE5/hCiKcK8qjCdbLj9DTpsq6MEudwpRTH+V4qq+Jw7d3pUgQdSr3x3mTA==", - "peer": true - }, "node_modules/font-atlas": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", @@ -3381,17 +3596,6 @@ ], "peer": true }, - "node_modules/image-palette": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/image-palette/-/image-palette-2.1.0.tgz", - "integrity": "sha512-3ImSEWD26+xuQFdP0RWR4WSXadZwvgrFhjGNpMEapTG1tf2XrBFS2dlKK5hNgH4UIaSQlSUFRn1NeA+zULIWbQ==", - "peer": true, - "dependencies": { - "color-id": "^1.1.0", - "pxls": "^2.0.0", - "quantize": "^1.0.2" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3415,12 +3619,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/is-base64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-base64/-/is-base64-0.1.0.tgz", - "integrity": "sha512-WRRyllsGXJM7ZN7gPTCCQ/6wNPTRDwiWdPK66l5sJzcU/oOzcIcRRf0Rux8bkpox/1yjt0F6VJRsQOIG2qz5sg==", - "peer": true - }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -3433,47 +3631,12 @@ "node": ">=8" } }, - "node_modules/is-blob": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", - "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==", - "peer": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==", "peer": true }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/is-core-module": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", @@ -3515,12 +3678,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-float-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-float-array/-/is-float-array-1.0.0.tgz", - "integrity": "sha512-4ew1Sx6B6kEAl3T3NOM0yB94J3NZnBdNt4paw0e8nY73yHHTeTEhyQ3Lj7EQEnv5LD+GxNTaT4L46jcKjjpLiQ==", - "peer": true - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -3986,15 +4143,6 @@ "node": ">= 6" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4123,9 +4271,9 @@ } }, "node_modules/plotly.js": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.22.0.tgz", - "integrity": "sha512-g+YTMnChFDx/fNUV2rqkrf87wKwKuOhqv9LIxhmPyF94RGM4v4blP0mmgwQ278qv3kXmfTMJecIUusr1gzscng==", + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.24.2.tgz", + "integrity": "sha512-4Sx0bjEO2K8kdt0lvsne7/b2bc9h45SVEDGoA7hnoyZ6tU58aGMJTwXl+nmbE7P1jTVaPF3FmBy7w0NUCR1qtQ==", "peer": true, "dependencies": { "@plotly/d3": "3.8.1", @@ -4167,7 +4315,7 @@ "regl": "npm:@plotly/regl@^2.1.2", "regl-error2d": "^2.0.12", "regl-line2d": "^3.1.2", - "regl-scatter2d": "^3.2.8", + "regl-scatter2d": "^3.2.9", "regl-splom": "^1.0.14", "strongly-connected-components": "^1.0.1", "superscript-text": "^1.0.0", @@ -4180,9 +4328,9 @@ } }, "node_modules/plotly.js-dist-min": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.22.0.tgz", - "integrity": "sha512-2b7w4CQI06px8HVpKpgZtfuoDjuCLA26VlgdnG71UDBrJvtCYvXb39H4ElNv+CA1bbD4S98KanpWPRqTqlxBZw==" + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.24.2.tgz", + "integrity": "sha512-FOmmzC2WhSIffhC9OQf/Lqvt59R+nzOoqYlnauDEr2SrjCM7lJFV8u9CI2f4lL20EgJZfLRSMbo5mG5go10YLw==" }, "node_modules/point-in-polygon": { "version": "1.1.0", @@ -4197,9 +4345,9 @@ "peer": true }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", "dev": true, "funding": [ { @@ -4328,13 +4476,12 @@ "dev": true }, "node_modules/posthog-js": { - "version": "1.55.0", - "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.55.0.tgz", - "integrity": "sha512-kDqHRM+/nNMnoO4QRkI8S22NjxDmmLV9m+2FqzDJ0os76Icev/xPqEUnWkjeDC8CPj1Ujnj3lwpCqNfil/eQig==", + "version": "1.67.1", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.67.1.tgz", + "integrity": "sha512-gvdCVrrxoRYbtNTCUt2/YdZ+tfSfzcl72ym/dtRVCYJpwlCUIKnNJ3E2g7Bbw1+Ki6CvGxdu9r7jHIWnvJAMuw==", "dev": true, "dependencies": { - "fflate": "^0.4.1", - "rrweb-snapshot": "^1.1.14" + "fflate": "^0.4.1" } }, "node_modules/potpack": { @@ -4385,29 +4532,6 @@ "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", "peer": true }, - "node_modules/pxls": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/pxls/-/pxls-2.3.2.tgz", - "integrity": "sha512-pQkwgbLqWPcuES5iEmGa10OlCf5xG0blkIF3dg7PpRZShbTYcvAdfFfGL03SMrkaSUaa/V0UpN9HWg40O2AIIw==", - "peer": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "compute-dims": "^1.1.0", - "flip-pixels": "^1.0.2", - "is-browser": "^2.1.0", - "is-buffer": "^2.0.3", - "to-uint8": "^1.4.1" - } - }, - "node_modules/quantize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quantize/-/quantize-1.0.2.tgz", - "integrity": "sha512-25P7wI2UoDbIQsQp50ARkt+5pwPsOq7G/BqvT5xAbapnRoNWMN8/p55H9TXd5MuENiJnm5XICB2H2aDZGwts7w==", - "peer": true, - "engines": { - "node": ">=0.10.21" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4624,12 +4748,6 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, - "node_modules/regex-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-regex/-/regex-regex-1.0.0.tgz", - "integrity": "sha512-FPbEhFTLpxKNgHKay3zMfkHzFK2ebViAlyvsz5euO4kwekH0T6fAL4Sdo2CgQ7Y1tGB5HqQm8SBq7pW5GegvVA==", - "peer": true - }, "node_modules/regl": { "name": "@plotly/regl", "version": "2.1.2", @@ -4673,9 +4791,9 @@ } }, "node_modules/regl-scatter2d": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.8.tgz", - "integrity": "sha512-bqrqJyeHkGBa9mEfuBnRd7FUtdtZ1l+gsM2C5Ugr1U3vJG5K3mdWdVWtOAllZ5FHHyWJV/vgjVvftgFUg6CDig==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.2.9.tgz", + "integrity": "sha512-PNrXs+xaCClKpiB2b3HZ2j3qXQXhC5kcTh/Nfgx9rLO0EpEhab0BSQDqAsbdbpdf+pSHSJvbgitB7ulbGeQ+Fg==", "peer": true, "dependencies": { "@plotly/point-cluster": "^3.1.9", @@ -4687,7 +4805,6 @@ "color-rgba": "^2.1.1", "flatten-vertex-data": "^1.0.2", "glslify": "^7.0.0", - "image-palette": "^2.1.0", "is-iexplorer": "^1.0.0", "object-assign": "^4.1.1", "parse-rect": "^1.2.0", @@ -4754,9 +4871,9 @@ "peer": true }, "node_modules/rollup": { - "version": "3.21.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", - "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.1.tgz", + "integrity": "sha512-REHe5dx30ERBRFS0iENPHy+t6wtSEYkjrhwNsLyh3qpRaZ1+aylvMUdMBUHWUD/RjjLmLzEvY8Z9XRlpcdIkHA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -4769,12 +4886,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/rrweb-snapshot": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/rrweb-snapshot/-/rrweb-snapshot-1.1.14.tgz", - "integrity": "sha512-eP5pirNjP5+GewQfcOQY4uBiDnpqxNRc65yKPW0eSoU1XamDfc4M8oqpXGMyUyvLyxFDB0q0+DChuxxiU2FXBQ==", - "dev": true - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4968,16 +5079,6 @@ "parenthesis": "^3.1.5" } }, - "node_modules/string-to-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-to-arraybuffer/-/string-to-arraybuffer-1.0.2.tgz", - "integrity": "sha512-DaGZidzi93dwjQen5I2osxR9ERS/R7B1PFyufNMnzhj+fmlDQAc1DSDIJVJhgI8Oq221efIMbABUBdPHDRt43Q==", - "peer": true, - "dependencies": { - "atob-lite": "^2.0.0", - "is-base64": "^0.1.0" - } - }, "node_modules/strongly-connected-components": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", @@ -5174,17 +5275,6 @@ "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", "peer": true }, - "node_modules/to-array-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/to-array-buffer/-/to-array-buffer-3.2.0.tgz", - "integrity": "sha512-zN33mwi0gpL+7xW1ITLfJ48CEj6ZQW0ZAP0MU+2W3kEY0PAIncyuxmD4OqkUVhPAbTP7amq9j/iwvZKYS+lzSQ==", - "peer": true, - "dependencies": { - "flatten-vertex-data": "^1.0.2", - "is-blob": "^2.0.1", - "string-to-arraybuffer": "^1.0.0" - } - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -5221,19 +5311,6 @@ "node": ">=8.0" } }, - "node_modules/to-uint8": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/to-uint8/-/to-uint8-1.4.1.tgz", - "integrity": "sha512-o+ochsMlTZyucbww8It401FC2Rx+OP2RpDeYbA6h+y9HgedDl1UjdsJ9CmzKEG7AFP9es5PmJ4eDWeeeXihESg==", - "peer": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "clamp": "^1.0.1", - "is-base64": "^0.1.0", - "is-float-array": "^1.0.0", - "to-array-buffer": "^3.0.0" - } - }, "node_modules/topojson-client": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", @@ -5255,9 +5332,9 @@ "dev": true }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "node_modules/type": { "version": "1.2.0", @@ -5277,12 +5354,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz", - "integrity": "sha512-kkgkuqR/jKdKO5oh/I2SMu2dGbLXoJq0zkdgbxaqYK+hr9S9edwVVGf+tMUFTx2gH9TN2+Zu9JZ/Njonb3cjhA==", - "peer": true - }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -5374,19 +5445,6 @@ } } }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -5413,145 +5471,10 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "node_modules/utils-copy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/utils-copy/-/utils-copy-1.1.1.tgz", - "integrity": "sha512-+NhJVV+PcxjdpkMrVTqXhQHPldlFGca5XR9YnGyNn7kQ0fMi+DqNLzdnhJ4TJ1HNy/HzB7c+FPg3y+4icY99ZA==", - "peer": true, - "dependencies": { - "const-pinf-float64": "^1.0.0", - "object-keys": "^1.0.9", - "type-name": "^2.0.0", - "utils-copy-error": "^1.0.0", - "utils-indexof": "^1.0.0", - "utils-regex-from-string": "^1.0.0", - "validate.io-array": "^1.0.3", - "validate.io-buffer": "^1.0.1", - "validate.io-nonnegative-integer": "^1.0.0" - } - }, - "node_modules/utils-copy-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-copy-error/-/utils-copy-error-1.0.1.tgz", - "integrity": "sha512-RbJcGPZ6Ru2HQk9SWkvbdWNPX58pt4MO5uXsOQRu4LEGWB3LglkRrmnE/Ph1qWg6ywQ0qj95wTz1OeqQ2l8DCA==", - "peer": true, - "dependencies": { - "object-keys": "^1.0.9", - "utils-copy": "^1.1.0" - } - }, - "node_modules/utils-indexof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-indexof/-/utils-indexof-1.0.0.tgz", - "integrity": "sha512-76QBfRJpn4A0P5uTO1x00x+Yog36w2Pab0n+aT9UfUvVa4l+e8k3p7YwNpDvfQ6+aKGZdxZpxcNotNS4YjFcyg==", - "peer": true, - "dependencies": { - "validate.io-array-like": "^1.0.1", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "node_modules/utils-regex-from-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-regex-from-string/-/utils-regex-from-string-1.0.0.tgz", - "integrity": "sha512-xKfdmEF19iUu9TKxFiohQUlQTuqYdV80/CxHiudVI37iEV/OA4HHlXZoc4qvuO1B74EcBVpErBreRO/dpdLeYA==", - "peer": true, - "dependencies": { - "regex-regex": "^1.0.0", - "validate.io-string-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-array": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", - "integrity": "sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==", - "peer": true - }, - "node_modules/validate.io-array-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-array-like/-/validate.io-array-like-1.0.2.tgz", - "integrity": "sha512-rGLiN0cvY9OWzQcWP+RtqZR/MK9RUz3gKDTCcRLtEQ/BvlanMF5PyqtVIN+CgrIBCv/ypfme9v7r4yMJPYpbNA==", - "peer": true, - "dependencies": { - "const-max-uint32": "^1.0.2", - "validate.io-integer-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-buffer/-/validate.io-buffer-1.0.2.tgz", - "integrity": "sha512-6Tad+/QYOxWEXsesKYak1mHOzGdPYS4QeHFImWn7ECi4GR0x3vh7+6+1yoLKNXiklKuTFOxHLG3kZy9tPX0GvQ==", - "peer": true - }, - "node_modules/validate.io-integer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", - "integrity": "sha512-22izsYSLojN/P6bppBqhgUDjCkr5RY2jd+N2a3DCAUey8ydvrZ/OkGvFPR7qfOpwR2LC5p4Ngzxz36g5Vgr/hQ==", - "peer": true, - "dependencies": { - "validate.io-number": "^1.0.3" - } - }, - "node_modules/validate.io-integer-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-integer-primitive/-/validate.io-integer-primitive-1.0.0.tgz", - "integrity": "sha512-4ARGKA4FImVWJgrgttLYsYJmDGwxlhLfDCdq09gyVgohLKKRUfD3VAo1L2vTRCLt6hDhDtFKdZiuYUTWyBggwg==", - "peer": true, - "dependencies": { - "validate.io-number-primitive": "^1.0.0" - } - }, - "node_modules/validate.io-matrix-like": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/validate.io-matrix-like/-/validate.io-matrix-like-1.0.2.tgz", - "integrity": "sha512-86mqLUIkZCRAOVKZvpCB7sDCw1dKBjBkY+C6WO/wLo/jQx0sOqQZz3LLtDw0DCfuAKxRuhSmIpX3nzr0nWrbdw==", - "peer": true - }, - "node_modules/validate.io-ndarray-like": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-ndarray-like/-/validate.io-ndarray-like-1.0.0.tgz", - "integrity": "sha512-OV85AosxraPFSXJwzv/d7Cu5/dLiyLtsHmxtHTJcHW1N0uscd0eJ2df1Zk+HdID0eUctUllW/1YuQPUJFv1pTA==", - "peer": true - }, - "node_modules/validate.io-nonnegative-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-nonnegative-integer/-/validate.io-nonnegative-integer-1.0.0.tgz", - "integrity": "sha512-uOMekPwcl84yg8NR7zgIZCZ9pHCtd9CK1Ri51N+ZJLTe1HyLbmdFdy7ZmfkiHkMvB1pOxeQmd1/LBjKhUD1L3A==", - "peer": true, - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-number": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", - "integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg==", - "peer": true - }, - "node_modules/validate.io-number-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-number-primitive/-/validate.io-number-primitive-1.0.0.tgz", - "integrity": "sha512-8rlCe7N0TRTd50dwk4WNoMXNbX/4+RdtqE3TO6Bk0GJvAgbQlfL5DGr/Pl9ZLbWR6CutMjE2cu+yOoCnFWk+Qw==", - "peer": true - }, - "node_modules/validate.io-positive-integer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/validate.io-positive-integer/-/validate.io-positive-integer-1.0.0.tgz", - "integrity": "sha512-eg4LSdyqjICNUZWRilcQ5l+YayRlu6yi+GQsWw1bCmtG9yayOPmLa1fPymEHPPhbvWPAv3w0LLbCsf03pBHZkg==", - "peer": true, - "dependencies": { - "validate.io-integer": "^1.0.5" - } - }, - "node_modules/validate.io-string-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/validate.io-string-primitive/-/validate.io-string-primitive-1.0.1.tgz", - "integrity": "sha512-TORbkLMdOFkEbPtfdx76FSVQGSAzyUEMxI+pBq5pfFm1ZzIesP+XiGc6eIK75aKu7RA7a8EcqUv5OrY5wfog5w==", - "peer": true - }, "node_modules/vite": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.3.tgz", - "integrity": "sha512-MwFlLBO4udZXd+VBcezo3u8mC77YQk+ik+fbc0GZWGgzfbPP+8Kf0fldhARqvSYmtIWoAJ5BXPClUbMTlqFxrA==", + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", "dev": true, "dependencies": { "esbuild": "^0.17.5", @@ -5728,9 +5651,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, "engines": { "node": ">= 14" diff --git a/openbb_terminal/common/quantitative_analysis/qa_view.py b/openbb_terminal/common/quantitative_analysis/qa_view.py index 2c4cd828271..6cf1bcb1453 100644 --- a/openbb_terminal/common/quantitative_analysis/qa_view.py +++ b/openbb_terminal/common/quantitative_analysis/qa_view.py @@ -660,7 +660,7 @@ def display_seasonal( y=plot_data[target], name="Values", line_color=next(colors), - legendgroup="Values", + legend="legend", row=1, col=1, ) @@ -679,7 +679,7 @@ def display_seasonal( y=plot_data[column[j]], name=name[j], line_color=next(colors) if i != 0 else theme.down_color, - legendgroup=f"{i}", + legend=f"legend{i + 2}", row=i + 2, col=1, ) @@ -689,17 +689,31 @@ def display_seasonal( y=plot_data["resid"], name="Residuals", line_color=next(colors), - legendgroup="Residuals", + legend="legend4", row=4, col=1, ) + + legend_defaults = dict( + xanchor="left", + yanchor="top", + xref="paper", + yref="paper", + font=dict(size=13), + bgcolor="rgba(0, 0, 0, 0.4)", + ) fig.update_traces(selector=dict(name="Cyclic-Trend"), line_color=theme.down_color) fig.update_traces( selector=dict(name="Cycle component"), line=dict(color=theme.up_color, dash="dash"), ) fig.update_yaxes(nticks=5) - fig.update_layout(legend=dict(tracegroupgap=120, groupclick="toggleitem")) + fig.update_layout( + legend=dict(**legend_defaults), + legend2=dict(x=0.01, y=0.73, **legend_defaults), + legend3=dict(x=0.01, y=0.46, **legend_defaults), + legend4=dict(x=0.01, y=0.20, **legend_defaults), + ) # From #https: // otexts.com/fpp2/seasonal-strength.html console.print("Time-Series Level is " + str(round(data.mean(), 2))) diff --git a/openbb_terminal/common/quantitative_analysis/rolling_view.py b/openbb_terminal/common/quantitative_analysis/rolling_view.py index 9f48095c265..4fc1cac63f6 100644 --- a/openbb_terminal/common/quantitative_analysis/rolling_view.py +++ b/openbb_terminal/common/quantitative_analysis/rolling_view.py @@ -76,6 +76,7 @@ def display_mean_std( x=plot_data.index, y=plot_data[target].values, name="Real Values", + legend="legend", row=1, col=1, ) @@ -83,6 +84,7 @@ def display_mean_std( x=plot_data.index, y=plot_data[target + "_mean"].values, name="Rolling Mean", + legend="legend", row=1, col=1, ) @@ -90,10 +92,20 @@ def display_mean_std( x=plot_data.index, y=plot_data[target + "_std"].values, name="Rolling Std", + legend="legend2", row=2, col=1, ) fig.update_layout( + legend=dict(xref="paper", yref="paper"), + legend2=dict( + xanchor="left", + yanchor="top", + xref="paper", + yref="paper", + x=0.01, + y=0.44, + ), yaxis=dict(title="Values"), yaxis2=dict(title=f"{target} Std Deviation"), ) diff --git a/openbb_terminal/core/plots/backend.py b/openbb_terminal/core/plots/backend.py index ab88c4b55a6..760bfc0043a 100644 --- a/openbb_terminal/core/plots/backend.py +++ b/openbb_terminal/core/plots/backend.py @@ -50,7 +50,7 @@ else: JUPYTER_NOTEBOOK = True PLOTS_CORE_PATH = Path(__file__).parent.resolve() -PLOTLYJS_PATH = PLOTS_CORE_PATH / "assets" / "plotly-2.21.0.min.js" +PLOTLYJS_PATH = PLOTS_CORE_PATH / "assets" / "plotly-2.24.2.min.js" BACKEND = None @@ -183,7 +183,7 @@ class Backend(PyWry): export_image : str, optional Path to export image to, by default "" """ - self.loop.run_until_complete(self.check_backend()) + self.ensure_backend() # pylint: disable=C0415 from openbb_terminal.helper_funcs import command_location @@ -261,7 +261,7 @@ class Backend(PyWry): theme : light or dark, optional Theme of the table, by default "light" """ - self.loop.run_until_complete(self.check_backend()) + self.ensure_backend() if title: # We remove any html tags and markdown from the title @@ -328,7 +328,7 @@ class Backend(PyWry): height : int, optional Height of the window, by default 800 """ - self.loop.run_until_complete(self.check_backend()) + self.ensure_backend() script = f""" \n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " f\"INVESTMENT RESEARCH REPORT: {ticker}\",\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks(\n", diff --git a/openbb_terminal/reports/templates/economy.ipynb b/openbb_terminal/reports/templates/economy.ipynb index 7a7de2e7e87..5e52d0f0a0c 100644 --- a/openbb_terminal/reports/templates/economy.ipynb +++ b/openbb_terminal/reports/templates/economy.ipynb @@ -29,12 +29,11 @@ "\n", "import openbb_terminal.config_terminal as cfg\n", "from openbb_terminal.helper_funcs import get_user_timezone\n", - "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", "from openbb_terminal import OpenBBFigure, theme\n", "from openbb_terminal.helper_classes import TerminalStyle\n", "\n", "\n", - "warnings.filterwarnings(\"ignore\")" + "warnings.filterwarnings(\"ignore\")\n" ] }, { @@ -50,7 +49,7 @@ "set_system_variable(\"LOGGING_SUPPRESS\", True)\n", "\n", "# Import the OpenBB SDK\n", - "from openbb_terminal.sdk import openbb, widgets" + "from openbb_terminal.sdk import openbb, widgets\n" ] }, { @@ -68,7 +67,8 @@ " user.preferences.MPL_STYLE,\n", " user.preferences.PMF_STYLE,\n", " user.preferences.RICH_STYLE,\n", - ")" + ")\n", + "theme.apply_style(\"light\")\n" ] }, { @@ -78,7 +78,7 @@ "metadata": {}, "outputs": [], "source": [ - "stylesheet = widgets.html_report_stylesheet()" + "stylesheet = widgets.html_report_stylesheet()\n" ] }, { @@ -94,7 +94,7 @@ "source": [ "# Parameters that will be replaced when calling this notebook\n", "# Do not leave parameters blank as notebook will not run otherwise\n", - "report_name = \"economy_report\"" + "report_name = \"economy_report\"\n" ] }, { @@ -110,7 +110,7 @@ "report_date = pd.Timestamp.now(tz=user_time_zone).strftime(\"%d %B, %Y\")\n", "report_time = pd.Timestamp.now(tz=user_time_zone).strftime(\"%H:%M\")\n", "report_timezone = pd.Timestamp.now(tz=user_time_zone).tzinfo\n", - "report_title, report_date, report_time, report_timezone" + "report_title, report_date, report_time, report_timezone\n" ] }, { @@ -145,7 +145,7 @@ "futures = openbb.economy.futures()\n", "futures.set_index(list(futures.columns[0]), inplace=True)\n", "futures[\"%Chg\"] = futures[\"%Chg\"].apply(lambda x: float(f\"{x:.2f}\"))\n", - "futures_fig = OpenBBFigure.to_table(futures, print_index=True)" + "futures_fig = OpenBBFigure.to_table(futures, print_index=True)\n" ] }, { @@ -168,7 +168,7 @@ " news[\"Published\"] = pd.to_datetime(news[\"Published\"]).dt.strftime(\"%Y-%m-%d %H:%M\")\n", " news = news.set_index(\"Published\")\n", "except:\n", - " news = pd.DataFrame()" + " news = pd.DataFrame()\n" ] }, { @@ -195,8 +195,8 @@ ")\n", "subplots.update_xaxes(title_text=\"Performance (%)\", row=1, col=1)\n", "subplots.update_xaxes(title_text=\"Change %\", row=1, col=2)\n", - "subplots.update_layout(margin=dict(l=0, r=0, t=0, b=0), yaxis=dict(side=\"left\"))\n", - "chart_0 = subplots.to_html()" + "subplots.update_layout(margin=dict(l=0, r=0, t=0, b=0), yaxis=dict(side=\"left\", nticks=15), yaxis2=dict(nticks=15))\n", + "chart_0 = subplots.to_html()\n" ] }, { @@ -244,7 +244,7 @@ " start_date=datetime.datetime.now().strftime(\"%Y-%m-%d\"),\n", ")\n", "if not events_3.empty:\n", - " events_3 = OpenBBFigure.to_table(events_3.set_index(\"Date\"), print_index=True)" + " events_3 = OpenBBFigure.to_table(events_3.set_index(\"Date\"), print_index=True)\n" ] }, { @@ -292,7 +292,7 @@ " \"30Y\",\n", " ]\n", "else:\n", - " ycrv = None" + " ycrv = None\n" ] }, { @@ -302,7 +302,7 @@ "metadata": {}, "outputs": [], "source": [ - "openbb.economy.treasury_maturities()" + "openbb.economy.treasury_maturities()\n" ] }, { @@ -316,8 +316,9 @@ " 2,\n", " 2,\n", " vertical_spacing=0.15,\n", + " row_heights=[0.5, 0.5],\n", " subplot_titles=(\"UST 2y-10y\", \"UST 10y-30y\", \"Nominal vs TIPS\"),\n", - " specs=[[{}, {}], [{\"colspan\": 2}, None]],\n", + " specs=[[{\"type\": \"xy\"}, {\"type\": \"xy\"}], [{\"colspan\": 2}, None]],\n", ")\n", "openbb.economy.treasury_chart(\n", " instruments=[\"nominal\"],\n", @@ -343,7 +344,24 @@ " external_axes=True,\n", ").to_subplot(subplots, 2, 1)\n", "\n", - "ust = subplots.to_html()" + "subplots.update_traces(legend=\"legend\", row=1, col=1)\n", + "subplots.update_traces(legend=\"legend2\", row=1, col=2)\n", + "subplots.update_traces(legend=\"legend3\", row=2, col=1)\n", + "defaults = dict(\n", + " xanchor=\"left\",\n", + " yanchor=\"top\",\n", + " xref=\"paper\",\n", + " yref=\"paper\",\n", + " bgcolor=\"rgba(0, 0, 0, 0)\",\n", + ")\n", + "subplots.update_layout(\n", + " legend=dict(x=0.01, y=0.99, **defaults),\n", + " legend2=dict(x=0.562, y=0.99, **defaults),\n", + " legend3=dict(x=0.01, y=0.41, **defaults),\n", + ")\n", + "\n", + "\n", + "ust = subplots.to_html()\n" ] }, { @@ -363,7 +381,7 @@ "outputs": [], "source": [ "valuation = OpenBBFigure.to_table(openbb.economy.valuation(), print_index=False)\n", - "performance = OpenBBFigure.to_table(openbb.economy.performance(), print_index=False)" + "performance = OpenBBFigure.to_table(openbb.economy.performance(), print_index=False)\n" ] }, { @@ -388,7 +406,7 @@ " name=col,\n", " )\n", "\n", - "eqty_0 = fig.to_html()" + "eqty_0 = fig.update_layout(margin=dict(l=20, r=60), legend=dict(x=1.1)).to_html()\n" ] }, { @@ -413,7 +431,7 @@ " name=col,\n", " )\n", "\n", - "eqty_1 = fig.to_html()" + "eqty_1 = fig.update_layout(margin=dict(l=20, r=60), legend=dict(x=1.1)).to_html()\n" ] }, { @@ -437,7 +455,7 @@ " name=col,\n", " )\n", "\n", - "eqty_2 = fig.to_html()" + "eqty_2 = fig.update_layout(margin=dict(l=0, r=60), legend=dict(x=1.1)).to_html()\n" ] }, { @@ -462,7 +480,7 @@ " name=col,\n", " )\n", "\n", - "eqty_3 = fig.to_html()" + "eqty_3 = fig.update_layout(margin=dict(l=20, r=60), legend=dict(x=1.1)).to_html()\n" ] }, { @@ -484,7 +502,7 @@ " name=col,\n", " )\n", "\n", - "eqty_4 = fig.to_html()" + "eqty_4 = fig.update_layout(margin=dict(l=20, r=60), legend=dict(x=1.1)).to_html()\n" ] }, { @@ -518,10 +536,10 @@ " )\n", " if bigmac:\n", " bigmac.set_title(\"\")\n", - " bigmac = bigmac.to_html()\n", + " bigmac = bigmac.update_layout(margin=dict(l=0, r=60), legend=dict(x=1.1)).to_html()\n", "\n", "else:\n", - " bigmac_res = pd.DataFrame()" + " bigmac_res = pd.DataFrame()\n" ] }, { @@ -559,7 +577,7 @@ ")\n", "subplots.horizontal_legend()\n", "\n", - "macro_0 = subplots.to_html()" + "macro_0 = subplots.to_html()\n" ] }, { @@ -595,7 +613,7 @@ "\n", " fred_0 = fig.to_html()\n", "else:\n", - " fred = None" + " fred = None\n" ] }, { @@ -614,34 +632,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " f\"ECONOMY REPORT: Leverage multiple sources to create custom reports.\",\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks(\n", @@ -737,7 +737,7 @@ "\n", "# to save the results\n", "with open(report_name + \".html\", \"w\", encoding=\"utf-8\") as fh:\n", - " fh.write(report)" + " fh.write(report)\n" ] } ], @@ -758,7 +758,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.9" + "version": "3.10.11" }, "vscode": { "interpreter": { diff --git a/openbb_terminal/reports/templates/equity.ipynb b/openbb_terminal/reports/templates/equity.ipynb index 60c4c595276..ff49cbaf616 100644 --- a/openbb_terminal/reports/templates/equity.ipynb +++ b/openbb_terminal/reports/templates/equity.ipynb @@ -25,11 +25,10 @@ "\n", "from openbb_terminal import config_terminal as cfg\n", "from openbb_terminal.helper_classes import TerminalStyle\n", - "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", "from openbb_terminal import OpenBBFigure\n", "from openbb_terminal.core.plots.plotly_ta.ta_class import PlotlyTA\n", "\n", - "warnings.filterwarnings(\"ignore\")" + "warnings.filterwarnings(\"ignore\")\n" ] }, { @@ -45,7 +44,7 @@ "set_system_variable(\"LOGGING_SUPPRESS\", True)\n", "\n", "# Import the OpenBB SDK\n", - "from openbb_terminal.sdk import openbb, widgets" + "from openbb_terminal.sdk import openbb, widgets\n" ] }, { @@ -61,11 +60,12 @@ "\n", "from openbb_terminal import theme\n", "\n", - "# cfg.theme = TerminalStyle(\n", - "# user.preferences.MPL_STYLE,\n", - "# user.preferences.PMF_STYLE,\n", - "# user.preferences.RICH_STYLE,\n", - "# )" + "cfg.theme = TerminalStyle(\n", + " user.preferences.MPL_STYLE,\n", + " user.preferences.PMF_STYLE,\n", + " user.preferences.RICH_STYLE,\n", + ")\n", + "theme.apply_style(\"light\")\n" ] }, { @@ -75,7 +75,7 @@ "metadata": {}, "outputs": [], "source": [ - "stylesheet = widgets.html_report_stylesheet()" + "stylesheet = widgets.html_report_stylesheet()\n" ] }, { @@ -101,7 +101,7 @@ "# Parameters that will be replaced when calling this notebook\n", "# Do not leave parameters blank as notebook will not run otherwise\n", "symbol = \"MSFT\"\n", - "report_name = f\"Equity report for {symbol}\"" + "report_name = f\"Equity report for {symbol}\"\n" ] }, { @@ -115,7 +115,7 @@ " import sys\n", "\n", " sys.exit(0)\n", - "symbol = symbol.upper()" + "symbol = symbol.upper()\n" ] }, { @@ -135,7 +135,7 @@ "report_date = datetime.datetime.now().strftime(\"%d %B, %Y\")\n", "report_time = datetime.datetime.now().strftime(\"%H:%M\")\n", "report_timezone = datetime.datetime.now(datetime.timezone.utc).astimezone().tzinfo\n", - "report_title, report_date, report_time, report_timezone" + "report_title, report_date, report_time, report_timezone\n" ] }, { @@ -163,7 +163,7 @@ " company_industry = \"N/A\"\n", "\n", "\n", - "overview = [company_name, company_sector, company_industry]" + "overview = [company_name, company_sector, company_industry]\n" ] }, { @@ -187,7 +187,7 @@ " df_quarter_earnings,\n", " df_quarter_revenues,\n", ") = openbb.stocks.fa.est(symbol=symbol)\n", - "df_quarter_revenues.transpose()" + "df_quarter_revenues.transpose()\n" ] }, { @@ -198,7 +198,7 @@ "outputs": [], "source": [ "display_year = sorted(df_year_estimates.columns.tolist())[:3]\n", - "df_year_estimates = df_year_estimates[display_year].head(5)" + "df_year_estimates = df_year_estimates[display_year].head(5)\n" ] }, { @@ -214,7 +214,7 @@ " if not isinstance(table, pd.DataFrame):\n", " continue\n", "\n", - " table[0].loc[\"URL\"] = table[0].loc[\"URL\"].apply(lambda x: f'{x}')" + " table[0].loc[\"URL\"] = table[0].loc[\"URL\"].apply(lambda x: f'{x}')\n" ] }, { @@ -225,7 +225,7 @@ "outputs": [], "source": [ "quote_data = info[[\"Price\", \"Prev Close\", \"Change\", \"Volume\", \"52W Range\", \"Perf YTD\"]]\n", - "quote_data" + "quote_data\n" ] }, { @@ -237,7 +237,7 @@ "source": [ "df_institutional_shareholders = openbb.stocks.fa.shrs(symbol, holder=\"institutional\")\n", "df_institutional_shareholders.index += 1\n", - "df_institutional_shareholders" + "df_institutional_shareholders\n" ] }, { @@ -254,7 +254,7 @@ " ].head(5)\n", " df_sec_filings\n", "except:\n", - " df_sec_filings = \"Error with Nasdaq API\"" + " df_sec_filings = \"Error with Nasdaq API\"\n" ] }, { @@ -282,7 +282,7 @@ "# \"target\": \"Price Target\",\n", "# }\n", "# )\n", - "df_analyst.head(10)" + "df_analyst.head(10)\n" ] }, { @@ -293,7 +293,7 @@ "outputs": [], "source": [ "df_rating = openbb.stocks.fa.rating(symbol)\n", - "df_rating" + "df_rating\n" ] }, { @@ -306,7 +306,7 @@ "pcr_chart = openbb.stocks.options.pcr_chart(symbol, window=30, external_axes=True)\n", "\n", "if pcr_chart:\n", - " pcr_chart = pcr_chart.to_html()" + " pcr_chart = pcr_chart.to_html()\n" ] }, { @@ -321,7 +321,7 @@ "if expiry_dates:\n", " exp = expiry_dates[0]\n", " option_chain = openbb.stocks.options.chains(symbol, expiration=exp)\n", - " current_price = float(ticker_data[\"Adj Close\"][-1])" + " current_price = float(ticker_data[\"Adj Close\"][-1])\n" ] }, { @@ -344,7 +344,7 @@ " )\n", "\n", " if voi_chart:\n", - " voi_chart = voi_chart.to_html()" + " voi_chart = voi_chart.to_html()\n" ] }, { @@ -363,7 +363,7 @@ ")\n", "\n", "if net_short_position:\n", - " net_short_position = net_short_position.to_html()" + " net_short_position = net_short_position.to_html()\n" ] }, { @@ -376,7 +376,7 @@ "dark_pools = openbb.stocks.dps.dpotc_chart(symbol=symbol, external_axes=True)\n", "\n", "if dark_pools:\n", - " dark_pools = dark_pools.to_html()" + " dark_pools = dark_pools.to_html()\n" ] }, { @@ -393,7 +393,7 @@ ")\n", "\n", "if gtrades_chart:\n", - " gtrades_chart = gtrades_chart.to_html()" + " gtrades_chart = gtrades_chart.to_html()\n" ] }, { @@ -410,7 +410,7 @@ ")\n", "\n", "if gov_contracts_chart:\n", - " gov_contracts_chart = gov_contracts_chart.to_html()" + " gov_contracts_chart = gov_contracts_chart.to_html()\n" ] }, { @@ -426,7 +426,7 @@ ")\n", "\n", "if google_mentions_chart:\n", - " google_mentions_chart = google_mentions_chart.to_html()" + " google_mentions_chart = google_mentions_chart.to_html()\n" ] }, { @@ -443,7 +443,7 @@ ")\n", "\n", "if google_regions_chart:\n", - " google_regions_chart = google_regions_chart.to_html()" + " google_regions_chart = google_regions_chart.to_html()\n" ] }, { @@ -455,7 +455,7 @@ "source": [ "similar_companies = openbb.stocks.ca.similar(symbol, source=\"Finviz\")[0:5]\n", "if similar_companies:\n", - " similar_companies.append(symbol)" + " similar_companies.append(symbol)\n" ] }, { @@ -472,7 +472,7 @@ ")\n", "\n", "if historical_similar:\n", - " historical_similar = historical_similar.to_html()" + " historical_similar = historical_similar.to_html()\n" ] }, { @@ -488,7 +488,7 @@ ")\n", "\n", "if hcorr_similar:\n", - " hcorr_similar = hcorr_similar.to_html()" + " hcorr_similar = hcorr_similar.to_html()\n" ] }, { @@ -504,7 +504,7 @@ ")\n", "\n", "if vol_similar:\n", - " vol_similar = vol_similar.to_html()" + " vol_similar = vol_similar.to_html()\n" ] }, { @@ -520,7 +520,7 @@ ")\n", "\n", "if scorr_similar:\n", - " scorr_similar = scorr_similar.to_html()" + " scorr_similar = scorr_similar.to_html()\n" ] }, { @@ -531,7 +531,7 @@ "outputs": [], "source": [ "income_comparison = openbb.stocks.ca.income(similar_companies)\n", - "income_comparison" + "income_comparison\n" ] }, { @@ -546,7 +546,7 @@ " df_related_queries.index += 1\n", " df_related_queries.index\n", "except:\n", - " pass" + " pass\n" ] }, { @@ -561,7 +561,7 @@ " df_rising_queries.index += 1\n", " df_rising_queries\n", "except:\n", - " pass" + " pass\n" ] }, { @@ -577,7 +577,7 @@ ")\n", "\n", "if gov_histcont_chart:\n", - " gov_histcont_chart = gov_histcont_chart.to_html()" + " gov_histcont_chart = gov_histcont_chart.to_html()\n" ] }, { @@ -588,7 +588,7 @@ "outputs": [], "source": [ "df_lobbying = openbb.stocks.gov.lobbying(symbol, limit=5)\n", - "df_lobbying" + "df_lobbying\n" ] }, { @@ -603,7 +603,7 @@ ")\n", "\n", "if price_vs_short_interest:\n", - " price_vs_short_interest = price_vs_short_interest.to_html()" + " price_vs_short_interest = price_vs_short_interest.to_html()\n" ] }, { @@ -620,7 +620,7 @@ ")\n", "\n", "if price_chart:\n", - " price_chart = price_chart.to_html()" + " price_chart = price_chart.to_html()\n" ] }, { @@ -630,17 +630,20 @@ "metadata": {}, "outputs": [], "source": [ - "price_target_chart = openbb.stocks.fa.pt_chart(\n", - " symbol=symbol,\n", - " start_date=\"2022-01-01\",\n", - " data=ticker_data,\n", - " limit=10,\n", - " raw=False,\n", - " external_axes=True,\n", - ")\n", + "try:\n", + " price_target_chart = openbb.stocks.fa.pt_chart(\n", + " symbol=symbol,\n", + " start_date=\"2022-01-01\",\n", + " data=ticker_data,\n", + " limit=10,\n", + " raw=False,\n", + " external_axes=True,\n", + " )\n", "\n", - "if price_target_chart:\n", - " price_target_chart = price_target_chart.to_html()" + " if price_target_chart:\n", + " price_target_chart = price_target_chart.to_html()\n", + "except Exception:\n", + " price_target_chart = OpenBBFigure()\n" ] }, { @@ -667,7 +670,7 @@ " else:\n", " avg_ratings = 0\n", "\n", - "last_price = round(ticker_data[\"Close\"][-1], 2)" + "last_price = round(ticker_data[\"Close\"][-1], 2)\n" ] }, { @@ -686,7 +689,7 @@ ")\n", "\n", "if ratings_over_time_chart:\n", - " ratings_over_time_chart = ratings_over_time_chart.to_html()" + " ratings_over_time_chart = ratings_over_time_chart.to_html()\n" ] }, { @@ -699,7 +702,7 @@ "ta_rsi = openbb.ta.rsi_chart(ticker_data[\"Close\"], external_axes=True)\n", "\n", "if ta_rsi:\n", - " ta_rsi = ta_rsi.to_html()" + " ta_rsi = ta_rsi.to_html()\n" ] }, { @@ -711,7 +714,7 @@ "source": [ "df = openbb.ta.rsi(ticker_data[\"Close\"])\n", "rsi_value = round(df.values[-1][0], 2)\n", - "rsi_value" + "rsi_value\n" ] }, { @@ -727,7 +730,7 @@ " np.array(range(len(ticker_data[\"Close\"][-30:].index))).reshape(-1, 1),\n", " ticker_data[\"Close\"][-30:].values,\n", ")\n", - "regression_slope = round(model.coef_[0], 2)" + "regression_slope = round(model.coef_[0], 2)\n" ] }, { @@ -748,7 +751,7 @@ " )\n", " last_10_insider_trading = round(sum(df_insider[\"Trade\"]) / 1_000_000, 2)\n", " df_insider = df_insider.drop(columns=[\"Val ($)\", \"Trade\"])\n", - " df_insider" + " df_insider\n" ] }, { @@ -761,7 +764,7 @@ "finbrain_sentiment = openbb.stocks.ba.headlines_chart(symbol=symbol, external_axes=True)\n", "\n", "if finbrain_sentiment:\n", - " finbrain_sentiment = finbrain_sentiment.to_html()" + " finbrain_sentiment = finbrain_sentiment.to_html()\n" ] }, { @@ -775,7 +778,7 @@ " df_sentiment_finbrain = openbb.stocks.ca.sentiment(symbols=[symbol])\n", " finbrain_sentiment_val = float(df_sentiment_finbrain.values[-1][0])\n", "except Exception as e:\n", - " finbrain_sentiment_val = \"N/A\"" + " finbrain_sentiment_val = \"N/A\"\n" ] }, { @@ -798,7 +801,7 @@ " stocktwits_sentiment += f\"Bearish {round(100*n_bear/n_cases, 2)}%\"\n", "else:\n", " stocktwits_sentiment += \"No messages found\"\n", - "stocktwits_sentiment" + "stocktwits_sentiment\n" ] }, { @@ -811,7 +814,7 @@ "snews = openbb.stocks.ba.snews_chart(symbol, external_axes=True)\n", "\n", "if snews:\n", - " snews = snews.to_html()" + " snews = snews.to_html()\n" ] }, { @@ -826,7 +829,7 @@ " start_date=datetime.datetime.now() - datetime.timedelta(days=5 * 12 * 21),\n", " verbose=False,\n", ")\n", - "ticker_data_all[\"Returns\"] = ticker_data_all[\"Adj Close\"].pct_change()" + "ticker_data_all[\"Returns\"] = ticker_data_all[\"Adj Close\"].pct_change()\n" ] }, { @@ -845,7 +848,7 @@ ")\n", "\n", "if bw_month:\n", - " bw_month = bw_month.to_html()" + " bw_month = bw_month.to_html()\n" ] }, { @@ -864,7 +867,7 @@ ")\n", "\n", "if bw_year:\n", - " bw_year = bw_year.to_html()" + " bw_year = bw_year.to_html()\n" ] }, { @@ -891,7 +894,7 @@ " pass\n", "\n", "enterprise_df = openbb.stocks.fa.enterprise(symbol)\n", - "score = openbb.stocks.fa.score(symbol, years=10)" + "score = openbb.stocks.fa.score(symbol, years=10)\n" ] }, { @@ -911,7 +914,7 @@ "\n", "if ma_chart:\n", " ma_chart = ma_chart.show(external=True)\n", - " ma_chart = ma_chart.to_html()" + " ma_chart = ma_chart.to_html()\n" ] }, { @@ -926,7 +929,7 @@ ")\n", "\n", "if macd_chart:\n", - " macd_chart = macd_chart.to_html()" + " macd_chart = macd_chart.to_html()\n" ] }, { @@ -939,7 +942,7 @@ "cci_chart = openbb.ta.cci_chart(ticker_data, symbol=symbol, external_axes=True)\n", "\n", "if cci_chart:\n", - " cci_chart = cci_chart.to_html()" + " cci_chart = cci_chart.to_html()\n" ] }, { @@ -952,7 +955,7 @@ "stoch_chart = openbb.ta.stoch_chart(ticker_data, symbol=symbol, external_axes=True)\n", "\n", "if stoch_chart:\n", - " stoch_chart = stoch_chart.to_html()" + " stoch_chart = stoch_chart.to_html()\n" ] }, { @@ -965,7 +968,7 @@ "adx_chart = openbb.ta.adx_chart(ticker_data, symbol=symbol, external_axes=True)\n", "\n", "if adx_chart:\n", - " adx_chart = adx_chart.to_html()" + " adx_chart = adx_chart.to_html()\n" ] }, { @@ -978,7 +981,7 @@ "bbands_chart = openbb.ta.bbands_chart(ticker_data, symbol=symbol, external_axes=True)\n", "\n", "if bbands_chart:\n", - " bbands_chart = bbands_chart.to_html()" + " bbands_chart = bbands_chart.to_html()\n" ] }, { @@ -991,7 +994,7 @@ "ad_chart = openbb.ta.ad_chart(ticker_data, symbol=symbol, external_axes=True)\n", "\n", "if ad_chart:\n", - " ad_chart = ad_chart.to_html()" + " ad_chart = ad_chart.to_html()\n" ] }, { @@ -1010,34 +1013,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " report_title,\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks(\n", @@ -1369,7 +1354,7 @@ "\n", "# to save the results\n", "with open(report_name + \".html\", \"w\", encoding=\"utf-8\") as fh:\n", - " fh.write(report)" + " fh.write(report)\n" ] } ], @@ -1390,7 +1375,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.8" + "version": "3.10.11" }, "vscode": { "interpreter": { diff --git a/openbb_terminal/reports/templates/etf.ipynb b/openbb_terminal/reports/templates/etf.ipynb index 4e879c91321..a824d6d1b05 100644 --- a/openbb_terminal/reports/templates/etf.ipynb +++ b/openbb_terminal/reports/templates/etf.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "70ba2c8a", "metadata": {}, @@ -22,7 +23,6 @@ "from IPython.display import HTML\n", "\n", "import openbb_terminal.config_terminal as cfg\n", - "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", "from openbb_terminal import OpenBBFigure, theme\n", "from openbb_terminal.helper_classes import TerminalStyle\n", "from openbb_terminal.core.plots.plotly_ta.ta_class import PlotlyTA\n", @@ -61,7 +61,8 @@ " user.preferences.MPL_STYLE,\n", " user.preferences.PMF_STYLE,\n", " user.preferences.RICH_STYLE,\n", - ")" + ")\n", + "theme.apply_style(\"light\")" ] }, { @@ -75,6 +76,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "807fda4e", "metadata": {}, @@ -154,6 +156,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "f8a0d747", "metadata": {}, @@ -396,6 +399,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "ac501a32-124d-4d21-aae1-a8d147bb1071", "metadata": {}, @@ -410,33 +414,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", + "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " f\"ETF RESEARCH REPORT: {ticker.upper()}\",\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks(\n", diff --git a/openbb_terminal/reports/templates/forecast.ipynb b/openbb_terminal/reports/templates/forecast.ipynb index 03763c973c3..3486a69a443 100644 --- a/openbb_terminal/reports/templates/forecast.ipynb +++ b/openbb_terminal/reports/templates/forecast.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "70ba2c8a", "metadata": {}, @@ -26,10 +27,9 @@ "\n", "import openbb_terminal.config_terminal as cfg\n", "from openbb_terminal.helper_classes import TerminalStyle\n", - "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", - "from openbb_terminal import OpenBBFigure\n", + "from openbb_terminal import OpenBBFigure, theme\n", "\n", - "warnings.filterwarnings(\"ignore\")" + "warnings.filterwarnings(\"ignore\")\n" ] }, { @@ -45,7 +45,7 @@ "set_system_variable(\"LOGGING_SUPPRESS\", True)\n", "\n", "# Import the OpenBB SDK\n", - "from openbb_terminal.sdk import openbb, widgets" + "from openbb_terminal.sdk import openbb, widgets\n" ] }, { @@ -63,7 +63,8 @@ " user.preferences.MPL_STYLE,\n", " user.preferences.PMF_STYLE,\n", " user.preferences.RICH_STYLE,\n", - ")" + ")\n", + "theme.apply_style(\"light\")\n" ] }, { @@ -73,7 +74,7 @@ "metadata": {}, "outputs": [], "source": [ - "stylesheet = widgets.html_report_stylesheet()" + "stylesheet = widgets.html_report_stylesheet()\n" ] }, { @@ -83,7 +84,7 @@ "metadata": {}, "outputs": [], "source": [ - "def get_html(func, title, *args, **kwargs):\n", + "def get_html(func, title, *args, legend=False, **kwargs):\n", " kwargs[\"external_axes\"] = True\n", " local_fig = func(*args, **kwargs)\n", " # kwargs[\"chart\"] = True\n", @@ -91,11 +92,22 @@ " local_fig.set_title(title)\n", " local_fig.set_xaxis_title(\"Lag\")\n", " local_fig.set_yaxis_title(\"Autocorrelation\")\n", - "\n", + " if legend:\n", + " local_fig.update_layout(\n", + " legend=dict(\n", + " x=0.01,\n", + " y=0.99,\n", + " xanchor=\"left\",\n", + " yanchor=\"top\",\n", + " xref=\"paper\",\n", + " yref=\"paper\",\n", + " )\n", + " )\n", " return local_fig.to_html()" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "807fda4e", "metadata": {}, @@ -117,7 +129,7 @@ "# Parameters that will be replaced when calling this notebook\n", "# Do not leave parameters blank as notebook will not run otherwise\n", "symbol = \"VTI\"\n", - "report_name = \"Forecast Report for VTI\"" + "report_name = \"Forecast Report for VTI\"\n" ] }, { @@ -127,7 +139,7 @@ "metadata": {}, "outputs": [], "source": [ - "ticker = symbol" + "ticker = symbol\n" ] }, { @@ -140,7 +152,7 @@ "if \".\" in ticker:\n", " import sys\n", "\n", - " sys.exit(0)" + " sys.exit(0)\n" ] }, { @@ -159,10 +171,11 @@ "report_date = datetime.datetime.now().strftime(\"%d %B, %Y\")\n", "report_time = datetime.datetime.now().strftime(\"%H:%M\")\n", "report_timezone = datetime.datetime.now(datetime.timezone.utc).astimezone().tzinfo\n", - "report_title, report_date, report_time, report_timezone" + "report_title, report_date, report_time, report_timezone\n" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "f8a0d747", "metadata": {}, @@ -182,7 +195,7 @@ "\n", "# Prepare date for forecast\n", "ticker_data = ticker_data.reset_index()\n", - "ticker_data.columns = [x.lower() for x in ticker_data.columns]" + "ticker_data.columns = [x.lower() for x in ticker_data.columns]\n" ] }, { @@ -212,7 +225,7 @@ "metadata": {}, "outputs": [], "source": [ - "expo_chart = get_html(openbb.forecast.expo_chart, None, ticker_data)" + "expo_chart = get_html(openbb.forecast.expo_chart, None, ticker_data, legend=True)" ] }, { @@ -222,10 +235,11 @@ "metadata": {}, "outputs": [], "source": [ - "rnn_chart = get_html(openbb.forecast.rnn_chart, None, ticker_data)" + "rnn_chart = get_html(openbb.forecast.rnn_chart, None, ticker_data, legend=True)" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "ac501a32-124d-4d21-aae1-a8d147bb1071", "metadata": {}, @@ -240,34 +254,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " f\"FORECAST REPORT ON: {ticker.upper()}\",\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks([\"SUMMARY\"])\n", @@ -289,7 +285,7 @@ "\n", "# to save the results\n", "with open(report_name + \".html\", \"w\", encoding=\"utf-8\") as fh:\n", - " fh.write(report)" + " fh.write(report)\n" ] } ], diff --git a/openbb_terminal/reports/templates/forex.ipynb b/openbb_terminal/reports/templates/forex.ipynb index 0fd7ec127c5..e418f748860 100644 --- a/openbb_terminal/reports/templates/forex.ipynb +++ b/openbb_terminal/reports/templates/forex.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "70ba2c8a", "metadata": {}, @@ -27,8 +28,7 @@ "\n", "import openbb_terminal.config_terminal as cfg\n", "from openbb_terminal.helper_classes import TerminalStyle\n", - "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", - "from openbb_terminal import OpenBBFigure\n", + "from openbb_terminal import OpenBBFigure, theme\n", "\n", "warnings.filterwarnings(\"ignore\")" ] @@ -64,7 +64,9 @@ " user.preferences.MPL_STYLE,\n", " user.preferences.PMF_STYLE,\n", " user.preferences.RICH_STYLE,\n", - ")" + ")\n", + "\n", + "theme.apply_style(\"light\")" ] }, { @@ -78,6 +80,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "807fda4e", "metadata": {}, @@ -171,6 +174,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "f8a0d747", "metadata": {}, @@ -237,6 +241,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "6c852082", "metadata": {}, @@ -392,6 +397,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "e6f6ce8a", "metadata": {}, @@ -436,12 +442,27 @@ "source": [ "# rolling mean and std deviation of prices\n", "\n", - "rolling = openbb.qa.rolling_chart(\n", - " symbol=ticker,\n", - " data=ticker_data,\n", - " target=\"Close\",\n", - " external_axes=True,\n", - ").to_html()" + "rolling = (\n", + " openbb.qa.rolling_chart(\n", + " symbol=ticker,\n", + " data=ticker_data,\n", + " target=\"Close\",\n", + " external_axes=True,\n", + " )\n", + " .update_layout(\n", + " legend=dict(\n", + " x=0.01,\n", + " y=0.99,\n", + " xanchor=\"left\",\n", + " yanchor=\"top\",\n", + " xref=\"paper\",\n", + " yref=\"paper\",\n", + " bgcolor=\"rgba(0, 0, 0, 0)\",\n", + " ),\n", + " legend2=dict(bgcolor=\"rgba(0, 0, 0, 0)\"),\n", + " )\n", + " .to_html()\n", + ")" ] }, { @@ -489,6 +510,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "ac501a32-124d-4d21-aae1-a8d147bb1071", "metadata": {}, @@ -503,34 +525,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " author,\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " f\"INVESTMENT RESEARCH REPORT: {ticker}\",\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks(\n", diff --git a/openbb_terminal/reports/templates/portfolio.ipynb b/openbb_terminal/reports/templates/portfolio.ipynb index 014dc8c8897..833c1319c5d 100644 --- a/openbb_terminal/reports/templates/portfolio.ipynb +++ b/openbb_terminal/reports/templates/portfolio.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "id": "70ba2c8a", "metadata": {}, @@ -29,9 +30,9 @@ "import openbb_terminal.config_terminal as cfg\n", "from openbb_terminal.helper_classes import TerminalStyle\n", "from openbb_terminal.core.config.paths import REPOSITORY_DIRECTORY\n", - "from openbb_terminal import OpenBBFigure\n", + "from openbb_terminal import OpenBBFigure, theme\n", "\n", - "warnings.filterwarnings(\"ignore\")" + "warnings.filterwarnings(\"ignore\")\n" ] }, { @@ -47,7 +48,7 @@ "set_system_variable(\"LOGGING_SUPPRESS\", True)\n", "\n", "# Import the OpenBB SDK\n", - "from openbb_terminal.sdk import openbb, widgets, helper" + "from openbb_terminal.sdk import openbb, widgets, helper\n" ] }, { @@ -66,8 +67,9 @@ " user.preferences.PMF_STYLE,\n", " user.preferences.RICH_STYLE,\n", ")\n", + "theme.apply_style(\"light\")\n", "\n", - "USER_PORTFOLIO_DATA_DIRECTORY = user.preferences.USER_PORTFOLIO_DATA_DIRECTORY" + "USER_PORTFOLIO_DATA_DIRECTORY = user.preferences.USER_PORTFOLIO_DATA_DIRECTORY\n" ] }, { @@ -77,10 +79,11 @@ "metadata": {}, "outputs": [], "source": [ - "stylesheet = widgets.html_report_stylesheet()" + "stylesheet = widgets.html_report_stylesheet()\n" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "8136bf90", "metadata": {}, @@ -95,9 +98,8 @@ "metadata": {}, "outputs": [], "source": [ - "theme = TerminalStyle(\"light\", \"light\", \"light\")\n", "stylesheet = widgets.html_report_stylesheet()\n", - "user_time_zone = pytz.timezone(helper.get_user_timezone())" + "user_time_zone = pytz.timezone(helper.get_user_timezone())\n" ] }, { @@ -114,7 +116,7 @@ "# Parameters that will be replaced when calling this notebook\n", "# Do not leave parameters blank as notebook will not run otherwise\n", "transactions = \"holdings_example.xlsx\"\n", - "report_name = \"Portfolio Report\"" + "report_name = \"Portfolio Report\"\n" ] }, { @@ -136,7 +138,7 @@ "elif os.path.isfile(file_1):\n", " transactions_path = file_1\n", "else:\n", - " raise FileNotFoundError(\"File not found: \" + transactions)" + " raise FileNotFoundError(\"File not found: \" + transactions)\n" ] }, { @@ -151,10 +153,11 @@ "report_date = pd.Timestamp.now(tz=user_time_zone).strftime(\"%d %B, %Y\")\n", "report_time = pd.Timestamp.now(tz=user_time_zone).strftime(\"%H:%M\")\n", "report_timezone = pd.Timestamp.now(tz=user_time_zone).tzinfo\n", - "report_title, report_date, report_time, report_timezone" + "report_title, report_date, report_time, report_timezone\n" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "9363f19a", "metadata": {}, @@ -163,6 +166,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "id": "eb3dbd48", "metadata": {}, @@ -181,7 +185,7 @@ " P = openbb.portfolio.load(transactions_path)\n", " openbb.portfolio.show(P)\n", "except Exception as e:\n", - " raise Exception(\"Failed to load the transactions.\")" + " raise Exception(\"Failed to load the transactions.\")\n" ] }, { @@ -194,7 +198,7 @@ "beta_chart = openbb.portfolio.rbeta_chart(P, external_axes=True)\n", "\n", "if beta_chart:\n", - " beta_chart = beta_chart.to_html()" + " beta_chart = beta_chart.to_html()\n" ] }, { @@ -207,7 +211,7 @@ "sharpe_chart = openbb.portfolio.rsharpe_chart(P, external_axes=True)\n", "\n", "if sharpe_chart:\n", - " sharpe_chart = sharpe_chart.to_html()" + " sharpe_chart = sharpe_chart.to_html()\n" ] }, { @@ -220,7 +224,7 @@ "volatility_chart = openbb.portfolio.rvol_chart(P, external_axes=True)\n", "\n", "if volatility_chart:\n", - " volatility_chart = volatility_chart.to_html()" + " volatility_chart = volatility_chart.to_html()\n" ] }, { @@ -233,7 +237,7 @@ "sortino_chart = openbb.portfolio.rsort_chart(P, external_axes=True)\n", "\n", "if sortino_chart:\n", - " sortino_chart = sortino_chart.to_html()" + " sortino_chart = sortino_chart.to_html()\n" ] }, { @@ -246,7 +250,7 @@ "maxdd_chart = openbb.portfolio.maxdd_chart(P, external_axes=True)\n", "\n", "if maxdd_chart:\n", - " maxdd_chart = maxdd_chart.to_html()" + " maxdd_chart = maxdd_chart.to_html()\n" ] }, { @@ -268,7 +272,7 @@ " \"{:.3}pp\".format\n", ")\n", "\n", - "country_allocation" + "country_allocation\n" ] }, { @@ -290,7 +294,7 @@ " \"{:.3}pp\".format\n", ")\n", "\n", - "sector_allocation" + "sector_allocation\n" ] }, { @@ -303,7 +307,7 @@ "distr_chart = openbb.portfolio.distr_chart(P, external_axes=True)\n", "\n", "if distr_chart:\n", - " distr_chart = distr_chart.to_html()" + " distr_chart = distr_chart.to_html()\n" ] }, { @@ -316,7 +320,7 @@ "dret_chart = openbb.portfolio.dret_chart(P, external_axes=True)\n", "\n", "if dret_chart:\n", - " dret_chart = dret_chart.to_html()" + " dret_chart = dret_chart.to_html()\n" ] }, { @@ -329,10 +333,11 @@ "yret_chart = openbb.portfolio.yret_chart(P, external_axes=True)\n", "\n", "if yret_chart:\n", - " yret_chart = yret_chart.to_html()" + " yret_chart = yret_chart.to_html()\n" ] }, { + "attachments": {}, "cell_type": "markdown", "id": "ac795b8e", "metadata": {}, @@ -347,34 +352,16 @@ "metadata": {}, "outputs": [], "source": [ - "body = f\"\"\"\n", - "\n", - "\n", - "\"\"\"\n", + "body = \"\"\n", "\n", "\n", - "img = (\n", - " str(REPOSITORY_DIRECTORY)\n", - " + \"/openbb_terminal/reports/templates/OpenBB_reports_logo.png\"\n", - ")\n", - "floppy_disk_img = (\n", - " str(REPOSITORY_DIRECTORY) + \"/openbb_terminal/reports/templates/floppy-disc.png\"\n", - ")\n", "body += widgets.header(\n", - " img,\n", - " floppy_disk_img,\n", " \"OpenBB\",\n", " report_date,\n", " report_time,\n", " report_timezone,\n", " report_title,\n", + " plotly_js=True,\n", ")\n", "\n", "body += widgets.tablinks([\"SUMMARY\", \"In-Depth Analysis\", \"Statistics\"])\n", @@ -490,7 +477,7 @@ "\n", "# to save the results\n", "with open(report_name + \".html\", \"w\", encoding=\"utf-8\") as fh:\n", - " fh.write(report)" + " fh.write(report)\n" ] } ], diff --git a/openbb_terminal/reports/widget_helpers.py b/openbb_terminal/reports/widget_helpers.py index 0f6c2ccea34..aaba017cc28 100644 --- a/openbb_terminal/reports/widget_helpers.py +++ b/openbb_terminal/reports/widget_helpers.py @@ -10,6 +10,9 @@ from typing import List from jinja2 import Template +from openbb_terminal.core.config.paths import PACKAGE_DIRECTORY +from openbb_terminal.core.plots.backend import PLOTLYJS_PATH + def price_card_stylesheet(): """Load a default CSS stylesheet from file.""" @@ -122,7 +125,7 @@ def row(elements: List) -> str: Parameters ---------- elements : List - List of HTML code elements to add in a row + List of HTML code elements to add in a row Returns ------- @@ -287,16 +290,17 @@ def tablinks(tabs: List[str]) -> str: def header( - openbb_img, floppy_disk_img, author, report_date, report_time, report_tz, title + author: str, + report_date: str, + report_time: str, + report_tz: str, + title: str, + plotly_js: bool = False, ) -> str: """Creates reports header Parameters ---------- - openbb_img : str - Image of OpenBB logo - floppy_disk_img : str - Image of floppy disk containing the save button author : str Name of author responsible by report report_date : str @@ -307,15 +311,19 @@ def header( Timezone associated with datetime of report being run title : str Title of the report + plotly_js : bool + If True, then we add plotly.js to the report Returns ------- str HTML code for interactive tabs """ + openbb_img_path = PACKAGE_DIRECTORY / "reports/templates/OpenBB_reports_logo.png" + floppy_disk_path = PACKAGE_DIRECTORY / "reports/templates/floppy-disc.png" + try: - with open(openbb_img, "rb") as image_file: - openbb_image_encoded = base64.b64encode(image_file.read()) + openbb_image_encoded = base64.b64encode(openbb_img_path.read_bytes()) openbb_img = f""" OpenBB""" @@ -323,14 +331,33 @@ def header( openbb_img = "" try: - with open(floppy_disk_img, "rb") as image_file: - floppy_disk_encoded = base64.b64encode(image_file.read()) + floppy_disk_encoded = base64.b64encode(floppy_disk_path.read_bytes()) flask_disk_save = f"""
OpenBB
""" except Exception: flask_disk_save = "" + plotly_script = "" + + if plotly_js: + plotly_script = """ + + """ + try: + plotly_script += f"""""" + except Exception: + plotly_script += ( + "" + ) + return f""" @@ -338,6 +365,7 @@ def header( OpenBB Terminal Report + {plotly_script}
{openbb_img}
diff --git a/openbb_terminal/terminal_helper.py b/openbb_terminal/terminal_helper.py index 0f643f9f683..8e7797d0d29 100644 --- a/openbb_terminal/terminal_helper.py +++ b/openbb_terminal/terminal_helper.py @@ -366,9 +366,9 @@ def reset(queue: Optional[List[str]] = None): console.print("resetting...") logger.info("resetting") plt.close("all") - plots_backend().close() - debug = get_current_system().DEBUG_MODE + plots_backend().close(reset=True) load_env_files() + debug = get_current_system().DEBUG_MODE try: # save the current user diff --git a/poetry.lock b/poetry.lock index 23ea6a02e44..9adb86af23a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "absl-py" version = "1.4.0" description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -16,7 +15,6 @@ files = [ name = "aiodns" version = "3.0.0" description = "Simple DNS resolver for asyncio" -category = "main" optional = false python-versions = "*" files = [ @@ -31,7 +29,6 @@ pycares = ">=4.0.0" name = "aiohttp" version = "3.8.4" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -140,7 +137,6 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -155,7 +151,6 @@ frozenlist = ">=1.1.0" name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -167,7 +162,6 @@ files = [ name = "alpha-vantage" version = "2.3.1" description = "Python module to get stock data from the Alpha Vantage Api" -category = "main" optional = false python-versions = "*" files = [ @@ -183,7 +177,6 @@ requests = "*" name = "altair" version = "4.2.2" description = "Altair: A declarative statistical visualization library for Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -206,7 +199,6 @@ dev = ["black", "docutils", "flake8", "ipython", "m2r", "mistune (<2.0.0)", "pyt name = "altgraph" version = "0.17.3" description = "Python graph (network) package" -category = "main" optional = true python-versions = "*" files = [ @@ -218,7 +210,6 @@ files = [ name = "ansiwrap" version = "0.8.4" description = "textwrap, but savvy to ANSI colors and styles" -category = "main" optional = false python-versions = "*" files = [ @@ -233,7 +224,6 @@ textwrap3 = ">=0.9.2" name = "anyio" version = "3.6.2" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = false python-versions = ">=3.6.2" files = [ @@ -254,7 +244,6 @@ trio = ["trio (>=0.16,<0.22)"] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = "*" files = [ @@ -266,7 +255,6 @@ files = [ name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" -category = "main" optional = false python-versions = "*" files = [ @@ -278,7 +266,6 @@ files = [ name = "arch" version = "5.5.0" description = "ARCH for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -318,7 +305,6 @@ statsmodels = ">=0.11" name = "argon2-cffi" version = "21.3.0" description = "The secure Argon2 password hashing algorithm." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -338,7 +324,6 @@ tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -376,7 +361,6 @@ tests = ["pytest"] name = "ascii-magic" version = "1.6" description = "Converts pictures into ASCII art" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -392,7 +376,6 @@ Pillow = "*" name = "astor" version = "0.8.1" description = "Read/rewrite/write Python ASTs" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -404,7 +387,6 @@ files = [ name = "astroid" version = "2.15.0" description = "An abstract syntax tree for Python with inference support." -category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -421,7 +403,6 @@ wrapt = {version = ">=1.11,<2", markers = "python_version < \"3.11\""} name = "astropy" version = "5.2.1" description = "Astronomy and astrophysics core library" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -475,7 +456,6 @@ test-all = ["coverage[toml]", "ipython (>=4.2)", "objgraph", "pytest (>=7.0)", " name = "asttokens" version = "2.2.1" description = "Annotate AST trees with source code positions" -category = "main" optional = false python-versions = "*" files = [ @@ -493,7 +473,6 @@ test = ["astroid", "pytest"] name = "async-timeout" version = "4.0.2" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -505,7 +484,6 @@ files = [ name = "atomicwrites" version = "1.4.1" description = "Atomic file writes." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -516,7 +494,6 @@ files = [ name = "attrs" version = "21.4.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -534,7 +511,6 @@ tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy" name = "babel" version = "2.12.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -549,7 +525,6 @@ pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" -category = "main" optional = false python-versions = "*" files = [ @@ -561,7 +536,6 @@ files = [ name = "backoff" version = "2.2.1" description = "Function decoration for backoff and retry" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -573,7 +547,6 @@ files = [ name = "backports-zoneinfo" version = "0.2.1" description = "Backport of the standard library zoneinfo module" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -602,7 +575,6 @@ tzdata = ["tzdata"] name = "bandit" version = "1.7.5" description = "Security oriented static analyser for python code." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -626,7 +598,6 @@ yaml = ["PyYAML"] name = "base58" version = "2.1.1" description = "Base58 and Base58Check implementation." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -641,7 +612,6 @@ tests = ["PyHamcrest (>=2.0.2)", "mypy", "pytest (>=4.6)", "pytest-benchmark", " name = "beautifulsoup4" version = "4.11.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -660,7 +630,6 @@ lxml = ["lxml"] name = "black" version = "23.1.0" description = "The uncompromising code formatter." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -710,7 +679,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "bleach" version = "6.0.0" description = "An easy safelist-based HTML-sanitizing tool." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -729,7 +697,6 @@ css = ["tinycss2 (>=1.1.0,<1.2)"] name = "blinker" version = "1.5" description = "Fast, simple object-to-object and broadcast signaling" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -741,7 +708,6 @@ files = [ name = "brotli" version = "1.0.9" description = "Python bindings for the Brotli compression library" -category = "main" optional = true python-versions = "*" files = [ @@ -833,7 +799,6 @@ files = [ name = "brotlicffi" version = "1.0.9.2" description = "Python CFFI bindings to the Brotli library" -category = "main" optional = true python-versions = "*" files = [ @@ -876,7 +841,6 @@ cffi = ">=1.0.0" name = "bs4" version = "0.0.1" description = "Dummy package for Beautiful Soup" -category = "main" optional = false python-versions = "*" files = [ @@ -890,7 +854,6 @@ beautifulsoup4 = "*" name = "bt" version = "0.2.9" description = "A flexible backtesting framework for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -916,7 +879,6 @@ dev = ["black (>=20.8b1)", "codecov", "coverage", "cython (>=0.25)", "ffn (>=0.3 name = "cachetools" version = "5.3.0" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -928,7 +890,6 @@ files = [ name = "catboost" version = "1.1.1" description = "Catboost Python Package" -category = "main" optional = true python-versions = "*" files = [ @@ -962,7 +923,6 @@ six = "*" name = "cattrs" version = "22.2.0" description = "Composable complex class support for attrs and dataclasses." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -978,7 +938,6 @@ exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} name = "ccxt" version = "2.9.16" description = "A JavaScript / Python / PHP cryptocurrency trading library with support for 130+ exchanges" -category = "main" optional = false python-versions = "*" files = [ @@ -1003,7 +962,6 @@ qa = ["flake8 (==3.7.9)"] name = "certifi" version = "2022.12.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1015,7 +973,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -1092,7 +1049,6 @@ pycparser = "*" name = "cfgv" version = "3.3.1" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.6.1" files = [ @@ -1104,7 +1060,6 @@ files = [ name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -1189,7 +1144,6 @@ files = [ name = "click" version = "8.1.3" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1204,7 +1158,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "cloudpickle" version = "2.2.1" description = "Extended pickling support for Python objects" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1216,7 +1169,6 @@ files = [ name = "cmdstanpy" version = "1.1.0" description = "Python interface to CmdStan" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1238,7 +1190,6 @@ tests = ["flake8", "mypy", "pylint", "pytest", "pytest-cov", "pytest-order", "tq name = "codespell" version = "2.2.4" description = "Codespell" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1256,7 +1207,6 @@ types = ["chardet (>=5.1.0)", "mypy", "pytest", "pytest-cov", "pytest-dependency name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -1268,7 +1218,6 @@ files = [ name = "comm" version = "0.1.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1286,7 +1235,6 @@ test = ["pytest"] name = "commonmark" version = "0.9.1" description = "Python parser for the CommonMark Markdown spec" -category = "main" optional = false python-versions = "*" files = [ @@ -1301,7 +1249,6 @@ test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] name = "contourpy" version = "1.0.7" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1376,7 +1323,6 @@ test-no-images = ["pytest"] name = "convertdate" version = "2.4.0" description = "Converts between Gregorian dates and other calendar systems" -category = "main" optional = false python-versions = "<4,>=3.7" files = [ @@ -1396,7 +1342,6 @@ tests = ["coverage"] name = "coverage" version = "7.2.2" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1463,7 +1408,6 @@ toml = ["tomli"] name = "cryptography" version = "39.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1509,7 +1453,6 @@ tox = ["tox"] name = "cssselect" version = "1.2.0" description = "cssselect parses CSS3 Selectors and translates them to XPath 1.0" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1521,7 +1464,6 @@ files = [ name = "cssselect2" version = "0.7.0" description = "CSS selectors for Python ElementTree" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1541,7 +1483,6 @@ test = ["flake8", "isort", "pytest"] name = "cvxpy" version = "1.2.2" description = "A domain-specific language for modeling convex optimization problems in Python." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1574,7 +1515,6 @@ scs = ">=1.1.6" name = "cycler" version = "0.11.0" description = "Composable style cycles" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1586,7 +1526,6 @@ files = [ name = "cython" version = "0.29.33" description = "The Cython compiler for writing C extensions for the Python language." -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1636,7 +1575,6 @@ files = [ name = "dataclasses-json" version = "0.5.7" description = "Easily serialize dataclasses to and from JSON" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1656,7 +1594,6 @@ dev = ["flake8", "hypothesis", "ipython", "mypy (>=0.710)", "portray", "pytest ( name = "dateparser" version = "1.1.7" description = "Date parsing library designed to parse dates from HTML pages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1679,7 +1616,6 @@ langdetect = ["langdetect"] name = "datetime" version = "5.1" description = "This package provides a DateTime data type, as known from Zope. Unless you need to communicate with Zope APIs, you're probably better off using Python's built-in datetime module." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1695,7 +1631,6 @@ pytz = "*" name = "debugpy" version = "1.6.6" description = "An implementation of the Debug Adapter Protocol for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1722,7 +1657,6 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1734,7 +1668,6 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1746,7 +1679,6 @@ files = [ name = "degiro-connector" version = "2.0.21" description = "This is yet another library to access Degiro's API." -category = "main" optional = false python-versions = ">=3.7.1,<4.0.0" files = [ @@ -1766,7 +1698,6 @@ wrapt = ">=1.12.1,<2.0.0" name = "detecta" version = "0.0.5" description = "Detect events in data" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1778,7 +1709,6 @@ files = [ name = "dill" version = "0.3.6" description = "serialize all of python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1793,7 +1723,6 @@ graph = ["objgraph (>=1.7.2)"] name = "distlib" version = "0.3.6" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -1805,7 +1734,6 @@ files = [ name = "dnspython" version = "2.3.0" description = "DNS toolkit" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1826,7 +1754,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "docstring-parser" version = "0.15" description = "Parse Python docstrings in reST, Google and Numpydoc format" -category = "main" optional = true python-versions = ">=3.6,<4.0" files = [ @@ -1838,7 +1765,6 @@ files = [ name = "docstring-to-markdown" version = "0.11" description = "On the fly conversion of Python docstrings to markdown" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1850,7 +1776,6 @@ files = [ name = "docutils" version = "0.17.1" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1862,7 +1787,6 @@ files = [ name = "ecos" version = "2.0.12" description = "This is the Python package for ECOS: Embedded Cone Solver. See Github page for more information." -category = "main" optional = true python-versions = "*" files = [ @@ -1892,7 +1816,6 @@ scipy = ">=0.9" name = "entrypoints" version = "0.4" description = "Discover and load entry points from installed packages." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1904,7 +1827,6 @@ files = [ name = "ephem" version = "4.1.4" description = "Compute positions of the planets and stars" -category = "main" optional = true python-versions = "*" files = [ @@ -1981,7 +1903,6 @@ files = [ name = "et-xmlfile" version = "1.1.0" description = "An implementation of lxml.xmlfile for the standard library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1993,7 +1914,6 @@ files = [ name = "exceptiongroup" version = "1.1.1" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2008,7 +1928,6 @@ test = ["pytest (>=6)"] name = "exchange-calendars" version = "4.2.5" description = "Calendars for securities exchanges" -category = "main" optional = false python-versions = "~=3.8" files = [ @@ -2032,7 +1951,6 @@ dev = ["flake8", "hypothesis", "pip-tools", "pytest", "pytest-benchmark", "pytes name = "execnet" version = "1.9.0" description = "execnet: rapid multi-Python deployment" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -2047,7 +1965,6 @@ testing = ["pre-commit"] name = "executing" version = "1.2.0" description = "Get the currently executing AST node of a frame, and other information" -category = "main" optional = false python-versions = "*" files = [ @@ -2062,7 +1979,6 @@ tests = ["asttokens", "littleutils", "pytest", "rich"] name = "fastjsonschema" version = "2.16.3" description = "Fastest Python implementation of JSON schema" -category = "main" optional = false python-versions = "*" files = [ @@ -2077,7 +1993,6 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc name = "feedparser" version = "6.0.10" description = "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2092,7 +2007,6 @@ sgmllib3k = "*" name = "ffmpeg-python" version = "0.2.0" description = "Python bindings for FFmpeg - with complex filtering support" -category = "main" optional = true python-versions = "*" files = [ @@ -2110,7 +2024,6 @@ dev = ["Sphinx (==2.1.0)", "future (==0.17.1)", "numpy (==1.16.4)", "pytest (==4 name = "ffn" version = "0.3.6" description = "Financial functions for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -2136,7 +2049,6 @@ dev = ["black (>=20.8b1)", "codecov", "coverage", "flake8", "flake8-black", "fut name = "filelock" version = "3.10.0" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2152,7 +2064,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.1)", "pytest (>=7.2.2)", "pyt name = "financedatabase" version = "2.0.9" description = "This is a database of 300.000+ symbols containing Equities, ETFs, Funds, Indices, Currencies, Cryptocurrencies and Money Markets." -category = "main" optional = false python-versions = "*" files = [ @@ -2167,7 +2078,6 @@ pandas = "*" name = "finnhub-python" version = "2.4.16" description = "Finnhub API" -category = "main" optional = false python-versions = "*" files = [ @@ -2182,7 +2092,6 @@ requests = ">=2.22.0" name = "finviz" version = "1.4.6" description = "Unofficial API for FinViz.com" -category = "main" optional = false python-versions = "*" files = [ @@ -2204,7 +2113,6 @@ user_agent = "*" name = "finvizfinance" version = "0.14.5" description = "Finviz Finance. Information downloader." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2223,7 +2131,6 @@ requests = "*" name = "flake8" version = "5.0.4" description = "the modular source code checker: pep8 pyflakes and co" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -2240,7 +2147,6 @@ pyflakes = ">=2.5.0,<2.6.0" name = "fonttools" version = "4.39.2" description = "Tools to manipulate font files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2266,7 +2172,6 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "formulaic" version = "0.3.4" description = "An implementation of Wilkinson formulas." -category = "main" optional = false python-versions = ">=3.7.1,<4.0.0" files = [ @@ -2290,7 +2195,6 @@ calculus = ["sympy (>=1.3,<1.10)"] name = "fred" version = "3.1" description = "St. Louis Federal Reserve FRED API" -category = "main" optional = false python-versions = "*" files = [ @@ -2304,7 +2208,6 @@ requests = "*" name = "fredapi" version = "0.4.3" description = "Python API for Federal Reserve Economic Data (FRED) from St. Louis Fed" -category = "main" optional = false python-versions = "*" files = [ @@ -2319,7 +2222,6 @@ pandas = "*" name = "freezegun" version = "1.2.2" description = "Let your Python tests travel through time" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -2334,7 +2236,6 @@ python-dateutil = ">=2.7" name = "frozendict" version = "2.3.5" description = "A simple immutable dictionary" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2360,7 +2261,6 @@ files = [ name = "frozenlist" version = "1.3.3" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2444,7 +2344,6 @@ files = [ name = "fsspec" version = "2023.5.0" description = "File-system specification" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2484,7 +2383,6 @@ tqdm = ["tqdm"] name = "fundamentalanalysis" version = "0.2.14" description = "Fully-fledged Fundamental Analysis package capable of collecting 20 years of Company Profiles, Financial Statements, Ratios and Stock Data of 20.000+ companies." -category = "main" optional = false python-versions = "*" files = [ @@ -2496,7 +2394,6 @@ files = [ name = "future" version = "0.18.3" description = "Clean single-source support for Python 3 and 2" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2507,7 +2404,6 @@ files = [ name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2522,7 +2418,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2537,7 +2432,6 @@ gitdb = ">=4.0.1,<5" name = "google-auth" version = "2.16.2" description = "Google Authentication Library" -category = "main" optional = true python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" files = [ @@ -2562,7 +2456,6 @@ requests = ["requests (>=2.20.0,<3.0.0dev)"] name = "google-auth-oauthlib" version = "0.4.6" description = "Google Authentication Library" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2581,7 +2474,6 @@ tool = ["click (>=6.0.0)"] name = "graphviz" version = "0.20.1" description = "Simple Python interface for Graphviz" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2598,7 +2490,6 @@ test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>= name = "greenlet" version = "2.0.2" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -2672,7 +2563,6 @@ test = ["objgraph", "psutil"] name = "grpcio" version = "1.51.3" description = "HTTP/2-based RPC framework" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2730,7 +2620,6 @@ protobuf = ["grpcio-tools (>=1.51.3)"] name = "hijri-converter" version = "2.2.4" description = "Accurate Hijri-Gregorian dates converter based on the Umm al-Qura calendar" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2742,7 +2631,6 @@ files = [ name = "holidays" version = "0.14.2" description = "Generate and work with holidays in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2760,7 +2648,6 @@ python-dateutil = "*" name = "html5lib" version = "1.1" description = "HTML parser based on the WHATWG HTML specification" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -2782,7 +2669,6 @@ lxml = ["lxml"] name = "huggingface-hub" version = "0.13.2" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" -category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -2813,7 +2699,6 @@ typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "t name = "identify" version = "2.5.21" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2828,7 +2713,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2840,7 +2724,6 @@ files = [ name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2852,7 +2735,6 @@ files = [ name = "importlib-metadata" version = "6.0.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2872,7 +2754,6 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "5.12.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2891,7 +2772,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2903,7 +2783,6 @@ files = [ name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -2915,7 +2794,6 @@ files = [ name = "interface-meta" version = "1.3.0" description = "`interface_meta` provides a convenient way to expose an extensible API with enforced method signatures and consistent documentation." -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -2927,7 +2805,6 @@ files = [ name = "intrinio-sdk" version = "6.22.2" description = "Intrinio API" -category = "main" optional = false python-versions = "*" files = [ @@ -2946,7 +2823,6 @@ urllib3 = ">=1.15" name = "ipykernel" version = "6.21.3" description = "IPython Kernel for Jupyter" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2960,7 +2836,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -2980,7 +2856,6 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" name = "ipympl" version = "0.8.4" description = "Matplotlib Jupyter Extension" -category = "main" optional = false python-versions = "*" files = [ @@ -2997,7 +2872,6 @@ matplotlib = ">=2.0.0" name = "ipython" version = "8.11.0" description = "IPython: Productive Interactive Computing" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3036,7 +2910,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "ipython-genutils" version = "0.2.0" description = "Vestigial utilities from IPython" -category = "main" optional = false python-versions = "*" files = [ @@ -3048,7 +2921,6 @@ files = [ name = "ipywidgets" version = "8.0.4" description = "Jupyter interactive widgets" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3070,7 +2942,6 @@ test = ["jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] name = "iso8601" version = "0.1.16" description = "Simple module to parse ISO 8601 dates" -category = "main" optional = false python-versions = "*" files = [ @@ -3082,7 +2953,6 @@ files = [ name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" files = [ @@ -3097,7 +2967,6 @@ six = "*" name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -3115,7 +2984,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "jedi" version = "0.18.2" description = "An autocompletion tool for Python that can be used for text editors." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3135,7 +3003,6 @@ testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jedi-language-server" version = "0.40.0" description = "A language server for Jedi!" -category = "main" optional = true python-versions = ">=3.7,<3.12" files = [ @@ -3154,7 +3021,6 @@ pygls = ">=1.0.0,<2.0.0" name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3172,7 +3038,6 @@ i18n = ["Babel (>=2.7)"] name = "joblib" version = "1.2.0" description = "Lightweight pipelining with Python functions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3184,7 +3049,6 @@ files = [ name = "json5" version = "0.9.11" description = "A Python implementation of the JSON5 data format." -category = "main" optional = false python-versions = "*" files = [ @@ -3199,7 +3063,6 @@ dev = ["hypothesis"] name = "jsonschema" version = "4.17.3" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3221,7 +3084,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jupyter-client" version = "7.4.1" description = "Jupyter protocol implementation and client libraries" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3246,7 +3108,6 @@ test = ["codecov", "coverage", "ipykernel (>=6.5)", "ipython", "mypy", "pre-comm name = "jupyter-core" version = "5.3.0" description = "Jupyter core package. A base package on which Jupyter projects rely." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3267,7 +3128,6 @@ test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] name = "jupyter-lsp" version = "2.0.0" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3283,7 +3143,6 @@ jupyter-server = ">=1.1.2" name = "jupyter-server" version = "1.23.6" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3296,7 +3155,7 @@ anyio = ">=3.1.0,<4" argon2-cffi = "*" jinja2 = "*" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" nbconvert = ">=6.4.4" nbformat = ">=5.2.0" packaging = "*" @@ -3316,7 +3175,6 @@ test = ["coverage", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console name = "jupyterlab" version = "3.5.3" description = "JupyterLab computational environment" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3343,7 +3201,6 @@ test = ["check-manifest", "coverage", "jupyterlab-server[test]", "pre-commit", " name = "jupyterlab-code-formatter" version = "1.5.3" description = "Code formatter for JupyterLab" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -3358,7 +3215,6 @@ jupyterlab = ">=3.0,<4.0" name = "jupyterlab-lsp" version = "3.10.2" description = "Coding assistance for JupyterLab with Language Server Protocol" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3374,7 +3230,6 @@ jupyterlab = ">=3.1.0,<4.0.0a0" name = "jupyterlab-pygments" version = "0.2.2" description = "Pygments theme using JupyterLab CSS variables" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3386,7 +3241,6 @@ files = [ name = "jupyterlab-server" version = "2.20.0" description = "A set of server components for JupyterLab and JupyterLab like applications." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3413,7 +3267,6 @@ test = ["codecov", "ipykernel", "jupyterlab-server[openapi]", "openapi-spec-vali name = "jupyterlab-widgets" version = "3.0.5" description = "Jupyter interactive widgets for JupyterLab" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3425,7 +3278,6 @@ files = [ name = "kiwisolver" version = "1.4.4" description = "A fast implementation of the Cassowary constraint solver" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3503,7 +3355,6 @@ files = [ name = "korean-lunar-calendar" version = "0.3.1" description = "Korean Lunar Calendar" -category = "main" optional = false python-versions = "*" files = [ @@ -3515,7 +3366,6 @@ files = [ name = "langchain" version = "0.0.191" description = "Building applications with LLMs through composability" -category = "main" optional = false python-versions = ">=3.8.1,<4.0" files = [ @@ -3552,7 +3402,6 @@ text-helpers = ["chardet (>=5.1.0,<6.0.0)"] name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3598,7 +3447,6 @@ files = [ name = "lightgbm" version = "3.3.5" description = "LightGBM Python Package" -category = "main" optional = true python-versions = "*" files = [ @@ -3622,7 +3470,6 @@ dask = ["dask[array] (>=2.0.0)", "dask[dataframe] (>=2.0.0)", "dask[distributed] name = "linearmodels" version = "4.27" description = "Linear Panel, Instrumental Variable, Asset Pricing, and System Regression models for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3662,7 +3509,6 @@ statsmodels = ">=0.11" name = "llama-index" version = "0.6.20" description = "Interface between LLMs and your data" -category = "main" optional = false python-versions = "*" files = [ @@ -3688,7 +3534,6 @@ urllib3 = "<2" name = "llvmlite" version = "0.39.1" description = "lightweight wrapper around basic LLVM functionality" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3726,7 +3571,6 @@ files = [ name = "loguru" version = "0.6.0" description = "Python logging made (stupidly) simple" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3745,7 +3589,6 @@ dev = ["Sphinx (>=4.1.1)", "black (>=19.10b0)", "colorama (>=0.3.4)", "docutils name = "lsprotocol" version = "2023.0.0a1" description = "Python implementation of the Language Server Protocol." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3761,7 +3604,6 @@ cattrs = "*" name = "lunarcalendar" version = "0.0.9" description = "A lunar calendar converter, including a number of lunar and solar holidays, mainly from China." -category = "main" optional = true python-versions = ">=2.7, <4" files = [ @@ -3778,7 +3620,6 @@ pytz = "*" name = "lxml" version = "4.9.2" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -3871,7 +3712,6 @@ source = ["Cython (>=0.29.7)"] name = "macholib" version = "1.16.2" description = "Mach-O header analysis and editing" -category = "main" optional = true python-versions = "*" files = [ @@ -3886,7 +3726,6 @@ altgraph = ">=0.17" name = "markdown" version = "3.4.1" description = "Python implementation of Markdown." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3904,7 +3743,6 @@ testing = ["coverage", "pyyaml"] name = "markdown-it-py" version = "1.1.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "dev" optional = false python-versions = "~=3.6" files = [ @@ -3927,7 +3765,6 @@ testing = ["coverage", "psutil", "pytest (>=3.6,<4)", "pytest-benchmark (>=3.2,< name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3987,7 +3824,6 @@ files = [ name = "marshmallow" version = "3.19.0" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4008,7 +3844,6 @@ tests = ["pytest", "pytz", "simplejson"] name = "marshmallow-enum" version = "1.5.1" description = "Enum field for Marshmallow" -category = "main" optional = false python-versions = "*" files = [ @@ -4023,7 +3858,6 @@ marshmallow = ">=2.0.0" name = "matplotlib" version = "3.7.0" description = "Python plotting package" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4086,7 +3920,6 @@ python-dateutil = ">=2.7" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -4101,7 +3934,6 @@ traitlets = "*" name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4113,7 +3945,6 @@ files = [ name = "mdit-py-plugins" version = "0.2.8" description = "Collection of plugins for markdown-it-py" -category = "dev" optional = false python-versions = "~=3.6" files = [ @@ -4133,7 +3964,6 @@ testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"] name = "mistune" version = "2.0.5" description = "A sane Markdown parser with useful plugins and renderers" -category = "main" optional = false python-versions = "*" files = [ @@ -4145,7 +3975,6 @@ files = [ name = "mock" version = "4.0.3" description = "Rolling backport of unittest.mock for all Pythons" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4162,7 +3991,6 @@ test = ["pytest (<5.4)", "pytest-cov"] name = "monotonic" version = "1.6" description = "An implementation of time.monotonic() for Python 2 & < 3.3" -category = "main" optional = false python-versions = "*" files = [ @@ -4174,7 +4002,6 @@ files = [ name = "more-itertools" version = "9.1.0" description = "More routines for operating on iterables, beyond itertools" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4186,7 +4013,6 @@ files = [ name = "mplfinance" version = "0.12.9b7" description = "Utilities for the visualization, and visual analysis, of financial data" -category = "main" optional = false python-versions = "*" files = [ @@ -4202,7 +4028,6 @@ pandas = "*" name = "mstarpy" version = "0.0.4" description = "Mutual funds data extraction from MorningStar with Python" -category = "main" optional = false python-versions = "*" files = [ @@ -4219,7 +4044,6 @@ requests = ">=2.28.1" name = "multidict" version = "6.0.4" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4303,7 +4127,6 @@ files = [ name = "multitasking" version = "0.0.11" description = "Non-blocking Python methods using decorators" -category = "main" optional = false python-versions = "*" files = [ @@ -4315,7 +4138,6 @@ files = [ name = "mutagen" version = "1.46.0" description = "read and write audio tags for many formats" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4327,7 +4149,6 @@ files = [ name = "mypy" version = "1.1.1" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4374,7 +4195,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -4386,7 +4206,6 @@ files = [ name = "myst-parser" version = "0.15.2" description = "An extended commonmark compliant parser, with bridges to docutils & sphinx." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -4412,7 +4231,6 @@ testing = ["beautifulsoup4", "coverage", "docutils (>=0.17.0,<0.18.0)", "pytest name = "nbclassic" version = "0.5.3" description = "Jupyter Notebook as a Jupyter Server extension." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4448,7 +4266,6 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-p name = "nbclient" version = "0.6.8" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4470,7 +4287,6 @@ test = ["black", "check-manifest", "flake8", "ipykernel", "ipython", "ipywidgets name = "nbconvert" version = "7.2.10" description = "Converting Jupyter Notebooks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4509,7 +4325,6 @@ webpdf = ["pyppeteer (>=1,<1.1)"] name = "nbformat" version = "5.7.3" description = "The Jupyter Notebook format" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4531,7 +4346,6 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] name = "nbmake" version = "1.4.1" description = "Pytest plugin for testing notebooks" -category = "dev" optional = false python-versions = ">=3.7.0,<4.0.0" files = [ @@ -4551,7 +4365,6 @@ pytest = ">=6.1.0" name = "nest-asyncio" version = "1.5.6" description = "Patch asyncio to allow nested event loops" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -4563,7 +4376,6 @@ files = [ name = "networkx" version = "3.0" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4582,7 +4394,6 @@ test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nfoursid" version = "1.0.1" description = "Implementation of N4SID, Kalman filtering and state-space models" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4599,7 +4410,6 @@ pandas = ">=1.1" name = "nodeenv" version = "1.7.0" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -4614,7 +4424,6 @@ setuptools = "*" name = "notebook" version = "6.5.3" description = "A web-based notebook environment for interactive computing" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4649,7 +4458,6 @@ test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixs name = "notebook-shim" version = "0.2.2" description = "A shim layer for notebook traits and config" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4667,7 +4475,6 @@ test = ["pytest", "pytest-console-scripts", "pytest-tornasync"] name = "numba" version = "0.56.4" description = "compiling Python code using LLVM" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4703,7 +4510,7 @@ files = [ [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.9\""} -llvmlite = ">=0.39.0dev0,<0.40" +llvmlite = "==0.39.*" numpy = ">=1.18,<1.24" setuptools = "*" @@ -4711,7 +4518,6 @@ setuptools = "*" name = "numexpr" version = "2.8.4" description = "Fast numerical expression evaluator for NumPy" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4754,7 +4560,6 @@ numpy = ">=1.13.3" name = "numpy" version = "1.23.4" description = "NumPy is the fundamental package for array computing with Python." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4792,7 +4597,6 @@ files = [ name = "oandapyv20" version = "0.6.3" description = "Python wrapper for the OANDA REST-V20 API" -category = "main" optional = false python-versions = "*" files = [ @@ -4803,7 +4607,6 @@ files = [ name = "oauthlib" version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -4820,7 +4623,6 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] name = "onetimepass" version = "1.0.1" description = "Module for generating and validating HOTP and TOTP tokens" -category = "main" optional = false python-versions = "*" files = [ @@ -4834,7 +4636,6 @@ six = "*" name = "openai" version = "0.27.7" description = "Python client library for the OpenAI API" -category = "main" optional = false python-versions = ">=3.7.1" files = [ @@ -4849,7 +4650,7 @@ tqdm = "*" [package.extras] datalib = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] -dev = ["black (>=21.6b0,<22.0)", "pytest (>=6.0.0,<7.0.0)", "pytest-asyncio", "pytest-mock"] +dev = ["black (>=21.6b0,<22.0)", "pytest (==6.*)", "pytest-asyncio", "pytest-mock"] embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"] wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"] @@ -4857,7 +4658,6 @@ wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1 name = "openai-whisper" version = "20230124" description = "Robust Speech Recognition via Large-Scale Weak Supervision" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4879,7 +4679,6 @@ dev = ["pytest"] name = "openapi-schema-pydantic" version = "1.2.4" description = "OpenAPI (v3) specification schema as pydantic class" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -4894,7 +4693,6 @@ pydantic = ">=1.8.2" name = "openpyxl" version = "3.1.2" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4909,7 +4707,6 @@ et-xmlfile = "*" name = "osqp" version = "0.6.2.post8" description = "OSQP: The Operator Splitting QP Solver" -category = "main" optional = true python-versions = "*" files = [ @@ -4949,7 +4746,6 @@ scipy = ">=0.13.2" name = "packaging" version = "23.0" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4961,7 +4757,6 @@ files = [ name = "pandas" version = "1.5.3" description = "Powerful data structures for data analysis, time series, and statistics" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5009,7 +4804,6 @@ test = ["hypothesis (>=5.5.3)", "pytest (>=6.0)", "pytest-xdist (>=1.31)"] name = "pandas-datareader" version = "0.10.0" description = "Data readers extracted from the pandas codebase,should be compatible with recent pandas versions" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5026,7 +4820,6 @@ requests = ">=2.19.0" name = "pandas-market-calendars" version = "3.2" description = "Market and exchange trading calendars for pandas" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5044,7 +4837,6 @@ pytz = "*" name = "pandas-ta" version = "0.3.14b" description = "An easy to use Python 3 Pandas Extension with 130+ Technical Analysis Indicators. Can be called from a Pandas DataFrame or standalone like TA-Lib. Correlation tested with TA-Lib." -category = "main" optional = false python-versions = "*" files = [ @@ -5062,7 +4854,6 @@ test = ["ta-lib"] name = "pandocfilters" version = "1.5.0" description = "Utilities for writing pandoc filters in python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -5074,7 +4865,6 @@ files = [ name = "papermill" version = "2.4.0" description = "Parametrize and run Jupyter and nteract Notebooks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5108,7 +4898,6 @@ test = ["attrs (>=17.4.0)", "azure-datalake-store (>=0.0.30)", "azure-storage-bl name = "parso" version = "0.8.3" description = "A Python Parser" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5124,7 +4913,6 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5136,7 +4924,6 @@ files = [ name = "patsy" version = "0.5.3" description = "A Python package for describing statistical models and for building design matrices." -category = "main" optional = false python-versions = "*" files = [ @@ -5155,7 +4942,6 @@ test = ["pytest", "pytest-cov", "scipy"] name = "pbr" version = "5.11.1" description = "Python Build Reasonableness" -category = "dev" optional = false python-versions = ">=2.6" files = [ @@ -5167,7 +4953,6 @@ files = [ name = "pefile" version = "2023.2.7" description = "Python PE parsing module" -category = "main" optional = true python-versions = ">=3.6.0" files = [ @@ -5179,7 +4964,6 @@ files = [ name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." -category = "main" optional = false python-versions = "*" files = [ @@ -5194,7 +4978,6 @@ ptyprocess = ">=0.5" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" -category = "main" optional = false python-versions = "*" files = [ @@ -5206,7 +4989,6 @@ files = [ name = "pillow" version = "9.4.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5297,7 +5079,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5309,7 +5090,6 @@ files = [ name = "platformdirs" version = "3.1.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5323,14 +5103,13 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytes [[package]] name = "plotly" -version = "5.14.1" +version = "5.15.0" description = "An open-source, interactive data visualization library for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "plotly-5.14.1-py2.py3-none-any.whl", hash = "sha256:a63f3ad9e4cc2e02902a738e5e3e7f3d1307f2732ac71a6c28f1238ed3052826"}, - {file = "plotly-5.14.1.tar.gz", hash = "sha256:bcac86d7fcba3eff7260c1eddc36ca34dae2aded10a0709808446565e0e53b93"}, + {file = "plotly-5.15.0-py2.py3-none-any.whl", hash = "sha256:3508876bbd6aefb8a692c21a7128ca87ce42498dd041efa5c933ee44b55aab24"}, + {file = "plotly-5.15.0.tar.gz", hash = "sha256:822eabe53997d5ebf23c77e1d1fcbf3bb6aa745eb05d532afd4b6f9a2e2ab02f"}, ] [package.dependencies] @@ -5341,7 +5120,6 @@ tenacity = ">=6.2.0" name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -5357,7 +5135,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pmaw" version = "3.0.0" description = "A multithread Pushshift.io API Wrapper for reddit.com comment and submission searches." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -5373,7 +5150,6 @@ requests = "*" name = "pmdarima" version = "2.0.3" description = "Python's forecast::auto.arima equivalent" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5419,7 +5195,6 @@ urllib3 = "*" name = "posthog" version = "3.0.1" description = "Integrate PostHog into any python application." -category = "main" optional = false python-versions = "*" files = [ @@ -5443,7 +5218,6 @@ test = ["coverage", "flake8", "freezegun (==0.3.15)", "mock (>=2.0.0)", "pylint" name = "praw" version = "7.7.0" description = "PRAW, an acronym for \"Python Reddit API Wrapper\", is a python package that allows for simple access to Reddit's API." -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -5467,7 +5241,6 @@ test = ["betamax (>=0.8,<0.9)", "betamax-matchers (>=0.3.0,<0.5)", "pytest (>=2. name = "prawcore" version = "2.3.0" description = "Low-level communication layer for PRAW 4+." -category = "main" optional = false python-versions = "~=3.6" files = [ @@ -5488,7 +5261,6 @@ test = ["betamax (>=0.8,<0.9)", "betamax-matchers (>=0.4.0,<0.5)", "betamax-seri name = "pre-commit" version = "2.21.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -5507,7 +5279,6 @@ virtualenv = ">=20.10.0" name = "prometheus-client" version = "0.16.0" description = "Python client for the Prometheus monitoring system." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5522,7 +5293,6 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.38" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -5537,7 +5307,6 @@ wcwidth = "*" name = "property-cached" version = "1.6.4" description = "A decorator for caching properties in classes (forked from cached-property)." -category = "main" optional = false python-versions = ">= 3.5" files = [ @@ -5549,7 +5318,6 @@ files = [ name = "prophet" version = "1.1.2" description = "Automatic Forecasting Procedure" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -5579,7 +5347,6 @@ parallel = ["dask[dataframe]", "distributed"] name = "protobuf" version = "3.20.1" description = "Protocol Buffers" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5613,7 +5380,6 @@ files = [ name = "psutil" version = "5.9.3" description = "Cross-platform lib for process and system monitoring in Python." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -5662,7 +5428,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "main" optional = false python-versions = "*" files = [ @@ -5674,7 +5439,6 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" -category = "main" optional = false python-versions = "*" files = [ @@ -5689,7 +5453,6 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -5701,7 +5464,6 @@ files = [ name = "pyarrow" version = "11.0.0" description = "Python library for Apache Arrow" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5739,7 +5501,6 @@ numpy = ">=1.16.6" name = "pyasn1" version = "0.4.8" description = "ASN.1 types and codecs" -category = "main" optional = true python-versions = "*" files = [ @@ -5751,7 +5512,6 @@ files = [ name = "pyasn1-modules" version = "0.2.8" description = "A collection of ASN.1-based protocols modules." -category = "main" optional = true python-versions = "*" files = [ @@ -5766,7 +5526,6 @@ pyasn1 = ">=0.4.6,<0.5.0" name = "pycares" version = "4.3.0" description = "Python interface for c-ares" -category = "main" optional = false python-versions = "*" files = [ @@ -5834,7 +5593,6 @@ idna = ["idna (>=2.1)"] name = "pycodestyle" version = "2.9.1" description = "Python style guide checker" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5846,7 +5604,6 @@ files = [ name = "pycoingecko" version = "3.1.0" description = "Python wrapper around the CoinGecko API" -category = "main" optional = false python-versions = "*" files = [ @@ -5861,7 +5618,6 @@ requests = "*" name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -5873,7 +5629,6 @@ files = [ name = "pycryptodome" version = "3.17" description = "Cryptographic library for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -5916,7 +5671,6 @@ files = [ name = "pycryptodomex" version = "3.17" description = "Cryptographic library for Python" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -5959,7 +5713,6 @@ files = [ name = "pydantic" version = "1.10.6" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6012,7 +5765,6 @@ email = ["email-validator (>=1.0.3)"] name = "pydeck" version = "0.8.0" description = "Widget for deck.gl maps" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6032,7 +5784,6 @@ jupyter = ["ipykernel (>=5.1.2)", "ipython (>=5.8.0)", "ipywidgets (>=7,<8)", "t name = "pydeprecate" version = "0.3.2" description = "Deprecation tooling" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -6044,7 +5795,6 @@ files = [ name = "pydocstyle" version = "6.3.0" description = "Python docstring style checker" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -6062,7 +5812,6 @@ toml = ["tomli (>=1.2.3)"] name = "pyerfa" version = "2.0.0.1" description = "Python bindings for ERFA" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -6108,7 +5857,6 @@ test = ["pytest", "pytest-doctestplus (>=0.7)"] name = "pyflakes" version = "2.5.0" description = "passive checker of Python programs" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6120,7 +5868,6 @@ files = [ name = "pygls" version = "1.0.1" description = "a pythonic generic language server (pronounced like \"pie glass\")." -category = "main" optional = true python-versions = "<4,>=3.7" files = [ @@ -6136,13 +5883,12 @@ typeguard = ">=2.10.0,<3" dev = ["bandit (==1.7.4)", "flake8 (==4.0.1)", "mypy (==0.961)"] docs = ["sphinx (==5.0.1)", "sphinx-rtd-theme (==1.0.0)"] test = ["mock (==4.0.3)", "pytest (==7.1.2)", "pytest-asyncio (==0.18.3)"] -ws = ["websockets (>=10.0.0,<11.0.0)"] +ws = ["websockets (==10.*)"] [[package]] name = "pygments" version = "2.14.0" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6157,7 +5903,6 @@ plugins = ["importlib-metadata"] name = "pyhdfe" version = "0.1.2" description = "High dimensional fixed effect absorption with Python 3" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6177,7 +5922,6 @@ tests = ["pytest", "pytest-xdist"] name = "pyinstaller" version = "4.10" description = "PyInstaller bundles a Python application and all its dependencies into a single package." -category = "main" optional = true python-versions = "<3.11,>=3.6" files = [ @@ -6210,7 +5954,6 @@ hook-testing = ["execnet (>=1.5.0)", "psutil", "pytest (>=2.7.3)"] name = "pyinstaller-hooks-contrib" version = "2023.0" description = "Community maintained hooks for PyInstaller" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -6222,7 +5965,6 @@ files = [ name = "pylint" version = "2.17.0" description = "python code static checker" -category = "dev" optional = false python-versions = ">=3.7.2" files = [ @@ -6249,7 +5991,6 @@ testutils = ["gitpython (>3)"] name = "pyluach" version = "2.2.0" description = "A Python package for dealing with Hebrew (Jewish) calendar dates." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6265,7 +6006,6 @@ test = ["beautifulsoup4", "flake8", "pytest", "pytest-cov"] name = "pymeeus" version = "0.5.12" description = "Python implementation of Jean Meeus astronomical routines" -category = "main" optional = false python-versions = "*" files = [ @@ -6276,7 +6016,6 @@ files = [ name = "pympler" version = "1.0.1" description = "A development tool to measure, monitor and analyze the memory behavior of Python objects." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6288,7 +6027,6 @@ files = [ name = "pyobjc-core" version = "9.0.1" description = "Python<->ObjC Interoperability Module" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6305,7 +6043,6 @@ files = [ name = "pyobjc-framework-cocoa" version = "9.0.1" description = "Wrappers for the Cocoa frameworks on macOS" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6325,7 +6062,6 @@ pyobjc-core = ">=9.0.1" name = "pyod" version = "1.0.8" description = "A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection)" -category = "main" optional = true python-versions = "*" files = [ @@ -6345,7 +6081,6 @@ six = "*" name = "pyotp" version = "2.8.0" description = "Python One Time Password Library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6357,7 +6092,6 @@ files = [ name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -6372,7 +6106,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyprind" version = "2.11.3" description = "Python Progress Bar and Percent Indicator Utility" -category = "main" optional = false python-versions = "*" files = [ @@ -6384,7 +6117,6 @@ files = [ name = "pyrsistent" version = "0.19.3" description = "Persistent/Functional/Immutable data structures" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6421,7 +6153,6 @@ files = [ name = "pytest" version = "6.2.5" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -6446,7 +6177,6 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm name = "pytest-cov" version = "3.0.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -6465,7 +6195,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "pytest-mock" version = "3.10.0" description = "Thin-wrapper around the mock package for easier use with pytest" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -6483,7 +6212,6 @@ dev = ["pre-commit", "pytest-asyncio", "tox"] name = "pytest-recorder" version = "0.2.3" description = "Pytest plugin, meant to facilitate unit tests writing for tools consumming Web APIs." -category = "dev" optional = false python-versions = ">=3.8,<4.0" files = [ @@ -6499,7 +6227,6 @@ vcrpy = ">=4.2.1,<5.0.0" name = "pytest-recording" version = "0.12.2" description = "A pytest plugin that allows you recording of network interactions via VCR.py" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -6516,7 +6243,6 @@ vcrpy = ">=2.0.1" name = "pytest-timeout" version = "2.1.0" description = "pytest plugin to abort hanging tests" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -6531,7 +6257,6 @@ pytest = ">=5.0.0" name = "pytest-xdist" version = "3.2.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -6552,7 +6277,6 @@ testing = ["filelock"] name = "pythclient" version = "0.1.4" description = "A library to retrieve Pyth account structures off the Solana blockchain." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -6577,7 +6301,6 @@ testing = ["aiodns", "aiohttp (>=3.7.4)", "backoff", "base58", "dnspython", "fla name = "python-binance" version = "1.0.17" description = "Binance REST API python implementation" -category = "main" optional = false python-versions = "*" files = [ @@ -6598,7 +6321,6 @@ websockets = "*" name = "python-coinmarketcap" version = "0.2" description = "CoinMarketCap Python API Wrapper" -category = "main" optional = false python-versions = "*" files = [ @@ -6611,7 +6333,6 @@ files = [ name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -6626,7 +6347,6 @@ six = ">=1.5" name = "python-dotenv" version = "0.19.2" description = "Read key-value pairs from a .env file and set them as environment variables" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -6641,7 +6361,6 @@ cli = ["click (>=5.0)"] name = "python-i18n" version = "0.3.9" description = "Translation library for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -6656,7 +6375,6 @@ yaml = ["pyyaml (>=3.10)"] name = "pytorch-lightning" version = "1.6.5" description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -6694,7 +6412,6 @@ test = ["cloudpickle (>=1.3)", "codecov (>=2.1)", "coverage (>=6.4)", "flake8 (> name = "pytrends" version = "4.9.2" description = "Pseudo API for Google Trends" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6711,7 +6428,6 @@ requests = ">=2.0" name = "pytz" version = "2022.7.1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -6723,7 +6439,6 @@ files = [ name = "pytz-deprecation-shim" version = "0.1.0.post0" description = "Shims to make deprecation of pytz easier" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -6739,7 +6454,6 @@ tzdata = {version = "*", markers = "python_version >= \"3.6\""} name = "pywin32" version = "305" description = "Python for Window Extensions" -category = "main" optional = false python-versions = "*" files = [ @@ -6763,7 +6477,6 @@ files = [ name = "pywin32-ctypes" version = "0.2.0" description = "" -category = "main" optional = true python-versions = "*" files = [ @@ -6775,7 +6488,6 @@ files = [ name = "pywinpty" version = "2.0.10" description = "Pseudo terminal support for Windows from Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6791,7 +6503,6 @@ files = [ name = "pywry" version = "0.5.12" description = "" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -6820,7 +6531,6 @@ dev = ["auditwheel", "wheel"] name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6870,7 +6580,6 @@ files = [ name = "pyzmq" version = "25.0.1" description = "Python bindings for 0MQ" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6960,7 +6669,6 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "qdldl" version = "0.1.5.post3" description = "QDLDL, a free LDL factorization routine." -category = "main" optional = true python-versions = "*" files = [ @@ -6993,7 +6701,6 @@ scipy = ">=0.13.2" name = "quandl" version = "3.7.0" description = "Package for quandl API access" -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -7014,7 +6721,6 @@ six = "*" name = "rdflib" version = "6.2.0" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7039,7 +6745,6 @@ tests = ["html5lib", "pytest", "pytest-cov"] name = "regex" version = "2022.10.31" description = "Alternative regular expression module, to replace re." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7137,7 +6842,6 @@ files = [ name = "reportlab" version = "3.6.13" description = "The Reportlab Toolkit" -category = "main" optional = false python-versions = ">=3.7,<4" files = [ @@ -7199,7 +6903,6 @@ rlpycairo = ["rlPyCairo (>=0.1.0)"] name = "requests" version = "2.28.2" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7, <4" files = [ @@ -7221,7 +6924,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-futures" version = "1.0.0" description = "Asynchronous Python HTTP for Humans." -category = "main" optional = false python-versions = "*" files = [ @@ -7236,7 +6938,6 @@ requests = ">=1.2.0" name = "requests-oauthlib" version = "1.3.1" description = "OAuthlib authentication support for Requests." -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -7255,7 +6956,6 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] name = "retrying" version = "1.3.4" description = "Retrying" -category = "main" optional = false python-versions = "*" files = [ @@ -7270,7 +6970,6 @@ six = ">=1.7.0" name = "rich" version = "12.6.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "main" optional = false python-versions = ">=3.6.3,<4.0.0" files = [ @@ -7290,7 +6989,6 @@ jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] name = "riskfolio-lib" version = "3.3.0" description = "Portfolio Optimization and Quantitative Strategic Asset Allocation in Python" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -7315,7 +7013,6 @@ xlsxwriter = ">=1.3.7" name = "robin-stocks" version = "2.1.0" description = "A Python wrapper around the Robinhood API" -category = "main" optional = false python-versions = ">=3" files = [ @@ -7333,7 +7030,6 @@ requests = "*" name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = true python-versions = ">=3.6,<4" files = [ @@ -7348,7 +7044,6 @@ pyasn1 = ">=0.1.3" name = "ruamel-yaml" version = "0.17.21" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "main" optional = false python-versions = ">=3" files = [ @@ -7367,7 +7062,6 @@ jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] name = "ruamel-yaml-clib" version = "0.2.7" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -7413,7 +7107,6 @@ files = [ name = "ruff" version = "0.0.256" description = "An extremely fast Python linter, written in Rust." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -7440,7 +7133,6 @@ files = [ name = "scikit-learn" version = "1.2.1" description = "A set of python modules for machine learning and data mining" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7483,7 +7175,6 @@ tests = ["black (>=22.3.0)", "flake8 (>=3.8.2)", "matplotlib (>=3.1.3)", "mypy ( name = "scipy" version = "1.10.1" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = "<3.12,>=3.8" files = [ @@ -7522,7 +7213,6 @@ test = ["asv", "gmpy2", "mpmath", "pooch", "pytest", "pytest-cov", "pytest-timeo name = "screeninfo" version = "0.6.7" description = "Fetch location and size of physical screens." -category = "main" optional = false python-versions = "*" files = [ @@ -7537,7 +7227,6 @@ pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} name = "scs" version = "3.2.2" description = "scs: splitting conic solver" -category = "main" optional = true python-versions = "*" files = [ @@ -7570,7 +7259,6 @@ scipy = ">=0.13.2" name = "seaborn" version = "0.11.2" description = "seaborn: statistical data visualization" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7588,7 +7276,6 @@ scipy = ">=1.0" name = "semantic-version" version = "2.10.0" description = "A library implementing the 'SemVer' scheme." -category = "main" optional = true python-versions = ">=2.7" files = [ @@ -7604,7 +7291,6 @@ doc = ["Sphinx", "sphinx-rtd-theme"] name = "send2trash" version = "1.8.0" description = "Send file to trash natively under Mac OS X, Windows and Linux." -category = "main" optional = false python-versions = "*" files = [ @@ -7621,7 +7307,6 @@ win32 = ["pywin32"] name = "setproctitle" version = "1.3.2" description = "A Python module to customize the process title" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7706,7 +7391,6 @@ test = ["pytest"] name = "setuptools" version = "65.4.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7723,7 +7407,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "setuptools-rust" version = "1.5.2" description = "Setuptools Rust extension plugin" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -7740,7 +7423,6 @@ typing-extensions = ">=3.7.4.3" name = "setuptools-scm" version = "6.4.2" description = "the blessed package to manage your versions by scm tags" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7761,7 +7443,6 @@ toml = ["setuptools (>=42)"] name = "sgmllib3k" version = "1.0.0" description = "Py3k port of sgmllib." -category = "main" optional = false python-versions = "*" files = [ @@ -7772,7 +7453,6 @@ files = [ name = "shap" version = "0.41.0" description = "A unified approach to explain the output of any machine learning model." -category = "main" optional = true python-versions = "*" files = [ @@ -7826,7 +7506,6 @@ test = ["catboost", "lightgbm", "opencv-python", "pyod", "pyspark", "pytest", "p name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -7838,7 +7517,6 @@ files = [ name = "slicer" version = "0.0.7" description = "A small package for big slicing." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -7850,7 +7528,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7862,7 +7539,6 @@ files = [ name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7874,7 +7550,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" files = [ @@ -7886,7 +7561,6 @@ files = [ name = "soupsieve" version = "2.4" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7898,7 +7572,6 @@ files = [ name = "sparqlwrapper" version = "2.0.0" description = "SPARQL Endpoint interface to Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7919,7 +7592,6 @@ pandas = ["pandas (>=1.3.5)"] name = "sphinx" version = "4.5.0" description = "Python documentation generator" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -7955,7 +7627,6 @@ test = ["cython", "html5lib", "pytest", "pytest-cov", "typed-ast"] name = "sphinxcontrib-applehelp" version = "1.0.4" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -7971,7 +7642,6 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.2" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -7987,7 +7657,6 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.1" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -8003,7 +7672,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -8018,7 +7686,6 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-qthelp" version = "1.0.3" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -8034,7 +7701,6 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.5" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -8050,7 +7716,6 @@ test = ["pytest"] name = "sqlalchemy" version = "2.0.15" description = "Database Abstraction Library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8098,7 +7763,7 @@ files = [ ] [package.dependencies] -greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"win32\" or platform_machine == \"WIN32\" or platform_machine == \"AMD64\" or platform_machine == \"amd64\" or platform_machine == \"x86_64\" or platform_machine == \"ppc64le\" or platform_machine == \"aarch64\""} typing-extensions = ">=4.2.0" [package.extras] @@ -8128,7 +7793,6 @@ sqlcipher = ["sqlcipher3-binary"] name = "squarify" version = "0.4.3" description = "Pure Python implementation of the squarify treemap layout algorithm" -category = "main" optional = false python-versions = "*" files = [ @@ -8140,7 +7804,6 @@ files = [ name = "stack-data" version = "0.6.2" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "main" optional = false python-versions = "*" files = [ @@ -8160,7 +7823,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "statsforecast" version = "1.4.0" description = "Time series forecasting suite using statistical models" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -8187,7 +7849,6 @@ ray = ["protobuf (>=3.15.3,<4.0.0)", "ray"] name = "statsmodels" version = "0.13.2" description = "Statistical computations and models for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8232,7 +7893,6 @@ docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "n name = "statsmodels" version = "0.13.3" description = "Statistical computations and models for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8268,7 +7928,7 @@ numpy = {version = ">=1.17", markers = "python_version != \"3.10\" or platform_s packaging = ">=21.3" pandas = ">=0.25" patsy = ">=0.5.2" -scipy = {version = ">=1.3", markers = "python_version > \"3.7\" and python_version < \"3.12\" or platform_system != \"Windows\" and python_version < \"3.12\" or platform_machine != \"x86\" and python_version < \"3.12\""} +scipy = {version = ">=1.3", markers = "(python_version > \"3.7\" or platform_system != \"Windows\" or platform_machine != \"x86\") and python_version < \"3.12\""} [package.extras] build = ["cython (>=0.29.32)"] @@ -8279,7 +7939,6 @@ docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "n name = "statsmodels" version = "0.13.5" description = "Statistical computations and models for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8318,7 +7977,7 @@ numpy = [ packaging = ">=21.3" pandas = ">=0.25" patsy = ">=0.5.2" -scipy = {version = ">=1.3", markers = "python_version > \"3.9\" and python_version < \"3.12\" or platform_system != \"Windows\" and python_version < \"3.12\" or platform_machine != \"x86\" and python_version < \"3.12\""} +scipy = {version = ">=1.3", markers = "(python_version > \"3.9\" or platform_system != \"Windows\" or platform_machine != \"x86\") and python_version < \"3.12\""} [package.extras] build = ["cython (>=0.29.32)"] @@ -8329,7 +7988,6 @@ docs = ["ipykernel", "jupyter-client", "matplotlib", "nbconvert", "nbformat", "n name = "stevedore" version = "5.0.0" description = "Manage dynamic plugins for Python applications" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -8344,7 +8002,6 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0" name = "stocksera" version = "0.1.21" description = "Official Stocksera API" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -8360,7 +8017,6 @@ requests = "*" name = "streamlit" version = "1.22.0" description = "A faster way to build and share data apps" -category = "main" optional = false python-versions = ">=3.7, !=3.9.7" files = [ @@ -8401,7 +8057,6 @@ snowflake = ["snowflake-snowpark-python"] name = "svglib" version = "1.5.1" description = "A pure-Python library for reading and converting SVG" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8418,7 +8073,6 @@ tinycss2 = ">=0.6.0" name = "tabulate" version = "0.9.0" description = "Pretty-print tabular data" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8433,7 +8087,6 @@ widechars = ["wcwidth"] name = "tbats" version = "1.1.2" description = "BATS and TBATS for time series forecasting" -category = "main" optional = true python-versions = "*" files = [ @@ -8454,7 +8107,6 @@ dev = ["pip-tools", "pytest", "rpy2"] name = "tenacity" version = "8.2.2" description = "Retry code until it succeeds" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -8469,7 +8121,6 @@ doc = ["reno", "sphinx", "tornado (>=4.5)"] name = "tensorboard" version = "2.12.0" description = "TensorBoard lets you watch Tensors Flow" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -8495,7 +8146,6 @@ wheel = ">=0.26" name = "tensorboard-data-server" version = "0.7.0" description = "Fast data loading for TensorBoard" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -8508,7 +8158,6 @@ files = [ name = "tensorboard-plugin-wit" version = "1.8.1" description = "What-If Tool TensorBoard plugin." -category = "main" optional = true python-versions = "*" files = [ @@ -8519,7 +8168,6 @@ files = [ name = "terminado" version = "0.17.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8540,7 +8188,6 @@ test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] name = "textwrap3" version = "0.9.2" description = "textwrap from Python 3.6 backport (plus a few tweaks)" -category = "main" optional = false python-versions = "*" files = [ @@ -8552,7 +8199,6 @@ files = [ name = "thepassiveinvestor" version = "1.1.2" description = "Passive Investing for the Average Joe." -category = "main" optional = false python-versions = "*" files = [ @@ -8564,7 +8210,6 @@ files = [ name = "threadpoolctl" version = "3.1.0" description = "threadpoolctl" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -8576,7 +8221,6 @@ files = [ name = "tiktoken" version = "0.4.0" description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -8622,7 +8266,6 @@ blobfile = ["blobfile (>=2)"] name = "time-machine" version = "2.9.0" description = "Travel through time in your tests." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -8688,7 +8331,6 @@ python-dateutil = "*" name = "tinycss2" version = "1.2.1" description = "A tiny CSS parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8707,7 +8349,6 @@ test = ["flake8", "isort", "pytest"] name = "tokenizers" version = "0.13.2" description = "Fast and Customizable Tokenizers" -category = "main" optional = true python-versions = "*" files = [ @@ -8762,7 +8403,6 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] name = "tokenterminal" version = "1.0.1" description = "Unofficial Token Terminal API client." -category = "main" optional = false python-versions = "*" files = [ @@ -8777,7 +8417,6 @@ requests = ">=2.18.4" name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -8789,7 +8428,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8801,7 +8439,6 @@ files = [ name = "tomlkit" version = "0.11.6" description = "Style preserving TOML library" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -8813,7 +8450,6 @@ files = [ name = "toolz" version = "0.12.0" description = "List processing tools and functional utilities" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -8825,7 +8461,6 @@ files = [ name = "torch" version = "1.11.0" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" -category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -8857,7 +8492,6 @@ typing-extensions = "*" name = "torchmetrics" version = "0.11.4" description = "PyTorch native Metrics" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -8884,7 +8518,6 @@ text = ["nltk (>=3.6)", "regex (>=2021.9.24)", "tqdm (>=4.41.0)"] name = "tornado" version = "6.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -8905,7 +8538,6 @@ files = [ name = "tqdm" version = "4.65.0" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8926,7 +8558,6 @@ telegram = ["requests"] name = "tradingview-ta" version = "3.3.0" description = "Unofficial TradingView technical analysis API wrapper." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -8941,7 +8572,6 @@ requests = "*" name = "traitlets" version = "5.9.0" description = "Traitlets Python configuration system" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -8957,7 +8587,6 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] name = "transformers" version = "4.27.1" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" -category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -9025,7 +8654,6 @@ vision = ["Pillow"] name = "typeguard" version = "2.13.3" description = "Run-time type checker for Python" -category = "main" optional = true python-versions = ">=3.5.3" files = [ @@ -9041,7 +8669,6 @@ test = ["mypy", "pytest", "typing-extensions"] name = "types-python-dateutil" version = "2.8.19.10" description = "Typing stubs for python-dateutil" -category = "dev" optional = false python-versions = "*" files = [ @@ -9053,7 +8680,6 @@ files = [ name = "types-pytz" version = "2021.3.8" description = "Typing stubs for pytz" -category = "dev" optional = false python-versions = "*" files = [ @@ -9065,7 +8691,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.8" description = "Typing stubs for PyYAML" -category = "dev" optional = false python-versions = "*" files = [ @@ -9077,7 +8702,6 @@ files = [ name = "types-requests" version = "2.28.11.15" description = "Typing stubs for requests" -category = "dev" optional = false python-versions = "*" files = [ @@ -9092,7 +8716,6 @@ types-urllib3 = "<1.27" name = "types-setuptools" version = "57.4.18" description = "Typing stubs for setuptools" -category = "dev" optional = false python-versions = "*" files = [ @@ -9104,7 +8727,6 @@ files = [ name = "types-six" version = "1.16.21.7" description = "Typing stubs for six" -category = "dev" optional = false python-versions = "*" files = [ @@ -9116,7 +8738,6 @@ files = [ name = "types-urllib3" version = "1.26.25.8" description = "Typing stubs for urllib3" -category = "dev" optional = false python-versions = "*" files = [ @@ -9128,7 +8749,6 @@ files = [ name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9140,7 +8760,6 @@ files = [ name = "typing-inspect" version = "0.8.0" description = "Runtime inspection utilities for typing module." -category = "main" optional = false python-versions = "*" files = [ @@ -9156,7 +8775,6 @@ typing-extensions = ">=3.7.4" name = "tzdata" version = "2022.7" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -9168,7 +8786,6 @@ files = [ name = "tzlocal" version = "4.2" description = "tzinfo object for the local timezone" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -9189,7 +8806,6 @@ test = ["pytest (>=4.3)", "pytest-mock (>=3.3)"] name = "u8darts" version = "0.23.0" description = "A python library for easy manipulation and forecasting of time series." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -9230,7 +8846,6 @@ torch = ["pytorch-lightning (>=1.5.0)", "torch (>=1.8.0)"] name = "ujson" version = "5.7.0" description = "Ultra fast JSON encoder and decoder for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9305,7 +8920,6 @@ files = [ name = "update-checker" version = "0.18.0" description = "A python module that will check for package updates." -category = "main" optional = false python-versions = "*" files = [ @@ -9325,7 +8939,6 @@ test = ["pytest (>=2.7.3)"] name = "urllib3" version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -9342,7 +8955,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "user-agent" version = "0.1.10" description = "User-Agent generator" -category = "main" optional = false python-versions = "*" files = [ @@ -9356,7 +8968,6 @@ six = "*" name = "vadersentiment" version = "3.3.2" description = "VADER Sentiment Analysis. VADER (Valence Aware Dictionary and sEntiment Reasoner) is a lexicon and rule-based sentiment analysis tool that is specifically attuned to sentiments expressed in social media, and works well on texts from other domains." -category = "main" optional = false python-versions = "*" files = [ @@ -9371,7 +8982,6 @@ requests = "*" name = "validators" version = "0.20.0" description = "Python Data Validation for Humans™." -category = "main" optional = false python-versions = ">=3.4" files = [ @@ -9388,7 +8998,6 @@ test = ["flake8 (>=2.4.0)", "isort (>=4.2.2)", "pytest (>=2.2.3)"] name = "valinvest" version = "0.0.2" description = "A value investing tool based on Warren Buffett, Joseph Piotroski and Benjamin Graham thoughts" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -9400,7 +9009,6 @@ files = [ name = "vcrpy" version = "4.2.1" description = "Automatically mock your HTTP interactions to simplify and speed up testing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -9418,7 +9026,6 @@ yarl = "*" name = "virtualenv" version = "20.21.0" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -9439,7 +9046,6 @@ test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess name = "watchdog" version = "2.3.1" description = "Filesystem events monitoring" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -9480,7 +9086,6 @@ watchmedo = ["PyYAML (>=3.10)"] name = "wcwidth" version = "0.2.6" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = false python-versions = "*" files = [ @@ -9492,7 +9097,6 @@ files = [ name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -9504,7 +9108,6 @@ files = [ name = "websocket-client" version = "1.5.1" description = "WebSocket client for Python with low level API options" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9521,7 +9124,6 @@ test = ["websockets"] name = "websockets" version = "11.0.1" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9601,7 +9203,6 @@ files = [ name = "werkzeug" version = "2.2.3" description = "The comprehensive WSGI web application library." -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -9619,7 +9220,6 @@ watchdog = ["watchdog"] name = "wheel" version = "0.40.0" description = "A built-package format for Python" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -9634,7 +9234,6 @@ test = ["pytest (>=6.0.0)"] name = "widgetsnbextension" version = "4.0.5" description = "Jupyter interactive widgets for Jupyter Notebook" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9646,7 +9245,6 @@ files = [ name = "win32-setctime" version = "1.1.0" description = "A small Python utility to set file creation time on Windows" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -9661,7 +9259,6 @@ dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] name = "wrapt" version = "1.15.0" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -9746,7 +9343,6 @@ files = [ name = "xarray" version = "2023.1.0" description = "N-D labeled arrays and datasets in Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -9771,7 +9367,6 @@ viz = ["matplotlib", "nc-time-axis", "seaborn"] name = "xgboost" version = "1.7.4" description = "XGBoost Python Package" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -9799,7 +9394,6 @@ scikit-learn = ["scikit-learn"] name = "xlsxwriter" version = "3.0.9" description = "A Python module for creating Excel XLSX files." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -9811,7 +9405,6 @@ files = [ name = "y-py" version = "0.6.0" description = "Python bindings for the Y-CRDT built from yrs (Rust)" -category = "main" optional = false python-versions = "*" files = [ @@ -9887,7 +9480,6 @@ files = [ name = "yahooquery" version = "2.3.0" description = "Python interface to unofficial Yahoo Finance API endpoints" -category = "main" optional = false python-versions = "*" files = [ @@ -9910,7 +9502,6 @@ test = ["coverage (==5.2.1)", "pytest (==6.0.2)", "pytest-cov (==2.10.1)", "sele name = "yarl" version = "1.8.2" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -9998,7 +9589,6 @@ multidict = ">=4.0" name = "yfinance" version = "0.2.12" description = "Download market data from Yahoo! Finance API" -category = "main" optional = false python-versions = "*" files = [ @@ -10023,7 +9613,6 @@ requests = ">=2.26" name = "yt-dlp" version = "2023.3.4" description = "A youtube-dl fork with additional features and patches" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -10043,7 +9632,6 @@ websockets = "*" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -10059,7 +9647,6 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more name = "zope-interface" version = "5.5.2" description = "Interfaces for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -10120,4 +9707,4 @@ optimization = ["Riskfolio-Lib"] [metadata] lock-version = "2.0" python-versions = "^3.8.1,<3.11, !=3.9.7" -content-hash = "e3df49b71ceeecb220e25a6f2c73f4d21a67b86f2891860187b1abad29437b04" +content-hash = "cb24f854b046f29289e3f1ad584ed733337408cafe5bb989362030f759efdddc" diff --git a/pyproject.toml b/pyproject.toml index f845497ca6a..ef5448ed344 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,7 +31,7 @@ praw = "^7.1.4" Quandl = "^3.6.0" pytrends = "4.9.2" matplotlib = "^3.3.3" -plotly = "^5.14.1" +plotly = "^5.15.0" prompt-toolkit = "^3.0.16" jupyterlab = "^3.2.4" mplfinance = "^0.12.7-alpha.7" diff --git a/requirements-full.txt b/requirements-full.txt index 18b0475915b..23ec087d546 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -9,7 +9,7 @@ altgraph==0.17.3 ; python_full_version >= "3.8.1" and python_version < "3.11" an ansiwrap==0.8.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" anyio==3.6.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" appdirs==1.4.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -appnope==0.1.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and sys_platform == "darwin" or python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and platform_system == "Darwin" +appnope==0.1.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (sys_platform == "darwin" or platform_system == "Darwin") arch==5.5.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" argon2-cffi-bindings==21.2.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" argon2-cffi==21.3.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" @@ -104,7 +104,7 @@ gitpython==3.1.31 ; python_full_version >= "3.8.1" and python_full_version != "3 google-auth-oauthlib==0.4.6 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" google-auth==2.16.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" graphviz==0.20.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -greenlet==2.0.2 ; python_full_version >= "3.8.1" and platform_machine == "aarch64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "ppc64le" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "x86_64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "amd64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "AMD64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "win32" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "WIN32" and python_full_version != "3.9.7" and python_version < "3.11" +greenlet==2.0.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (platform_machine == "win32" or platform_machine == "WIN32" or platform_machine == "AMD64" or platform_machine == "amd64" or platform_machine == "x86_64" or platform_machine == "ppc64le" or platform_machine == "aarch64") grpcio==1.51.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" hijri-converter==2.2.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" holidays==0.14.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" @@ -211,7 +211,7 @@ pickleshare==0.7.5 ; python_full_version >= "3.8.1" and python_full_version != " pillow==9.4.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pkgutil-resolve-name==1.3.10 ; python_full_version >= "3.8.1" and python_version < "3.9" platformdirs==3.1.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -plotly==5.14.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" +plotly==5.15.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pluggy==1.0.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pmaw==3.0.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pmdarima==2.0.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" @@ -225,7 +225,7 @@ property-cached==1.6.4 ; python_full_version >= "3.8.1" and python_full_version prophet==1.1.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" protobuf==3.20.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" psutil==5.9.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -ptyprocess==0.7.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and sys_platform != "win32" or python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and os_name != "nt" +ptyprocess==0.7.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (sys_platform != "win32" or os_name != "nt") pure-eval==0.2.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" py==1.11.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pyarrow==11.0.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" diff --git a/requirements.txt b/requirements.txt index 6cc15f3bb28..321293f89e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ altair==4.2.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7 ansiwrap==0.8.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" anyio==3.6.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" appdirs==1.4.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -appnope==0.1.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and sys_platform == "darwin" or python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and platform_system == "Darwin" +appnope==0.1.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (sys_platform == "darwin" or platform_system == "Darwin") arch==5.5.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" argon2-cffi-bindings==21.2.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" argon2-cffi==21.3.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" @@ -73,7 +73,7 @@ fundamentalanalysis==0.2.14 ; python_full_version >= "3.8.1" and python_full_ver future==0.18.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" gitdb==4.0.10 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" gitpython==3.1.31 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -greenlet==2.0.2 ; python_full_version >= "3.8.1" and platform_machine == "aarch64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "ppc64le" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "x86_64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "amd64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "AMD64" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "win32" and python_full_version != "3.9.7" and python_version < "3.11" or python_full_version >= "3.8.1" and platform_machine == "WIN32" and python_full_version != "3.9.7" and python_version < "3.11" +greenlet==2.0.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (platform_machine == "win32" or platform_machine == "WIN32" or platform_machine == "AMD64" or platform_machine == "amd64" or platform_machine == "x86_64" or platform_machine == "ppc64le" or platform_machine == "aarch64") grpcio==1.51.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" hijri-converter==2.2.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" holidays==0.14.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" @@ -152,7 +152,7 @@ pickleshare==0.7.5 ; python_full_version >= "3.8.1" and python_full_version != " pillow==9.4.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pkgutil-resolve-name==1.3.10 ; python_full_version >= "3.8.1" and python_version < "3.9" platformdirs==3.1.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -plotly==5.14.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" +plotly==5.15.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pmaw==3.0.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" posthog==3.0.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" praw==7.7.0 ; python_full_version >= "3.8.1" and python_version < "3.11" and python_full_version != "3.9.7" @@ -162,7 +162,7 @@ prompt-toolkit==3.0.38 ; python_full_version >= "3.8.1" and python_full_version property-cached==1.6.4 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" protobuf==3.20.1 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" psutil==5.9.3 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" -ptyprocess==0.7.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and sys_platform != "win32" or python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and os_name != "nt" +ptyprocess==0.7.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" and (sys_platform != "win32" or os_name != "nt") pure-eval==0.2.2 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pyarrow==11.0.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11" pycares==4.3.0 ; python_full_version >= "3.8.1" and python_full_version != "3.9.7" and python_version < "3.11"