{"id":24583,"library":"shuffle-sdk","title":"Shuffle SDK","description":"The Python SDK for Shuffle, an open-source SOAR (Security Orchestration, Automation, and Response) platform. Current version 0.0.38, updated irregularly. This SDK allows programmatic interaction with the Shuffle API, including actions like creating workflows, executing rules, and managing apps.","status":"active","version":"0.0.38","language":"python","source_language":"en","source_url":"https://github.com/shuffle/shuffle","tags":["SOAR","security","automation","workflow","shuffle"],"install":[{"cmd":"pip install shuffle-sdk","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false}],"imports":[{"wrong":"from shuffle import Shuffle","symbol":"AppBase","correct":"from shuffle_sdk import AppBase"},{"wrong":"from shuffle import Shuffle","symbol":"csv_parse","correct":"from shuffle_sdk import csv_parse"},{"wrong":"from shuffle import Shuffle","symbol":"shuffle_sdk","correct":"import shuffle_sdk"}],"quickstart":{"code":"from shuffle import Shuffle\nimport os\n\napi_key = os.environ.get('SHUFFLE_API_KEY', '')\nshuffle = Shuffle(api_key=api_key, base_url='https://shuffle-api.example.com')\n# Example: list workflows\nworkflows = shuffle.get_workflows()\nprint(workflows)","lang":"python","description":"Initialize the Shuffle client with your API key and base URL."},"warnings":[{"fix":"Pass api_key as the only credential; do not set Authorization header manually.","message":"The Shuffle SDK uses HTTP Basic Auth with the API key, not Bearer tokens. Setting the wrong auth header will cause 401 errors.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Update calls to use keyword arguments: create_workflow(name='test', description='...')","message":"The method 'create_workflow' in versions <0.0.30 accepted a single dict argument. In 0.0.38, it expects keyword arguments for 'name', 'description', etc.","severity":"deprecated","affected_versions":">=0.0.1, <0.0.38"},{"fix":"Install with 'pip install shuffle-sdk' but import as 'from shuffle import Shuffle'.","message":"The PyPI package name is 'shuffle-sdk', but the import package is 'shuffle'. This mismatch often causes confusion and ImportError.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Implement exponential backoff retry logic for API calls.","message":"API rate limits are not documented by the Shuffle server. Users have reported sudden 429 errors, especially when polling workflows quickly.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"search_vec":"'0.0.38':21 'action':34 'allow':26 'api':32 'app':42 'autom':15,45 'creat':36 'current':19 'execut':38 'includ':33 'interact':28 'irregular':23 'like':35 'manag':41 'open':10 'open-sourc':9 'orchestr':14 'platform':18 'programmat':27 'python':4 'respons':17 'rule':39 'sdk':2,5,25 'secur':13,44 'shuffl':1,7,31,47 'soar':12,43 'sourc':11 'updat':22 'version':20 'workflow':37,46","created_at":"2026-05-01T08:13:51.152455+00:00","updated_at":"2026-05-01T08:13:51.152455+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.0.40","cli_name":"","cli_version":null,"type":"library","homepage":"https://shuffler.io","github":"https://github.com/shuffle/shuffle","docs":null,"changelog":null,"pypi":"https://pypi.org/project/shuffle-sdk/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","http-networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}