Recent Releases of spotfire

spotfire - 2.1.3

  • Export of SBDF files to paths containing Japanese (or other non-ASCII) characters now works as expected. (#80 #89)

- Python
Published by vrane-tibco 11 months ago

spotfire - 2.3.0

  • Added Python 3.13 to the set of pre-compiled wheels. (#76)
  • Improved SBDF import performance. (#82)

- Python
Published by vrane-tibco over 1 year ago

spotfire - 2.2.0

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).

- Python
Published by bbassett-tibco almost 2 years ago

spotfire - 2.1.2

  • Support the code signing of built SPK packages with certificates in Windows system certificate stores. (#58)

- Python
Published by bbassett-tibco over 2 years ago

spotfire - 1.8.4

  • Support the code signing of built SPK packages with certificates in Windows system certificate stores. (#58)

Note that this release is relative to v1.8.3. (https://github.com/spotfiresoftware/spotfire-python/compare/v1.8.3...v1.8.4)

- Python
Published by bbassett-tibco over 2 years ago

spotfire - 2.1.1

  • Update the NumPy requirement to exclude 2.0 releases based on the expected C ABI break as part of that release. (#53)

- Python
Published by bbassett-tibco over 2 years ago

spotfire - 2.1.0

  • Do not fail with an "unknown dtype" when exporting timezone aware datetime objects to SBDF. (#30)
  • Reduce the logging of table and column metadata to the data function flow's debug logs to avoid overly-large log output. (#48)

- Python
Published by bbassett-tibco almost 3 years ago

spotfire - 1.8.3

  • Reduce the logging of table and column metadata to the data function flow's debug logs to avoid overly-large log output. (#48)
  • When exporting data, use a method that is not deprecated by Pandas 1.5.0. (#28)

Note that this release is relative to v1.8.2. (https://github.com/spotfiresoftware/spotfire-python/compare/v1.8.2...v1.8.3)

- Python
Published by bbassett-tibco almost 3 years ago

spotfire - 2.0.1

  • Correctly export PIL images, Matplotlib figures, and Seaborn grids. (#42)

- Python
Published by bbassett-tibco about 3 years ago

spotfire - 2.0.0

Performance Improvements

  • The spotfire.sbdf module has been rewritten as a native C extension using Cython, which allows using the C Library for TIBCO Spotfire Binary Data Format (vendored into the vendor/sbdf-c directory) instead of the original pure-Python implementation. This change improves performance and allows the reading and writing of SBDF files that are written using RLE encoding (which was not implemented for the pure-Python implementation). (#36)
  • With the introduction of Cython support in setup.py, the spotfire.codesign module has been rewritten using Cython.
  • To work around the deprecation of msilib in Python 3.11, the spotfire.cabfile module has been rewritten using Cython to directly call the Windows API to create cabinet files. Non-Windows platforms will raise OSError exceptions on object creation instead of the current behavior of conditionally defining the class. (#29)

As a result of these architectural changes, the version number of this package has been incremented to 2.0.0.

Creating SPK Packages

  • User installed packages (installed with pip install --user) could override the spotfire package that is deployed via the Spotfire server, potentially installing an older version that does not contain support for required features. Now, when you build an interpreter SPK package (using python -m spotfire.spk python ...), the spotfire package is installed into a separate directory, which is then automatically inserted into the Python sys.path, before any "site-packages" directory, on interpreter startup. (#39)
  • When you build a packages SPK package (using the command python -m spotfire.spk packages ...), wheels with data directories (such as xgboost 1.7.5 on Windows) no longer result in SPK packages missing Python files from the wheel. (#40)

- Python
Published by bbassett-tibco about 3 years ago

spotfire - 1.9.0

Exporting Data

  • When exporting data, use a method that is not deprecated by Pandas 1.5.0. (#28)
  • Better handle exporting nullable column dtypes like Float64. (#25)
  • Add support for exporting GeoPandas GeoDataFrames with MultiLineString geometry as 'PolyLines' to Spotfire. (#19)

Creating SPK Packages

  • Use a better parser for requirements as provided by setuptools/pkg_resources. (#4)
  • Allow both analyst and server SPK information to be stored in the requirements file brand. (#5)

- Python
Published by bbassett-tibco over 3 years ago

spotfire - 1.8.2

  • Promote Integer typed columns to LongInteger if they will not fit in 32 bits. Partially restores behavior seen before adding type information for #6 when Python ints always exported as LongInteger.
  • When running data functions, make sure exceptions with causes (i.e., nested exceptions) output the causes in addition to the main exception.

- Python
Published by bbassett-tibco almost 4 years ago

spotfire - v1.8.1

  • Fix geopandas problems with CRS objects (geopandas 0.11.0 changed behavior of the 'crs' attribute of GeoDataFrames). (#26)
  • Expose Spotfire type information on import, and use that information on export. (#6)
  • Instead of capturing pip output when installing packages for an SPK package, use 'pip list' on the directory the packages were installed to. Fixes problems on systems that do not have a UTF-8 compatible default encoding.

- Python
Published by bbassett-tibco almost 4 years ago

spotfire - 1.8.0

  • Tighten up the way we are detecting duplicate packages to remove when building a packages SPK. (#24)

- Python
Published by bbassett-tibco about 4 years ago

spotfire - 1.7.1

  • Fix backward compatibility issues introduced in 1.7.0 release.

- Python
Published by bbassett-tibco over 4 years ago

spotfire - 1.7.0

  • Allow specifying a constraints file when building SPK package files of both the Python interpreter and Python packages (#16).
  • Performance improvements when exporting data to SBDF. (#18, thanks to @tobyych)

- Python
Published by bbassett-tibco over 4 years ago

spotfire - 1.6.0

  • Fixed importing/exporting GeoPandas objects created by geopandas 0.7.0+ to/from SBDF files (#12)
  • Minor performance improvements

- Python
Published by bbassett-tibco over 4 years ago

spotfire - 1.3.0

The Package for Building Python Extensions to TIBCO Spotfire® 1.3.0 includes changes to the building of Spotfire packages required by changes in the TIBCO Spotfire platform version 11.4.0 or later.

- Python
Published by bbassett-tibco almost 5 years ago

spotfire - 1.2.0

Initial release on GitHub.

- Python
Published by bbassett-tibco about 5 years ago