v0.29.0
🚀 Added
📧 Slack and Twilio notifications in Workflows
We've just added two notification blocks to Worfklows ecosystem - Slack and Twilio. Now, there is nothing that can stop you from sending notifications from your Workflows!
slack_notification.mp4
inference-cli
🤝 Workflows
We are happy to share that inference-cli
has now a new command - inference workflows
that make it possible to process data with Workflows without any additional Python scripts needed 😄
🎥 Video files processing
- Input a video path, specify an output directory, and run any workflow.
- Frame-by-frame results saved as CSV or JSONL.
- Your Workflow outputs images? Get an output video out from them if you wanted
🖼️ Process images and directories of images 📂
- Outputs stored in subdirectories with JSONL/CSV aggregation available.
- Fault-tollerant processing:
- ✅ Resume after failure (tracked in logs).
- 🔄 Option to force re-processing.
Review our 📖 docs to discover all options!
👉 Try the command
To try the command, simply run:
pip install inference
inference workflows process-images-directory \
-i {your_input_directory} \
-o {your_output_directory} \
--workspace_name {your-roboflow-workspace-url} \
--workflow_id {your-workflow-id} \
--api-key {your_roboflow_api_key}
Screen.Recording.2024-11-26.at.18.19.23.mov
🔑 Secrets provider block in Workflows
Many Workflows blocks require credential to work correctly, but so far, the ecosystem only provided one secure option for passing those credentials - using workflow parameters, forcing client applications to manipulate secret values.
Since this is not handy solution, we decided to create Environment Secrets Store block which is capable of fetching credentials from environmental variables of inference
server. Thanks to that, admins can now set up the server and client's code do not need to handle secrets ✨
⚠️ Security Notice:
For enhanced security, always use secret providers or Workflow parameters to handle credentials. Hardcoding secrets into your Workflows is strongly discouraged.
🔒 Limitations:
This block is designed for self-hosted inference servers only. Due to security concerns, exporting environment variables is not supported on the hosted Roboflow Platform.
🌐 OPC Workflow block 📡
The OPC Writer block provides a versatile set of integration options that enable enterprises to seamlessly connect with OPC-compliant systems and incorporate real-time data transfer into their workflows. Here’s how you can leverage the block’s flexibility for various integration scenarios that industry-class solutions require.
✨ Key features
- Seamless OPC Integration: Easily send data to OPC servers, whether on local networks or cloud environments, ensuring your workflows can interface with industrial control systems, IoT devices, and SCADA systems.
- Cross-Platform Connectivity: Built with asyncua, the block enables smooth communication across multiple platforms, enabling integration with existing infrastructure and ensuring compatibility with a wide range of OPC standards.
Important
This Workflow block is released under Roboflow Enterprise License and is not available by default on Roboflow Hosted Platform.
Anyone interested in integrating Workflows with industry systems through OPC - please contact Roboflow Sales
See @grzegorz-roboflow's change in #842
🛠️ Fixed
Workflows Execution Engine v1.4.0
-
New Kind: A secret kind for credentials is now available. No action needed for existing blocks, but future blocks should use it for secret parameters.
-
Serialization Fix: Fixed a bug where non-batch outputs weren't being serialized in v1.3.0.
-
Execution Engine Fix: Resolved an issue with empty inputs being passed to downstream blocks. This update ensures smoother workflow execution and may fix previous issues without any changes needed.
See full changelog for more details.
🚧 Changed
Open Workflows on Roboflow Platform
We are moving towards shareable Workflow Definitions on Roboflow Platform - to reflect that @yeldarby made the api_key
optional in Workflows Run requests in #843
⛑️ Maintenance
- Update Docker Tag Logic by @alexnorell in #840
- Make check_if_branch_is_mergeable.yml to succeed if merging to main by @grzegorz-roboflow in #848
- Add workflow to check mergeable state executed on pull request by @grzegorz-roboflow in #847
Full Changelog: v0.28.2...v0.29.0