<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sparse Data on Scientific Python</title>
    <link>https://scientific-python.org/summits/sparse/</link>
    <description>Recent content in Sparse Data on Scientific Python</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://scientific-python.org/summits/sparse/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Meeting 1</title>
      <link>https://scientific-python.org/summits/sparse/meeting1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://scientific-python.org/summits/sparse/meeting1/</guid>
      <description>&lt;h2 id=&#34;information&#34;&gt;Information&lt;a class=&#34;headerlink&#34; href=&#34;#information&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Date: Monday, &lt;a href=&#34;https://www.timeanddate.com/worldclock/converter.html?iso=20220926T180000&amp;amp;p1=224&#34;&gt;September 26th 11AM - 12PM Pacific time (click for your timezone)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Zoom Link (sign in required): &lt;a href=&#34;https://berkeley.zoom.us/j/96628687450?pwd=Q29oeDc5NnJEYlFHVU1yVUFITzNQUT09&#34;&gt;https://berkeley.zoom.us/j/96628687450?pwd=Q29oeDc5NnJEYlFHVU1yVUFITzNQUT09&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;participants&#34;&gt;Participants&lt;a class=&#34;headerlink&#34; href=&#34;#participants&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hameer Abbasi&lt;/li&gt;&#xA;&lt;li&gt;Nezar Abdennur&lt;/li&gt;&#xA;&lt;li&gt;Ross Barnowski&lt;/li&gt;&#xA;&lt;li&gt;CJ Carey&lt;/li&gt;&#xA;&lt;li&gt;Jérémie du Boisberranger&lt;/li&gt;&#xA;&lt;li&gt;Julien Jerphanion&lt;/li&gt;&#xA;&lt;li&gt;Jim Kitchen&lt;/li&gt;&#xA;&lt;li&gt;Jarrod Millman&lt;/li&gt;&#xA;&lt;li&gt;Dan Schult&lt;/li&gt;&#xA;&lt;li&gt;Stéfan van der Walt&lt;/li&gt;&#xA;&lt;li&gt;Isaac Virshup&lt;/li&gt;&#xA;&lt;li&gt;Erik Welch&lt;/li&gt;&#xA;&lt;li&gt;Meekail Zain&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;agenda&#34;&gt;Agenda&lt;a class=&#34;headerlink&#34; href=&#34;#agenda&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The summit is scheduled for 1 hour and will consist of a series of high-level&#xA;birds-of-a-feather (BoF)-style talks, followed by more focused discussion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Meeting 2</title>
      <link>https://scientific-python.org/summits/sparse/meeting2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://scientific-python.org/summits/sparse/meeting2/</guid>
      <description>&lt;h2 id=&#34;information&#34;&gt;Information&lt;a class=&#34;headerlink&#34; href=&#34;#information&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Date: Thursday, &lt;a href=&#34;https://www.timeanddate.com/worldclock/converter.html?iso=20230427T180000&amp;amp;p1=224&#34;&gt;April 27th 11AM - 12PM Pacific time (click for your timezone)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Zoom Link: &lt;a href=&#34;https://ucsc.zoom.us/j/93937164560?pwd=UmZKTmlHeGRMRkN3a2h2SDNJY3lvZz09&#34;&gt;https://ucsc.zoom.us/j/93937164560?pwd=UmZKTmlHeGRMRkN3a2h2SDNJY3lvZz09&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;participants&#34;&gt;Participants&lt;a class=&#34;headerlink&#34; href=&#34;#participants&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;agenda&#34;&gt;Agenda&lt;a class=&#34;headerlink&#34; href=&#34;#agenda&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The summit is scheduled for 1 hour and will focus on the proposed array semantics in &lt;code&gt;scipy.sparse&lt;/code&gt; &lt;a href=&#34;https://scientific-python.org/doc/sparse-arrays-grant-2022.pdf&#34;&gt;(download)&lt;/a&gt;&#xA;and what work can be accomplished during the &lt;a href=&#34;https://scientific-python.org/summits/developer/2023/&#34;&gt;2023 Scientific Python developer summit&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;(5 min) Welcome &amp;amp; Introductions (Jarrod Millman)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;(50 min) Discussion&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Who will be working on scipy sparse arrays during the summit?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Summit Follow Up June 17</title>
      <link>https://scientific-python.org/summits/sparse/array-followup-2023-06-17/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://scientific-python.org/summits/sparse/array-followup-2023-06-17/</guid>
      <description>&lt;h1 id=&#34;friday-june-17-2023-1400-to-1500-utc&#34;&gt;Friday June 17 2023, 14:00 to 15:00 UTC&lt;a class=&#34;headerlink&#34; href=&#34;#friday-june-17-2023-1400-to-1500-utc&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;attendees&#34;&gt;Attendees&lt;a class=&#34;headerlink&#34; href=&#34;#attendees&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dan&lt;/li&gt;&#xA;&lt;li&gt;Erik&lt;/li&gt;&#xA;&lt;li&gt;Isaac&lt;/li&gt;&#xA;&lt;li&gt;CJ&lt;/li&gt;&#xA;&lt;li&gt;Julien&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;agenda&#34;&gt;Agenda&lt;a class=&#34;headerlink&#34; href=&#34;#agenda&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sort out and attribute &lt;a href=&#34;https://hackmd.io/1Q2832LDR_2Uv_-cV-wnYg#What-remains-to-be-done&#34;&gt;what remains to be done&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Roadmap/ plan for array-like sparse arrays&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Deprecation plan for matrices&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/scipy/scipy/issues/18592&#34;&gt;Creation routines&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Interop with other sparse matrix packages (isaac)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Blog post&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;notes&#34;&gt;Notes&lt;a class=&#34;headerlink&#34; href=&#34;#notes&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Introduction, Erik works on libraries using sparse datastructures&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Julien] Erik: here is &lt;a href=&#34;https://hackmd.io/iEtdfbxfSbGwOAJTXmqyIQ&#34;&gt;the worklog of the summit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;what-remains-to-be-done&#34;&gt;What remains to be done&lt;a class=&#34;headerlink&#34; href=&#34;#what-remains-to-be-done&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How do we work&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Dan] Where does in-progress work go&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CJ&amp;rsquo;s fork, make PRs onto branch there&lt;/li&gt;&#xA;&lt;li&gt;Using the view on the diff on GitHub might prevent the creation of spurious Draft PR&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Dense pretending to be sparse can be ephermeral, never needs to go to scipy&lt;/li&gt;&#xA;&lt;li&gt;Dan will make a branch for exploration that people can fork and make PRs to. Dan will try to keep it up-to-date with the main branch too.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;1d sparse array support&#xA;Timeline? - Dan + CJ working on it - Targeting 1.12&lt;/li&gt;&#xA;&lt;li&gt;nd sparse array support&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Julien, CJ: seems like low priority and this would be a huge maintenance cost SciPy for relatively rare use-cases&lt;/li&gt;&#xA;&lt;li&gt;CJ: Array api makes interop easier, we can lean on external packages for now&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;creation functions &lt;a href=&#34;https://github.com/scipy/scipy/issues/18592&#34;&gt;scipy#18592&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Want to get them out in a single release&lt;/li&gt;&#xA;&lt;li&gt;Is Ross going to implement these, or need to assign elsewhere?&lt;/li&gt;&#xA;&lt;li&gt;Current plan: &lt;code&gt;_array&lt;/code&gt; methods, so we can apply this to the fast_matrix_market io at the same type&lt;/li&gt;&#xA;&lt;li&gt;Bundling in api changes (like tuples for shapes)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Deprecate &lt;code&gt;isspmatrix_&lt;/code&gt; methods?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sounds like combination of classes + format attribute cover this&lt;/li&gt;&#xA;&lt;li&gt;(Julien) Deprecation plan: have suggested code to replace these things with&lt;/li&gt;&#xA;&lt;li&gt;Add a section in the documentation explaining the change of semantic and a migration plan for downstream libraries during the deprecation cycle.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Make a roadmap for array api&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;scikit-learn&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When will scikit-learn be willing to support a compatible version of scipy?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Julien:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reasoning is based on some linux package manager not supporting latest numpy scipy&lt;/li&gt;&#xA;&lt;li&gt;Personally would like scikit-learn to follow SPEC 0&lt;/li&gt;&#xA;&lt;li&gt;See discussion for &lt;a href=&#34;https://github.com/scikit-learn/scikit-learn/issues/26438&#34;&gt;1.3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/scikit-learn/scikit-learn/issues/26418&#34;&gt;Dedicated RFC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Some part of scikit-learn&amp;rsquo;s behavior depends on SciPy&amp;rsquo;s version (e.g. see &lt;a href=&#34;https://github.com/scikit-learn/scikit-learn/blob/784ba9ef9f65d5e4e33087dd7f5b87d65b605efc/sklearn/preprocessing/_polynomial.py#L61-L73&#34;&gt;this one&lt;/a&gt;); we might potentially rely on similar mechanism for the support of sparse arrays (e.g. reshaping outputs)&lt;/li&gt;&#xA;&lt;li&gt;scikit-learn uses nightly builds to test the developer version of SciPy and NumPy and failing tests are updated in &lt;a href=&#34;https://github.com/scikit-learn/scikit-learn/issues/26154&#34;&gt;this issue&lt;/a&gt;. We can watch those for breakage in scikit-learn when we make changes in SciPy.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;General speed ups&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;ldquo;Fast path for canonical&amp;rdquo;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TODO (Isaac)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Figure out canonical for all the formats, probably normalize APIs&lt;/li&gt;&#xA;&lt;li&gt;Add keyword public argument for constructors&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;broad-plan-for-deprecation&#34;&gt;Broad plan for deprecation&lt;a class=&#34;headerlink&#34; href=&#34;#broad-plan-for-deprecation&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add support for sparse_arrays everywhere we can&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Creation functions: target 1.12&lt;/li&gt;&#xA;&lt;li&gt;1d COO: target 1.12&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Deprecate spmatrix-specific functions (where there&amp;rsquo;s an easy replacement)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Target: 1.12&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Once everything works with sparse arrays, then deprecate spmatrix&#xA;&lt;ul&gt;&#xA;&lt;li&gt;And the sparse array API is stable! (specifically, 1d support)&lt;/li&gt;&#xA;&lt;li&gt;Target: 1.13&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;actionable-items&#34;&gt;Actionable items&lt;a class=&#34;headerlink&#34; href=&#34;#actionable-items&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Julien] Add a section in the documentation explaining the change of semantic and a migration plan for downstream libraries during the deprecation cycle.&lt;/li&gt;&#xA;&lt;li&gt;[Julien] Drop &lt;code&gt;isspmatrix_-&lt;/code&gt; checks in scikit-learn and use &lt;code&gt;issparse&lt;/code&gt; and &lt;code&gt;format&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;next-meeting-date-and-time&#34;&gt;Next meeting date and time&lt;a class=&#34;headerlink&#34; href=&#34;#next-meeting-date-and-time&#34; title=&#34;Link to this heading&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Every two weeks with the option to drop every other meeting (at least once a month)&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[name=Julien] +1. I proposed to meet every two week for 1h on the same timeslot&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
