Migrating to ionworks¶
ionworks replaces ionworks-api, ionworksdata, ionworks-schema and iwutil.
Those four packages receive no further releases.
Before |
After |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Every module and name inside an old package kept its path in the new subpackage,
so ionworksdata.transform.set_cycle_count is
ionworks.data.transform.set_cycle_count.
ionworks.pipeline now names the pipeline-building subpackage (formerly
ionworks_schema). The client module that ionworks-api shipped as
ionworks.pipeline (PipelineClient, reached as client.pipeline) is now
ionworks.api.pipeline, by the same rule as every other client module.
ionworks and ionworks-api both install a top-level ionworks package, so they
cannot share an environment, and import ionworks raises an error when it finds
both. Install ionworks into a fresh environment, or replace the old packages in
place with pip uninstall ionworks-api ionworksdata && pip install --force-reinstall ionworks.
The final ionworks-api, 0.41.0, raises the same error. An older ionworks-api
installed after ionworks overwrites that check, so the import fails without the
message; the same commands fix it.
ionworkspipeline releases before 0.48.0 require ionworksdata and
ionworks-schema, so they cannot share an environment with ionworks. Upgrade
ionworkspipeline to 0.48.0 or later, which depends on ionworks.
Objects pickled under the old packages do not load under ionworks, because each
class now reports its new module path.
Let your coding agent do it¶
The Ionworks skills include migrate-to-ionworks, which finds every old import,
patch target and dependency in a project, rewrites them, rebuilds the environment,
runs your code, and reports anything it could not map. Install the skills with
ionworks skills install (the command ships with both ionworks-api and
ionworks; see Bring your own agent),
then ask your agent to use the migrate-to-ionworks skill on your project.