tag:github.com,2008:https://github.com/spotfiresoftware/spotfire-python/releasesRelease notes from spotfire-python2025-09-03T08:50:11Ztag:github.com,2008:Repository/351492509/v2.4.02025-09-03T09:45:49Z2.4.0<ul>
<li>Export of SBDF files to paths containing Japanese (or other non-ASCII) characters now works as expected. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2926932675" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/80" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/80/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/80">#80</a>)</li>
</ul>vrane-tibcotag:github.com,2008:Repository/351492509/v2.1.32025-09-03T07:18:52Z2.1.3<ul>
<li>Export of SBDF files to paths containing Japanese (or other non-ASCII) characters now works as expected. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2926932675" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/80" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/80/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/80">#80</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242879636" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/89" data-hovercard-type="pull_request" data-hovercard-url="/spotfiresoftware/spotfire-python/pull/89/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/pull/89">#89</a>)</li>
</ul>vrane-tibcotag:github.com,2008:Repository/351492509/v2.3.02025-04-10T14:02:29Z2.3.0<ul>
<li>Added Python 3.13 to the set of pre-compiled wheels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2734636347" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/76" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/76/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/76">#76</a>)</li>
<li>Improved SBDF import performance. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958019343" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/82" data-hovercard-type="pull_request" data-hovercard-url="/spotfiresoftware/spotfire-python/pull/82/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/pull/82">#82</a>)</li>
</ul>vrane-tibcotag:github.com,2008:Repository/351492509/v2.2.02024-09-19T15:32:52Z2.2.0<h3>NumPy 2.0 Support</h3>
<ul>
<li>Update requirement to support NumPy 2.0. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1944321934" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/54" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/54/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/54">#54</a>)
<ul>
<li>Update other requirements to NumPy 2.0 compatible versions, including Pandas and Cython (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1862051719" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/47" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/47/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/47">#47</a>).</li>
<li>Due to NumPy's requirements, update the minimum Python requirement to 3.9 (from 3.7).</li>
</ul>
</li>
</ul>
<h3>SBDF Improvements</h3>
<ul>
<li><code>GeoDataFrame</code> objects (from the <code>geopandas</code> package) are no longer automatically exported as if they were Spotfire geocoding tables. The <code>XMin</code>, <code>XMax</code>, and <code>XCenter</code> columns (and the corresponding <code>Y*</code> versions) are not recomputed (nor are they created if they do not exist in the original <code>GeoDataFrame</code>), and the metadata properties are not set (the biggest issue is with the <code>MapChart.GeometryType</code> property, which can prevent data sets with mixed types of geometry (e.g., LineStrings and MultiLineStrings) from being exported). For users who require these columns and metadata properties for their Spotfire analyses, the export logic has been moved to a new public function <code>set_geocoding_table</code> (in the <code>spotfire</code> module). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1742318136" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/44" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/44/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/44">#44</a>)</li>
<li>Correctly export NumPy <code>datetime64</code> values for all date/time resolutions (i.e., other than <code>datetime64[ns]</code>). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2174442341" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/65" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/65/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/65">#65</a>)</li>
</ul>
<h3>Data Function Improvements</h3>
<ul>
<li>Expose information about data function inputs and outputs to the data function via new dunder-objects (<code>__spotfire_inputs__</code> and <code>__spotfire_outputs__</code>, sequences of <code>AnalyticInput</code> and <code>AnalyticOutput</code> objects) in the global namespace of the data function. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2164434557" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/64" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/64/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/64">#64</a>)</li>
<li>Make it possible to set filenames in data function backtraces (instead of <code><data_function></code>. Intended for use during data function development; this feature is not used by Spotfire. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2316002682" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/67" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/67/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/67">#67</a>)</li>
<li>Fix a unit test that could fail under race conditions based on when the test was run. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1907910859" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/52" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/52/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/52">#52</a>)</li>
</ul>
<h3>Spotfire SPK Package Building Improvements</h3>
<ul>
<li>When building SPK packages, now include the requirements and constraints files used to construct the SPK in the package. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1974729645" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/56" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/56/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/56">#56</a>)</li>
<li>Use more Pythonic methods for reading package metadata and identifying package files. Removes usages of the deprecated <code>pkg_resources</code> module from the <code>setuptools</code> package (removed in version 67.5.0). (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1980203783" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/59" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/59/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/59">#59</a>)</li>
</ul>
<h3>Other Improvements</h3>
<ul>
<li>Add a new <code>spotfire.support</code> module for creating troubleshooting bundles with information about your Python environment for use in diagnosing problems together with Spotfire support. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1974794973" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/57" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/57/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/57">#57</a>)</li>
</ul>
<h3>Packaging Improvements</h3>
<ul>
<li>Migrate the project to use the <code>pyproject.toml</code> file as the primary project metadata location.
<ul>
<li>Expose optional packages (like <code>geopandas</code> for geographic data or the various supported plotting packages) as <code>spotfire</code> package extras. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1737366488" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/43" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/43/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/43">#43</a>)</li>
<li>Improved the buildability of the package from the 'sdist' distribution. Mainly affects platforms that are not using the pre-compiled wheels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1964748639" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/55" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/55/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/55">#55</a>)</li>
</ul>
</li>
<li>Added Python 3.12 to the set of pre-compiled wheels. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2256246602" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/66" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/66/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/66">#66</a>)
<ul>
<li>Fixed issues with <code>Py_UNICODE</code>'s removal from Python 3.12.</li>
</ul>
</li>
<li>Improved the static analysis of all code.
<ul>
<li>Updated the version of PyLint used for development. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1652466287" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/38" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/38/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/38">#38</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2319552058" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/68" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/68/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/68">#68</a>)</li>
<li>Added static typing analysis with <code>mypy</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1907910227" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/51" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/51/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/51">#51</a>), general analysis of Cython code with <code>cython-lint</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1907897884" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/49" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/49/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/49">#49</a>), and general analysis of C code with <code>cpplint</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1907898341" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/50" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/50/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/50">#50</a>).</li>
</ul>
</li>
</ul>bbassett-tibcotag:github.com,2008:Repository/351492509/v2.1.22023-11-21T00:00:20Z2.1.2<ul>
<li>Support the code signing of built SPK packages with certificates in Windows system certificate stores. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1980202678" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/58" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/58/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/58">#58</a>)</li>
</ul>bbassett-tibcotag:github.com,2008:Repository/351492509/v1.8.42023-11-20T23:55:56Z1.8.4<ul>
<li>Support the code signing of built SPK packages with certificates in Windows system certificate stores. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1980202678" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/58" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/58/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/58">#58</a>)</li>
</ul>
<p>Note that this release is relative to v1.8.3. (<a class="commit-link" href="https://github.com/spotfiresoftware/spotfire-python/compare/v1.8.3...v1.8.4"><tt>v1.8.3...v1.8.4</tt></a>)</p>bbassett-tibcotag:github.com,2008:Repository/351492509/v2.1.12023-10-18T19:08:04Z2.1.1<ul>
<li>Update the NumPy requirement to exclude 2.0 releases based on the expected C ABI break as part of that release. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1944307053" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/53" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/53/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/53">#53</a>)</li>
</ul>bbassett-tibcotag:github.com,2008:Repository/351492509/v2.1.02023-09-13T20:59:51Z2.1.0<ul>
<li>Do not fail with an "unknown dtype" when exporting <a href="https://docs.python.org/3/library/datetime.html#determining-if-an-object-is-aware-or-naive" rel="nofollow">timezone aware</a> datetime objects to SBDF. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1390180862" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/30" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/30/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/30">#30</a>)</li>
<li>Reduce the logging of table and column metadata to the data function flow's debug logs to avoid overly-large log output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1882825804" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/48" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/48/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/48">#48</a>)</li>
</ul>bbassett-tibcotag:github.com,2008:Repository/351492509/v1.8.32023-09-13T20:49:22Z1.8.3<ul>
<li>Reduce the logging of table and column metadata to the data function flow's debug logs to avoid overly-large log output. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1882825804" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/48" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/48/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/48">#48</a>)</li>
<li>When exporting data, use a method that is not deprecated by Pandas 1.5.0. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1378293077" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/28" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/28/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/28">#28</a>)</li>
</ul>
<p>Note that this release is relative to <code>v1.8.2</code>. (<a class="commit-link" href="https://github.com/spotfiresoftware/spotfire-python/compare/v1.8.2...v1.8.3"><tt>v1.8.2...v1.8.3</tt></a>)</p>bbassett-tibcotag:github.com,2008:Repository/351492509/v2.0.12023-05-31T22:05:08Z2.0.1<ul>
<li>Correctly export PIL images, Matplotlib figures, and Seaborn grids. (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1723042684" data-permission-text="Title is private" data-url="https://github.com/spotfiresoftware/spotfire-python/issues/42" data-hovercard-type="issue" data-hovercard-url="/spotfiresoftware/spotfire-python/issues/42/hovercard" href="https://github.com/spotfiresoftware/spotfire-python/issues/42">#42</a>)</li>
</ul>bbassett-tibco