Skip to content

CHIME/FRB API Migration Guide (v4.x.x)

As of chime-frb-api v4.0.0, the following APIs have been removed:

  • Results API
  • Bucket API
  • Work Object API

These have been migrated in to the Workflow package.


🛑 TL;DR — What You Need to Do

If you're using any of the above APIs through chime-frb-api, you must migrate to workflow before upgrading to version >4.0.0. Otherwise, your code will break.


💡 Tips

  • Avoid upgrading to chime-frb-api >= 4.0.0 until you’ve completed the migration.
  • If you're only using other parts of chime-frb-api, you can safely upgrade.

✅ How to migrate from chime-frb-api v3 to Workflow:

1. ⚙️ Install the workflow package

📄 Documentation for Workflow APIs

pip install workflow.core

📝 2. Update your imports

Replace any old imports like:

Python
from chime_frb_api.workflow import Work

With

Python
from workflow.definitions.work import Work

Set Workspace

  • The workflow package requires a workspace to be set.
  • You can set the workspace using the following cli command:
    Bash
    workflow workspace set chimefrb
    

🔧 3. Update usage

Method calls and logic remains the same. You just need to update the imports and instantiate the object from Workflow instead.

Example 1: Work Object API

If you were using Work API from chime-frb-api, you would now do:

Python
from workflow.definitions.work import Work
work = Work()

Example 2: Results API

If you were using the Results API from chime-frb-api, you would now do:

Python
from workflow.http.context import HTTPContext

ResultsContext = HTTPContext(backends=["results"])

results = ResultsContext.results

And then, you can call the methods as you did before, e.g.:

Python
results.get_by_count('header-localization', 10)

Example 3: Buckets API

Similarly, if you were using the Buckets API from chime-frb-api, you would now do:

Python
from workflow.http.context import HTTPContext

BucketsContext = HTTPContext(backends=["buckets"])

buckets = BucketsContext.buckets

And then, you can call the methods as you did before, e.g.:

Python
buckets.status("intensity-dm-pipeline")

And you're all set! Now you can use the latest versions of CHIME/FRB API and Workflow and enjoy the new features!

Comments