FICO Xpress - Insight Python package
Project description
FICO® Xpress Insight Python Package
The 'xpressinsight' Python package can be used to develop Python® based web applications for Xpress Insight.
Documentation
- FICO Xpress Insight 5 Python Package Reference Manual
- FICO Xpress Insight 5 Developers Guide For Python
Release Notes
v 1.16.0 (Insight 5.16.0)
- When building app from Workbench (3.17 or later), will not generate a model incompatible with installed version of Insight Developer Kit.
- The
initialize_entitiesmethod will now silently skip populated parameter-type entities if they already have values andoverwrite=False, rather than raising an error. (Errors will still be raised when trying to initialize other entity types that already have values.) - Supports Polars versions up to 1.33, inclusive.
v 1.15.0 (Insight 5.15.0)
- Supports NumPy / Pandas versions up to 2.3.
- Supports Polars versions up to 1.31, inclusive.
v 1.14.0 (Insight 5.14.0)
- Add support for Python 3.13.
- Remove support for Python 3.8.
- Attachment operations will now throw exceptions on errors, if enabled by setting
raise_attach_exceptions=Truein theAppConfigdecorator. - When
AppInterface.get_attach_by_tagfinds multiple matching attachments, theAppInterface.attach_statusproperty will be set toSEVERAL_FOUNDinstead ofTOO_MANY. - The
AppInterface.attach_statusproperty may no longer be assigned valueIN_PROGRESS. - Detects if an entity has been assigned duplicated index or index tuple values, and show a warning at the end
of the execution mode. This can be upgraded to an error by setting
AppConfig.allow_duplicate_indicestoFalse, or suppressed by setting that flag toTrue.- From version 1.17 onwards, we will raise an error on detecting duplicates if
allow_duplicate_indices!=True.
- From version 1.17 onwards, we will raise an error on detecting duplicates if
- The method
EntityBase.check_typeis now deprecated, replaced withEntityBase.check_value. - When executing app, the
python_sourcefolder will be added automatically to thePYTHONPATHenvironment variable, so it can be found by any Python sub-processes. - Added
xi.data.Paramfunction and allowed parameter-type entities to be read byAppInterface.get_scenario_dataandInsightRestClient.get_scenario_data. - Added B3 Propagation fields to InsightContext class.
v 1.13.0 (Insight 5.13.0)
- Log warning lines if operations are taking too long; this can be configured with
AppConfig.slow_task_threshold - An error will be raised if an app or scenario-data container accidentally declares an entity as a class attribute instead of an instance attribute.
- Don't generate error if an entity is assigned an empty Series / Index / DataFrame of the wrong basic type.
- Supports Polars versions up to 1.17, inclusive.
- The following changes only affect test mode:
- New parameter
preserve_insight_work_dirfor thexi.create_appfunction allows previously captured input data and more to be re-used between test runs. - When a single-file tag is added to a scenario attachment, it will be removed from any other scenario attachments.
- New parameter
v 1.12.0 (Insight 5.12.0)
- New subpackage
xpressinsight.scenariocontaining client for calling Insight 5 REST API. - Resolved an issue passing multiple tag names to
AppInterface.set_scen_attach_tags
v 1.11.0 (Insight 5.11.0)
- New property
AppInterface.user_idfor reading the ID of the user executing the scenario. - Added optional execution resource groups property (
exec_resource_groups) to application configuration (AppConfig).- Execution mode threads and memory requirements can be set through execution resource groups.
- Added
exec_resource_group_nameattribute on theExecMode,ExecModeLoadandExecModeRundecorators. threadsattribute on theExecMode,ExecModeLoadandExecModeRundecorators is deprecated, new apps should use an execution resource group instead.
- New property
AppConfig.partial_populateto turn off automatic population of input entities. - Added function
AppInterface.populateto specify a subset of the input entities to populate. - Added function
AppInterface.captureto specify a subset of the entities to capture at the end of the execution mode. - When passing entity names to
AppBase.initialize_entities, column entities may be specified using the syntax<data_frame_name>.<column_name>as an alternative to the entity name. - When running in test mode, the default attachment rules will be the same as those used when running in Insight 5.11.
- Add support for Polars 1.1.0
- Add support for numpy 2.0
v 1.10.0 (Insight 5.10.0)
- Python 3.12 support.
- The old syntax for annotating entities (e.g.
xi.Scalarinstead ofxi.types.Scalar) cannot be used when running with Python 3.12.
- The old syntax for annotating entities (e.g.
- Added Polars entity types
PolarsIndexandPolarsDataFrame. - Added new parameter
update_keep_result_datato entity definitions, to allow result data to be retained when input entity edited by a view. - The
xi.types.Columnclass now supports anentity_nameattribute, allowing column entities to be given names that are not based on the name of the parent DataFrame. - Declaring an index entity of type
realwill now raise an error, where previously it was silently ignored by the Insight server. - Added
IndexBaseandDataFrameBaseas superclasses ofIndexandDataFrame. The types ofDataFrame.indexandSeries.indexhave changed fromTuple[Index, ...]toTuple[IndexBase, ...]. - Fixed an issue with the
get_attach_rulesfunction. - Added fields
platform_tokenandplatform_token_expirytoInsightDmpContextfor authorizing requests for platform resources under the authority of a platform client id.
v 1.9.0 (Insight 5.9.0)
- New function
AppBase.initialize_entitiesfor initializing selected app entities to their default values. - Add support for calling app interface & other standard functions from multiple threads.
- The
attach_statusproperty now holds the status of the last attachment operation invoked from the current thread; previously it referred to the last attachment operation from any thread. - The
attach_statusproperty is no longer read-only. - The internal work folder is now called
xpressinsightinstead ofinsight. - The following changes only affect test mode:
- The execution mode work folder is now a sub-folder
work_dirwithin the application folder. - The
xpressinsightwork folder is now created as a sub-folder of the execution mode work folder. - Resolved issues when attachment filenames end
.properties.
- The execution mode work folder is now a sub-folder
v 1.8.0 (Insight 5.8.0)
- New function
get_scenario_dataallows reading entities from other apps and scenarios. - Introduce
xi.types.Columnclass which can be used in place ofxi.Columnin app definitions. There is currently no plan to removexi.Column. - Attempt to capture entity data after an execution mode that ended abnormally (exception raised or
sys.exitcalled).
v 1.7.1 (Insight 5.7.0)
- New function
get_solution_databasereturns the location and credentials of the DMP solution's database. - Enabled functions
get_app_attach,get_scen_attachandput_scen_attachto write/read the attachment to/from a folder other than the work directory or a local filename different from attachment name. - Enabled functions
get_attach_by_tag,get_attachs_by_tagandget_attach_filenames_by_tagto write the attachments to a folder other than the work directory. - Fixed an issue with the
InsightDmpContext.solution_token_expiry_timevalue in non-UTC timezones. - Removed support for Python 3.7. This version supports only Python 3.8 - 3.11.
v 1.6.0 (Insight 5.6.0)
- Resolved an error when a script declares multiple app classes with a shared superclass.
- Added attribute
defaultto thexi.Columnclass. - Use of the old syntax for annotating entities (e.g.
xi.Scalarinstead ofxi.types.Scalar) will cause a warning message when the app is built or executed in Python 3.11. This syntax has been deprecated and will not be usable at all in Python 3.12+. - New function
get_insight_contextreturns information about the Insight server and the DMP solution. - Python 3.11 support.
- Pandas 2.0 support.
v 1.5.0 (Insight 5.5.0)
- Allow an Index entity to be referenced multiple times within a single Series or DataFrame -
e.g.
Distance: xi.types.Series(index=['City', 'City'], dtype=xi.real). - Support
multiprocessingpackage.
v 1.4.1 (Insight 4.59.6 and 4.60.0)
- Resolve issue building apps with Xpress 9.2 and apprunner 1.4.
- Update dependencies to require Pandas v1 with xpressinsight 1.4.
v 1.4.0 (Insight 5.4.0 and 4.59.2)
- New syntax for annotating entities,
xi.types.Scalar/Param/Index/Series/DataFrameinstead ofxi.Scalar/Param/Index/Series/DataFrame.- The new syntax is compatible with forward annotations (
from __future__ import annotations). - The old syntax will continue to work in Python 3.7-3.10 but will not be usable in Python 3.11+, so we recommend existing apps are migrated from the old to the new syntax.
- When the new syntax is used, entities may also be declared in a parent class of the Insight application class.
- The new syntax is compatible with forward annotations (
v 1.3.0 (Insight 5.3.0 and 4.59.0)
- Support for Insight 5 custom progress notifications:
- Added functions
send_progress_update,get_messagesandput_messagesto Insight application interface (AppInterface). - Added the
send_progressattribute theExecMode,ExecModeLoad, andExecModeRundecorators. - Added the
update_progressattribute to the entity type annotations.
- Added functions
- RHEL 8 support.
- Python 3.10 support
- At time of writing the
defaultAnaconda channel does not have all the dependencies required by thexpressinsightpackage for this Python version. We recommend conda users to stick with Python 3.9, or use a different distribution of Python 3.10 until this is resolved.
- At time of writing the
- Fixed an issue that caused a failure if the path to the temporary directory contained a space.
v 1.2.3 (Insight 5.2.1 and 4.58.0)
- Added the
threadsattribute to theExecMode,ExecModeLoad, andExecModeRundecorators.
v 1.2.2
- Fixed an issue that could cause a type check exception when the user created empty (null) fields in a DataFrame column in the Insight UI.
v 1.2.1
- Added test mode functions
add_item_infoandclear_item_infosto Insight application interface. - Added function
scenario_parent_pathto Insight application interface. - Added
RepositoryPathclass for building and parsing of repository paths.
v 1.2.0
- Added scenario types property (
scen_types) to application configuration (AppConfig). - Added repository functions
get_item_infoandget_item_infosto Insight application interface (AppInterface).
v 1.1.3
- Performance improvements.
- Python 3.9 support.
v 1.1.2
- Fixed an exception that could occur when an empty MultiIndex DataFrame has been assigned to an Insight entity.
- Updated documentation describing how to set up Anaconda.
v 1.1.1
- Improve error message when Insight cannot start Python because of security restrictions.
- Update documentation and update VDL version number in examples.
v 1.1.0
- Additional factory function
create_appinitializes and configures standard test environment. - Some performance issues with executing a Python based scenario have been addressed.
- Maximum length of a string in an Index, Series, or DataFrame has been changed from 1,000,000 bytes to 250,000 characters.
- Default name of the temporary Insight working directory has been changed from "insight" to "work_dir/insight".
v 1.0.2
- The functions
updateandreset_progresshave been added to the Insight Python interface. - Changed Python standard output to unbuffered mode to improve responsiveness of output messages.
Licensing
The Xpress software is governed by the
Xpress Shrinkwrap License Agreement.
When downloading or using the package, you accept the license terms. After installation, a copy of the Xpress Shrinkwrap
License will be stored in the LICENSE.txt file in the site-packages/xpressinsight-*.dist-info directory.
In Anaconda, a copy of the license file will be stored in the pkgs/xpressinsight-*/info/licenses directory.
"Python" is a registered trademark of the Python Software Foundation. "FICO" is a registered trademark of Fair Isaac Corporation in the United States and may be a registered trademark of Fair Isaac Corporation in other countries. Other product and company names herein may be trademarks of their respective owners.
© Copyright 2012-2025 Fair Isaac Corporation. All rights reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xpressinsight-1.16.0-py3-none-any.whl.
File metadata
- Download URL: xpressinsight-1.16.0-py3-none-any.whl
- Upload date:
- Size: 290.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd4f449ed985b45b5812c02862ae135a6154011fd83ce1d6c1c59d8c45db5470
|
|
| MD5 |
f8f3da04406695ca3775a26fdc85a6f7
|
|
| BLAKE2b-256 |
9c2ef1150495d07a2f49611a63d3499eb996f30cf7a7d161e8b9968b24cd893b
|