{"id":24549,"library":"rwslib","title":"Rave Web Services Library (rwslib)","description":"A Python client for Medidata Rave Web Services (RWS). Provides ODM document building, dataset requests, and command-line utilities for interacting with Rave APIs. Current version 1.2.15, release cadence irregular.","status":"active","version":"1.2.15","language":"python","source_language":"en","source_url":"https://github.com/mdsol/rwslib","tags":["medidata","rave","odm","rws","eclinical"],"install":[{"cmd":"pip install rwslib","lang":"bash","label":"Install rwslib from PyPI"}],"dependencies":[],"imports":[{"note":"Correct import for the main RWS client class","wrong":"","symbol":"RWS","correct":"from rwslib import RWS"},{"note":"RWSCommand is in a submodule, not top-level","wrong":"from rwslib import RWSCommand","symbol":"RWSCommand","correct":"from rwslib.rws_cmd import RWSCommand"},{"note":"Builder is in the builders submodule","wrong":"from rwslib import Builder","symbol":"Builder","correct":"from rwslib.builders import Builder"}],"quickstart":{"code":"from rwslib import RWS\n\nrws = RWS(url='https://your-instance.imedidata.com', username='user', password='pass', apikey='key')\nresponse = rws.get_datasets(dataset='SUBJECT', study_oid='STUDY1', study_env='Prod')\nprint(response)","lang":"python","description":"Initialize RWS client and fetch a dataset. Replace url, username, password, apikey, study_oid, and environment as needed."},"warnings":[{"fix":"Upgrade to Python 3.8 or newer.","message":"Python 3.6 support dropped after version 1.2.2; requires Python >=3.8 as of 1.2.12+.","severity":"breaking","affected_versions":">=1.2.12"},{"fix":"Use rwslib 1.2.2+ which conditionally installs enum34 only for Python <3.4.","message":"The enum34 backport is no longer needed for Python 3.4+; installation is conditional but may cause conflicts if pinned.","severity":"deprecated","affected_versions":"<1.2.2"},{"fix":"Use `from rwslib.rws_cmd import RWSCommand` and call methods, not as a script.","message":"RWSCmd module (rws_cmd) is not a standalone executable; it must be invoked via the Python client.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Upgrade to rwslib >=1.2.0 or check installation with `pip install --upgrade rwslib`.","cause":"rwslib 1.2.0+ refactored builders into a subpackage; older code using `from rwslib.builders import *` fails if package missing.","error":"ModuleNotFoundError: No module named 'rwslib.builders'"},{"fix":"Use `from rwslib.rws_cmd import RWSCommand` instead.","cause":"RWSCommand is not imported at top-level; it resides in `rwslib.rws_cmd`.","error":"AttributeError: module 'rwslib' has no attribute 'RWSCommand'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}