diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f405f7bcf..d25d3fff4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,15 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## Unreleased + +## [7.0.0] - 2026-08-25 + ### Fixed +- Fix `hex_to_rgb` parsing of 3-digit shorthand hexadecimal colors such as `#FFF` [[#5662](https://github.com/plotly/plotly.py/pull/5662)], with thanks to @genrichez for the contribution! - Improve `px.*_map()` auto-fitting behavior when `zoom` and `center` are not specified [[#5686](https://github.com/plotly/plotly.py/pull/5686)] +- Add `` to the `to_html()` template to comply with modern web standards [[#5693](https://github.com/plotly/plotly.py/pull/5693)], with thanks to @mishrakushal for the contribution! +- Apply `histfunc`/`z` aggregation to `marginal_x`/`marginal_y="histogram"` subplots in `density_heatmap`/`density_contour`, instead of always showing raw bin counts [[#3521](https://github.com/plotly/plotly.py/issues/3521)], with thanks to @lucasjamar for the contribution! +- Fix `mpl_to_plotly` silently dropping matplotlib path collections in data coordinates (such as violin plots, pcolor, event plots, stack plots, fill_between, and stem plots) by rendering them as filled polygons or lines [[#5702](https://github.com/plotly/plotly.py/pull/5702)], with thanks to @robertoffmoura for the contribution! ### Updated - Update plotly.js from version 3.6.0 to version 4.0.0 [[#5673](https://github.com/plotly/plotly.py/pull/5673)]. This is a major-version release with many changes. See the [plotly.js release notes](https://github.com/plotly/plotly.js/releases/tag/v4.0.0) for the full list. The most significant changes include: @@ -24,16 +31,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Dynamically compute `center` and `zoom` values for `scattermap` and `densitymap` traces. The initial map view will now auto-fit to the trace data by default. Add `layout.map.fitbounds` attribute (default `'locations'`) to enable or disable auto-fitting behavior [[#7884](https://github.com/plotly/plotly.js/pull/7884), [#7913](https://github.com/plotly/plotly.js/pull/7913)] - Fix GeoJSON bounding-box computation for `choropleth` and `scattergeo` traces whose geometry crosses the antimeridian [[#7891](https://github.com/plotly/plotly.js/pull/7891)] - - ## [7.0.0rc0] - 2026-07-29 -### Fixed -- Fix `hex_to_rgb` parsing of 3-digit shorthand hexadecimal colors such as `#FFF` [[#5662](https://github.com/plotly/plotly.py/pull/5662)], with thanks to @genrichez for the contribution! -- Add `` to the `to_html()` template to comply with modern web standards [[#5693](https://github.com/plotly/plotly.py/pull/5693)], with thanks to @mishrakushal for the contribution! -- Apply `histfunc`/`z` aggregation to `marginal_x`/`marginal_y="histogram"` subplots in `density_heatmap`/`density_contour`, instead of always showing raw bin counts [[#3521](https://github.com/plotly/plotly.py/issues/3521)], with thanks to @lucasjamar for the contribution! -- Fix `mpl_to_plotly` silently dropping matplotlib path collections in data coordinates (such as violin plots, pcolor, event plots, stack plots, fill_between, and stem plots) by rendering them as filled polygons or lines [[#5702](https://github.com/plotly/plotly.py/pull/5702)], with thanks to @robertoffmoura for the contribution! - ### Removed - Remove the deprecated Figure Factory functions `create_2d_density`, `create_annotated_heatmap`, `create_bullet`, `create_candlestick`, `create_choropleth`, `create_distplot`, `create_facet_grid`, `create_gantt`, `create_hexbin_mapbox`, `create_ohlc`, `create_scatterplotmatrix`, and `create_violin` [[#5627](https://github.com/plotly/plotly.py/pull/5627)] - Remove support for Kaleido versions less than v1.0.0 for static image generation [[#5677](https://github.com/plotly/plotly.py/pull/5677)] diff --git a/CITATION.cff b/CITATION.cff index 000ce3de3c..61b9ac3b03 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -9,7 +9,7 @@ authors: - family-names: "Parmer" given-names: "Chris" title: "An interactive, open-source, and browser-based graphing library for Python" -version: 6.9.0 +version: 7.0.0 doi: 10.5281/zenodo.14503524 -date-released: 2026-07-09 +date-released: 2026-08-25 url: "https://github.com/plotly/plotly.py" diff --git a/js/package-lock.json b/js/package-lock.json index f77db23cc4..a8186ce535 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -1,12 +1,12 @@ { "name": "jupyterlab-plotly", - "version": "7.0.0-rc0", + "version": "7.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "jupyterlab-plotly", - "version": "7.0.0-rc0", + "version": "7.0.0", "license": "MIT", "dependencies": { "@lumino/widgets": "~2.4.0", diff --git a/js/package.json b/js/package.json index 57cb3c95c3..b7fd95a6c5 100644 --- a/js/package.json +++ b/js/package.json @@ -1,7 +1,7 @@ { "name": "jupyterlab-plotly", "main": "lib/mimeExtension.js", - "version": "7.0.0-rc0", + "version": "7.0.0", "repository": { "type": "git", "url": "https://github.com/plotly/plotly.py" diff --git a/plotly/labextension/package.json b/plotly/labextension/package.json index 6672b55234..41da67f6fe 100644 --- a/plotly/labextension/package.json +++ b/plotly/labextension/package.json @@ -1,7 +1,7 @@ { "name": "jupyterlab-plotly", "main": "lib/mimeExtension.js", - "version": "7.0.0-rc0", + "version": "7.0.0", "repository": { "type": "git", "url": "https://github.com/plotly/plotly.py" @@ -33,7 +33,7 @@ "outputDir": "../plotly/labextension", "webpackConfig": "./webpack.config.js", "_build": { - "load": "static/remoteEntry.a36ed21aaa877c35.js", + "load": "static/remoteEntry.6f1030bf65ead662.js", "mimeExtension": "./mimeExtension" } } diff --git a/plotly/labextension/static/remoteEntry.6f1030bf65ead662.js b/plotly/labextension/static/remoteEntry.6f1030bf65ead662.js new file mode 100644 index 0000000000..a6faac19c3 --- /dev/null +++ b/plotly/labextension/static/remoteEntry.6f1030bf65ead662.js @@ -0,0 +1 @@ +var _JUPYTERLAB;(()=>{"use strict";var e,n,r,t,o,i,u,a,c,l,f,s,p,h,d,v,g,y,m,b,S,j,w,E,k,x,T,P,A,C,O,D,M,L,N,$,_,z={0(e,n,r){var t={"./index":()=>r.e(0).then(()=>()=>r(2)),"./mimeExtension":()=>r.e(0).then(()=>()=>r(2))},o=function(e,n){return r.R=n,n=r.o(t,e)?t[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,n},i=function(e,n){if(r.S){var t="default",o=r.S[t];if(o&&o!==e)throw Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[t]=e,r.I(t,n)}};r.d(n,{get:()=>o,init:()=>i})}},I={};function R(e){var n=I[e];if(void 0!==n)return n.exports;var r=I[e]={exports:{}};return z[e](r,r.exports,R),r.exports}R.m=z,R.c=I,R.d=(e,n,r)=>{var t=(n,r)=>{for(var t in n)R.o(n,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,[r]:n[t]})};t(n,"get"),t(r,"value")},R.f={},R.e=e=>Promise.all(Object.keys(R.f).reduce((n,r)=>(R.f[r](e,n),n),[])),R.u=e=>""+e+".e889754e73c03c32.js?v=e889754e73c03c32",R.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),R.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),U={},R.l=function(e,n,r,t){if(U[e])return void U[e].push(n);if(void 0!==r)for(var o,i,u=document.getElementsByTagName("script"),a=0;a{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},R.S={},R.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"jupyterlab-plotly",version:"7.0.0",factory:()=>R.e(0).then(()=>()=>R(2)),eager:0,treeShakingMode:null}]},uniqueName:"jupyterlab-plotly"},q={},B={},R.I=function(e,n){n||(n=[]);var r=B[e];if(r||(r=B[e]={}),!(n.indexOf(r)>=0)){if(n.push(r),q[e])return q[e];R.o(R.S,e)||(R.S[e]={});var t=R.S[e],o=function(e){"u">typeof console&&console.warn&&console.warn(e)},i=R.initializeSharingData.uniqueName,u=function(e,n,r,o){var u=t[e]=t[e]||{},a=u[n];(!a||!a.loaded&&(!o!=!a.eager?o:i>a.from))&&(u[n]={get:r,from:i,eager:!!o})},a=function(r){var t=function(e){o("Initialization of sharing external failed: "+e)};try{var i=R(r);if(!i)return;var u=function(r){return r&&r.init&&r.init(R.S[e],n)};if(i.then)return c.push(i.then(u,t));var a=u(i);if(a&&a.then)return c.push(a.catch(t))}catch(e){t(e)}},c=[],l=R.initializeSharingData.scopeToSharingDataMapping;return(l[e]&&l[e].forEach(function(e){"object"==typeof e?u(e.name,e.version,e.factory,e.eager):a(e)}),c.length)?q[e]=Promise.all(c).then(function(){return q[e]=1}):q[e]=1}},R.g.importScripts&&(J=R.g.location+"");var U,q,B,J,Y=R.g.document;if(!J&&Y&&(Y.currentScript&&"SCRIPT"===Y.currentScript.tagName.toUpperCase()&&(J=Y.currentScript.src),!J)){var V=Y.getElementsByTagName("script");if(V.length)for(var F=V.length-1;F>-1&&(!J||!/^http(s?):/.test(J));)J=V[F--].src}if(!J)throw Error("Automatic publicPath is not supported in this browser");R.p=J=J.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),R.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},e=function(e){return e.split(".").map(function(e){return+e==e?+e:e})},n=function(n){var r=function(n){var r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),t=r[1]?[0].concat(e(r[1])):[0];r[2]&&(t.length++,t.push.apply(t,e(r[2])));let o=t[t.length-1];for(;t.length&&(void 0===o||/^[*xX]$/.test(o));)t.pop(),o=t[t.length-1];return t},t=function(e){return 1===e.length?[0]:2===e.length?[1].concat(e.slice(1)):3===e.length?[2].concat(e.slice(1)):[e.length].concat(e.slice(1))},o=function(e){return[-e[0]-1].concat(e.slice(1))},i=function(e){let n=/^(\^|~|<=|<|>=|>|=|v|!)/.exec(e),i=n?n[0]:"",u=r(i.length?e.slice(i.length).trim():e.trim());switch(i){case"^":if(u.length>1&&0===u[1]){if(u.length>2&&0===u[2])return[3].concat(u.slice(1));return[2].concat(u.slice(1))}return[1].concat(u.slice(1));case"~":return[2].concat(u.slice(1));case">=":return u;case"=":case"v":case"":return t(u);case"<":return o(u);case">":return[,t(u),0,u,2];case"<=":return[,t(u),o(u),1];case"!":return[,t(u),0];default:throw Error("Unexpected start value")}},u=function(e,n){if(1===e.length)return e[0];let r=[];for(let n of e.slice().reverse())0 in n?r.push(n):r.push.apply(r,n.slice(1));return[,].concat(r,e.slice(1).map(()=>n))};return u(n.split(/\s*\|\|\s*/).map(function(e){let n=e.split(/\s+-\s+/);if(1===n.length){e=e.trim();let n=[],r=/[-0-9A-Za-z]\s+/g;for(var a,c=0;a=r.exec(e);){let r=a.index+1;n.push(i(e.slice(c,r).trim())),c=r}return n.push(i(e.slice(c).trim())),u(n,2)}let l=r(n[0]),f=r(n[1]);return[,t(f),o(f),1,l,2]}),1)},r=function(n){var r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),t=r[1]?e(r[1]):[];return r[2]&&(t.length++,t.push.apply(t,e(r[2]))),r[3]&&(t.push([]),t.push.apply(t,e(r[3]))),t},t=function(e,n){e=r(e),n=r(n);for(var t=0;;){if(t>=e.length)return t=n.length)return"u"==i;var u=n[t],a=(typeof u)[0];if(i==a){if("o"!=i&&"u"!=i&&o!=u)return o=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var t=1,i=1;i0?".":"")+(t=2,u)}return r}for(var c=[],i=1;i=n.length||"o"==(f=(typeof(l=n[u]))[0])){if(!c)return!0;if("u"==s)return a>t&&!o;return""==s!=o}if("u"==f){if(!c||"u"!=s)return!1}else if(c)if(s==f)if(a<=t){if(l!=e[a])return!1}else{if(o?l>e[a]:ltypeof console&&console.warn&&console.warn(e)},y=function(e,n,r,t){g(d(e,n,r,t))},m=function(e){return e.loaded=1,e.get()},S=(b=function(e){return function(n,r,t,o){var i=R.I(n);return i&&i.then?i.then(e.bind(e,n,R.S[n],r,t,o)):e(n,R.S[n],r,t,o)}})(function(e,n,r){return u(e,r),m(a(n,r))}),j=b(function(e,n,r,t){return n&&R.o(n,r)?m(a(n,r)):t()}),w=b(function(e,n,r,t){return u(e,r),m(h(n,r,t)||y(n,e,r,t)||a(n,r))}),E=b(function(e,n,r){return u(e,r),f(n,e,r)}),k=b(function(e,n,r,t){return u(e,r),s(n,e,r,t)}),x=b(function(e,n,r,t){return u(e,r),v(n,e,r,t)}),T=b(function(e,n,r,t){return u(e,r),p(n,e,r,t)}),P=b(function(e,n,r,t,o){return n&&R.o(n,r)?m(h(n,r,t)||y(n,e,r,t)||a(n,r)):o()}),A=b(function(e,n,r,t){return n&&R.o(n,r)?f(n,e,r):t()}),C=b(function(e,n,r,t,o){return n&&R.o(n,r)?s(n,e,r,t):o()}),O=b(function(e,n,r,t,o){var i=n&&R.o(n,r)&&h(n,r,t);return i?m(i):o()}),D=b(function(e,n,r,t,o){return n&&R.o(n,r)?p(n,e,r,t):o()}),M=function(e){var r=!1,t=!1,o=!1,i=!1,u=[e.shareScope,e.shareKey];return(e.requiredVersion?(e.strictVersion&&(r=!0),e.singleton&&(t=!0),u.push(n(e.requiredVersion)),o=!0):e.singleton&&(t=!0),e.fallback&&(i=!0,u.push(e.fallback)),r&&t&&o&&i)?function(){return D.apply(null,u)}:r&&o&&i?function(){return O.apply(null,u)}:t&&o&&i?function(){return C.apply(null,u)}:r&&t&&o?function(){return T.apply(null,u)}:t&&i?function(){return A.apply(null,u)}:o&&i?function(){return P.apply(null,u)}:r&&o?function(){return x.apply(null,u)}:t&&o?function(){return k.apply(null,u)}:t?function(){return E.apply(null,u)}:o?function(){return w.apply(null,u)}:i?function(){return j.apply(null,u)}:function(){return S.apply(null,u)}},L={},R.f.consumes=function(e,n){var r=R.consumesLoadingData.moduleIdToConsumeDataMapping,t=R.consumesLoadingData.chunkMapping;R.o(t,e)&&t[e].forEach(function(e){if(R.o(L,e))return n.push(L[e]);var t=function(n){L[e]=0,R.m[e]=function(r){delete R.c[e],r.exports=n()}},o=function(n){delete L[e],R.m[e]=function(r){throw delete R.c[e],n}};try{var i=M(r[e])();i.then?n.push(L[e]=i.then(t).catch(o)):t(i)}catch(e){o(e)}})},N={1:0},R.f.j=function(e,n){var r=R.o(N,e)?N[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var t=new Promise((n,t)=>r=N[e]=[n,t]);n.push(r[2]=t);var o=R.p+R.u(e),i=Error();R.l(o,function(n){if(R.o(N,e)&&(0!==(r=N[e])&&(N[e]=void 0),r)){var t=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+t+": "+o+")",i.name="ChunkLoadError",i.type=t,i.request=o,r[1](i)}},"chunk-"+e,e)}},$=(e,n)=>{var r,t,[o,i,u]=n,a=0;if(o.some(e=>0!==N[e])){for(r in i)R.o(i,r)&&(R.m[r]=i[r]);u&&u(R)}for(e&&e(n);a{"use strict";var e,n,r,t,o,i,u,a,c,l,f,s,p,h,d,v,g,y,m,b,S,j,w,E,k,x,T,P,A,C,O,D,M,L,N,$,_,z={0(e,n,r){var t={"./index":()=>r.e(0).then(()=>()=>r(2)),"./mimeExtension":()=>r.e(0).then(()=>()=>r(2))},o=function(e,n){return r.R=n,n=r.o(t,e)?t[e]():Promise.resolve().then(()=>{throw Error('Module "'+e+'" does not exist in container.')}),r.R=void 0,n},i=function(e,n){if(r.S){var t="default",o=r.S[t];if(o&&o!==e)throw Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[t]=e,r.I(t,n)}};r.d(n,{get:()=>o,init:()=>i})}},I={};function R(e){var n=I[e];if(void 0!==n)return n.exports;var r=I[e]={exports:{}};return z[e](r,r.exports,R),r.exports}R.m=z,R.c=I,R.d=(e,n,r)=>{var t=(n,r)=>{for(var t in n)R.o(n,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,[r]:n[t]})};t(n,"get"),t(r,"value")},R.f={},R.e=e=>Promise.all(Object.keys(R.f).reduce((n,r)=>(R.f[r](e,n),n),[])),R.u=e=>""+e+".e889754e73c03c32.js?v=e889754e73c03c32",R.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),R.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),U={},R.l=function(e,n,r,t){if(U[e])return void U[e].push(n);if(void 0!==r)for(var o,i,u=document.getElementsByTagName("script"),a=0;a{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},R.S={},R.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"jupyterlab-plotly",version:"7.0.0-rc0",factory:()=>R.e(0).then(()=>()=>R(2)),eager:0,treeShakingMode:null}]},uniqueName:"jupyterlab-plotly"},q={},B={},R.I=function(e,n){n||(n=[]);var r=B[e];if(r||(r=B[e]={}),!(n.indexOf(r)>=0)){if(n.push(r),q[e])return q[e];R.o(R.S,e)||(R.S[e]={});var t=R.S[e],o=function(e){"u">typeof console&&console.warn&&console.warn(e)},i=R.initializeSharingData.uniqueName,u=function(e,n,r,o){var u=t[e]=t[e]||{},a=u[n];(!a||!a.loaded&&(!o!=!a.eager?o:i>a.from))&&(u[n]={get:r,from:i,eager:!!o})},a=function(r){var t=function(e){o("Initialization of sharing external failed: "+e)};try{var i=R(r);if(!i)return;var u=function(r){return r&&r.init&&r.init(R.S[e],n)};if(i.then)return c.push(i.then(u,t));var a=u(i);if(a&&a.then)return c.push(a.catch(t))}catch(e){t(e)}},c=[],l=R.initializeSharingData.scopeToSharingDataMapping;return(l[e]&&l[e].forEach(function(e){"object"==typeof e?u(e.name,e.version,e.factory,e.eager):a(e)}),c.length)?q[e]=Promise.all(c).then(function(){return q[e]=1}):q[e]=1}},R.g.importScripts&&(J=R.g.location+"");var U,q,B,J,Y=R.g.document;if(!J&&Y&&(Y.currentScript&&"SCRIPT"===Y.currentScript.tagName.toUpperCase()&&(J=Y.currentScript.src),!J)){var V=Y.getElementsByTagName("script");if(V.length)for(var F=V.length-1;F>-1&&(!J||!/^http(s?):/.test(J));)J=V[F--].src}if(!J)throw Error("Automatic publicPath is not supported in this browser");R.p=J=J.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),R.consumesLoadingData={chunkMapping:{},moduleIdToConsumeDataMapping:{},initialConsumes:[]},e=function(e){return e.split(".").map(function(e){return+e==e?+e:e})},n=function(n){var r=function(n){var r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),t=r[1]?[0].concat(e(r[1])):[0];r[2]&&(t.length++,t.push.apply(t,e(r[2])));let o=t[t.length-1];for(;t.length&&(void 0===o||/^[*xX]$/.test(o));)t.pop(),o=t[t.length-1];return t},t=function(e){return 1===e.length?[0]:2===e.length?[1].concat(e.slice(1)):3===e.length?[2].concat(e.slice(1)):[e.length].concat(e.slice(1))},o=function(e){return[-e[0]-1].concat(e.slice(1))},i=function(e){let n=/^(\^|~|<=|<|>=|>|=|v|!)/.exec(e),i=n?n[0]:"",u=r(i.length?e.slice(i.length).trim():e.trim());switch(i){case"^":if(u.length>1&&0===u[1]){if(u.length>2&&0===u[2])return[3].concat(u.slice(1));return[2].concat(u.slice(1))}return[1].concat(u.slice(1));case"~":return[2].concat(u.slice(1));case">=":return u;case"=":case"v":case"":return t(u);case"<":return o(u);case">":return[,t(u),0,u,2];case"<=":return[,t(u),o(u),1];case"!":return[,t(u),0];default:throw Error("Unexpected start value")}},u=function(e,n){if(1===e.length)return e[0];let r=[];for(let n of e.slice().reverse())0 in n?r.push(n):r.push.apply(r,n.slice(1));return[,].concat(r,e.slice(1).map(()=>n))};return u(n.split(/\s*\|\|\s*/).map(function(e){let n=e.split(/\s+-\s+/);if(1===n.length){e=e.trim();let n=[],r=/[-0-9A-Za-z]\s+/g;for(var a,c=0;a=r.exec(e);){let r=a.index+1;n.push(i(e.slice(c,r).trim())),c=r}return n.push(i(e.slice(c).trim())),u(n,2)}let l=r(n[0]),f=r(n[1]);return[,t(f),o(f),1,l,2]}),1)},r=function(n){var r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(n),t=r[1]?e(r[1]):[];return r[2]&&(t.length++,t.push.apply(t,e(r[2]))),r[3]&&(t.push([]),t.push.apply(t,e(r[3]))),t},t=function(e,n){e=r(e),n=r(n);for(var t=0;;){if(t>=e.length)return t=n.length)return"u"==i;var u=n[t],a=(typeof u)[0];if(i==a){if("o"!=i&&"u"!=i&&o!=u)return o=":-1==n?"<":1==n?"^":2==n?"~":n>0?"=":"!=";for(var t=1,i=1;i0?".":"")+(t=2,u)}return r}for(var c=[],i=1;i=n.length||"o"==(f=(typeof(l=n[u]))[0])){if(!c)return!0;if("u"==s)return a>t&&!o;return""==s!=o}if("u"==f){if(!c||"u"!=s)return!1}else if(c)if(s==f)if(a<=t){if(l!=e[a])return!1}else{if(o?l>e[a]:ltypeof console&&console.warn&&console.warn(e)},y=function(e,n,r,t){g(d(e,n,r,t))},m=function(e){return e.loaded=1,e.get()},S=(b=function(e){return function(n,r,t,o){var i=R.I(n);return i&&i.then?i.then(e.bind(e,n,R.S[n],r,t,o)):e(n,R.S[n],r,t,o)}})(function(e,n,r){return u(e,r),m(a(n,r))}),j=b(function(e,n,r,t){return n&&R.o(n,r)?m(a(n,r)):t()}),w=b(function(e,n,r,t){return u(e,r),m(h(n,r,t)||y(n,e,r,t)||a(n,r))}),E=b(function(e,n,r){return u(e,r),f(n,e,r)}),k=b(function(e,n,r,t){return u(e,r),s(n,e,r,t)}),x=b(function(e,n,r,t){return u(e,r),v(n,e,r,t)}),T=b(function(e,n,r,t){return u(e,r),p(n,e,r,t)}),P=b(function(e,n,r,t,o){return n&&R.o(n,r)?m(h(n,r,t)||y(n,e,r,t)||a(n,r)):o()}),A=b(function(e,n,r,t){return n&&R.o(n,r)?f(n,e,r):t()}),C=b(function(e,n,r,t,o){return n&&R.o(n,r)?s(n,e,r,t):o()}),O=b(function(e,n,r,t,o){var i=n&&R.o(n,r)&&h(n,r,t);return i?m(i):o()}),D=b(function(e,n,r,t,o){return n&&R.o(n,r)?p(n,e,r,t):o()}),M=function(e){var r=!1,t=!1,o=!1,i=!1,u=[e.shareScope,e.shareKey];return(e.requiredVersion?(e.strictVersion&&(r=!0),e.singleton&&(t=!0),u.push(n(e.requiredVersion)),o=!0):e.singleton&&(t=!0),e.fallback&&(i=!0,u.push(e.fallback)),r&&t&&o&&i)?function(){return D.apply(null,u)}:r&&o&&i?function(){return O.apply(null,u)}:t&&o&&i?function(){return C.apply(null,u)}:r&&t&&o?function(){return T.apply(null,u)}:t&&i?function(){return A.apply(null,u)}:o&&i?function(){return P.apply(null,u)}:r&&o?function(){return x.apply(null,u)}:t&&o?function(){return k.apply(null,u)}:t?function(){return E.apply(null,u)}:o?function(){return w.apply(null,u)}:i?function(){return j.apply(null,u)}:function(){return S.apply(null,u)}},L={},R.f.consumes=function(e,n){var r=R.consumesLoadingData.moduleIdToConsumeDataMapping,t=R.consumesLoadingData.chunkMapping;R.o(t,e)&&t[e].forEach(function(e){if(R.o(L,e))return n.push(L[e]);var t=function(n){L[e]=0,R.m[e]=function(r){delete R.c[e],r.exports=n()}},o=function(n){delete L[e],R.m[e]=function(r){throw delete R.c[e],n}};try{var i=M(r[e])();i.then?n.push(L[e]=i.then(t).catch(o)):t(i)}catch(e){o(e)}})},N={1:0},R.f.j=function(e,n){var r=R.o(N,e)?N[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var t=new Promise((n,t)=>r=N[e]=[n,t]);n.push(r[2]=t);var o=R.p+R.u(e),i=Error();R.l(o,function(n){if(R.o(N,e)&&(0!==(r=N[e])&&(N[e]=void 0),r)){var t=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+t+": "+o+")",i.name="ChunkLoadError",i.type=t,i.request=o,r[1](i)}},"chunk-"+e,e)}},$=(e,n)=>{var r,t,[o,i,u]=n,a=0;if(o.some(e=>0!==N[e])){for(r in i)R.o(i,r)&&(R.m[r]=i[r]);u&&u(R)}for(e&&e(n);a=1.15.1", "packaging" diff --git a/uv.lock b/uv.lock index 406431c4d4..e3b7481ae1 100644 --- a/uv.lock +++ b/uv.lock @@ -63,7 +63,7 @@ conflicts = [[ ]] [options] -exclude-newer = "2026-07-25T16:47:51.95233Z" +exclude-newer = "0001-01-01T00:00:00Z" # This has no effect and is included for backwards compatibility when using relative exclude-newer values. exclude-newer-span = "PT72H" [options.exclude-newer-package] @@ -6758,7 +6758,7 @@ wheels = [ [[package]] name = "plotly" -version = "7.0.0rc0" +version = "7.0.0" source = { editable = "." } dependencies = [ { name = "narwhals", version = "1.42.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' or (extra == 'extra-6-plotly-dev-pandas1' and extra == 'extra-6-plotly-dev-pandas2') or (extra == 'extra-6-plotly-dev-pandas1' and extra == 'extra-6-plotly-dev-pandas3') or (extra == 'extra-6-plotly-dev-pandas2' and extra == 'extra-6-plotly-dev-pandas3')" },