Skip to content

2.2.0

Latest
Compare
Choose a tag to compare
@bbassett-tibco bbassett-tibco released this 19 Sep 15:32

NumPy 2.0 Support

  • Update requirement to support NumPy 2.0. (#54)
    • Update other requirements to NumPy 2.0 compatible versions, including Pandas and Cython (#47).
    • Due to NumPy's requirements, update the minimum Python requirement to 3.9 (from 3.7).

SBDF Improvements

  • GeoDataFrame objects (from the geopandas package) are no longer automatically exported as if they were Spotfire geocoding tables. The XMin, XMax, and XCenter columns (and the corresponding Y* versions) are not recomputed (nor are they created if they do not exist in the original GeoDataFrame), and the metadata properties are not set (the biggest issue is with the MapChart.GeometryType 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 set_geocoding_table (in the spotfire module). (#44)
  • Correctly export NumPy datetime64 values for all date/time resolutions (i.e., other than datetime64[ns]). (#65)

Data Function Improvements

  • Expose information about data function inputs and outputs to the data function via new dunder-objects (__spotfire_inputs__ and __spotfire_outputs__, sequences of AnalyticInput and AnalyticOutput objects) in the global namespace of the data function. (#64)
  • Make it possible to set filenames in data function backtraces (instead of <data_function>. Intended for use during data function development; this feature is not used by Spotfire. (#67)
  • Fix a unit test that could fail under race conditions based on when the test was run. (#52)

Spotfire SPK Package Building Improvements

  • When building SPK packages, now include the requirements and constraints files used to construct the SPK in the package. (#56)
  • Use more Pythonic methods for reading package metadata and identifying package files. Removes usages of the deprecated pkg_resources module from the setuptools package (removed in version 67.5.0). (#59)

Other Improvements

  • Add a new spotfire.support module for creating troubleshooting bundles with information about your Python environment for use in diagnosing problems together with Spotfire support. (#57)

Packaging Improvements

  • Migrate the project to use the pyproject.toml file as the primary project metadata location.
    • Expose optional packages (like geopandas for geographic data or the various supported plotting packages) as spotfire package extras. (#43)
    • Improved the buildability of the package from the 'sdist' distribution. Mainly affects platforms that are not using the pre-compiled wheels. (#55)
  • Added Python 3.12 to the set of pre-compiled wheels. (#66)
    • Fixed issues with Py_UNICODE's removal from Python 3.12.
  • Improved the static analysis of all code.
    • Updated the version of PyLint used for development. (#38, #68)
    • Added static typing analysis with mypy (#51), general analysis of Cython code with cython-lint (#49), and general analysis of C code with cpplint (#50).