- #295: Add option to include subannual column in dataframe returned by Scenario.timeseries().
- #286, #297: Add :meth:`.Scenario.to_excel` and :meth:`.read_excel`; this functionality is transferred to ixmp from :mod:`message_ix`.
- #270: Include all tests in the ixmp package.
- #212: Add :meth:`Model.initialize` API to help populate new Scenarios according to a model scheme.
- #267: Apply units to reported quantities.
- #254: Remove deprecated items:
- ~/.local/ixmp as a configuration location.
- positional and
dbtype=
arguments to :class:`.Platform`/:class:`.JDBCBackend`. first_model_year=
,keep_sol=
, andscen=
arguments to :meth:`~.Scenario.clone`.rixmp.legacy
, an earlier version of :ref:`the R interface <rixmp>` that did not use reticulate.
- #261: Increase minimum pandas version to 1.0; adjust for API changes and deprecations.
- #243: Add :meth:`.export_timeseries_data` to write data for multiple scenarios to CSV.
- #264: Implement methods to get and create new subannual timeslices.
ixmp v2.0.0 coincides with message_ix v2.0.0.
Support for Python 2.7 is dropped as it has reached end-of-life, meaning no further releases will be made even to fix bugs.
See PEP-0373 and https://python3statement.org.
ixmp
users must upgrade to Python 3.
Configuration for ixmp and its storage backends has been streamlined.
See the ref:Configuration section of the documentation for complete details on how to use ixmp platform add
register local and remote databases.
To migrate from pre-2.0 settings:
- DB_CONFIG_PATH
…pointed to a directory containing database properties (.properties) files.
- All Platform configuration is stored in one ixmp configuration file, config.json, and manipulated using the
ixmp platform
command and subcommands. - The :class:`.Platform` constructor accepts the name of a stored platform configuration.
- Different storage backends may accept relative or absolute paths to backend-specific configuration files.
- All Platform configuration is stored in one ixmp configuration file, config.json, and manipulated using the
- DEFAULT_DBPROPS_FILE
…gave a default backend via a file path.
- On the command line, use
ixmp platform add default NAME
to setNAME
as the default platform. - This platform is loaded when
ixmp.Platform()
is called without any arguments.
- On the command line, use
- DEFAULT_LOCAL_DB_PATH
…pointed to a default local database.
- :obj:`.ixmp.config` always contains a platform named 'local' that is located below the configuration path, in the directory 'localdb/default'.
- To change the location for this platform, use e.g.:
ixmp platform add local jdbc hsqldb PATH
.
- #240: Add
ixmp list
command-line tool. - #225: Ensure filters are always converted to string.
- #189: Identify and load Scenarios using URLs.
- #182, #200, #213, #217, #230, #245, #246: Add new Backend, Model APIs and CachingBackend, JDBCBackend, GAMSModel classes.
- #188, #195: Enhance reporting.
- #177: Add ability to pass gams_args through :meth:`.solve`.
- #175, #239: Drop support for Python 2.7.
- #174: Set convertStrings=True for JPype >= 0.7; see the JPype changelog.
- #173: Make AppVeyor CI more robust; support pandas 0.25.0.
- #165: Add support for handling geodata.
- #232: Fix exposing whole config file to log output.
ixmp 0.2.0 provides full support for :meth:`~.Scenario.clone` across platforms (database instances), e.g. from a remote database to a local HSQL database. IAMC-style timeseries data is better supported, and can be used to store processed results, together with model variables and equations.
Other improvements include a new, dedicated :mod:`.ixmp.testing` module, and user-supplied callbacks in :meth:`.solve`.
The retixmp
package using reticulate to access the ixmp API is renamed to rixmp
and now has its own unit tests (the former rixmp
package can be accessed as rixmp.legacy
).
Release 0.2.0 coincides with MESSAGEix release 1.2.0.
- #135: Test
rixmp
(formerretixmp
) using the Rtestthat
package. - #142: Cloning across platforms, better support of IAMC_style timeseries data, preparations for MESSAGEix release 1.2 in Java core.
- #115: Support iterating with user-supplied callbacks.
- #130: Recognize
IXMP_DATA
environment variable for configuration and local databases. - #129, #132: Fully implement :meth:`~.Scenario.clone` across platforms (databases).
- #128, #137: New module :mod:`ixmp.testing` for reuse of testing utilities.
- #125: Add functions to view and add regions for IAMC-style timeseries data.
- #123: Return absolute path from
find_dbprops()
. - #118: Switch to RTD Sphinx theme.
- #116: Bugfix and extend functionality for working with IAMC-style timeseries data.
- #111: Add functions to check if a Scenario has an item (set, par, var, equ).
- #110: Generalize the internal functions to format index dimensions for mapping sets and parameters.
- #108: Improve documentation.
- #105: Replace deprecated pandas
.ix
indexer with.iloc
. - #103: Specify dependencies in setup.py.
- #88: Connecting to multiple databases, updating MESSAGE-scheme scenario specifications to version 1.1.
- #80: Can now set logging level which is harmonized between Java and Python.
- #79: Adding a deprecated-warning for ixmp.Scenario with scheme=='MESSAGE'.
- #76: Changing the API from
mp.Scenario(...)
toixmp.Scenario(mp, ...)
. - #73: Adding a function :meth:`~.Scenario.has_solution`, rename kwargs to ..._solution.
- #69: Bring retixmp available to other users.
- #64: Support writing multiple sheets to Excel in utils.pd_write.
- #61: Now able to connect to multiple databases (Platforms).
- #58: Add MacOSX support in CI.
- #52: Add ability to load all scenario data into memory for fast subsequent computation.