{"id":21885,"library":"roc-validator","title":"roc-validator","description":"A Python package to validate RO-Crates (Research Object Crate) against profiles and checks. Current version 0.9.0, requires Python >=3.10, <4.0. Active development with regular releases.","status":"active","version":"0.9.0","language":"python","source_language":"en","source_url":"https://github.com/crs4/rocrate-validator","tags":["ro-crate","validation","research-data","metadata"],"install":[{"cmd":"pip install roc-validator","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Module name is 'rocvalidator', not 'roc_validator'.","wrong":"from roc_validator import validate","symbol":"validate","correct":"from rocvalidator.cli import validate"},{"note":"Wrong package name; correct is 'rocvalidator'.","wrong":"from roc_validator import ROCrateValidator","symbol":"ROCrateValidator","correct":"from rocvalidator.validator import ROCrateValidator"}],"quickstart":{"code":"from rocvalidator.validator import ROCrateValidator\n\n# Validate an RO-Crate from a directory path\nvalidator = ROCrateValidator()\nresult = validator.validate('/path/to/ro-crate')\nprint(result)\n\n# Or use CLI\n# roc-validator validate /path/to/ro-crate","lang":"python","description":"Basic usage: create a validator instance and call validate with the path to an RO-Crate directory."},"warnings":[{"fix":"Upgrade to Python 3.10 or later.","message":"Python 3.9 support dropped in version 0.8.0; requires Python >=3.10.","severity":"breaking","affected_versions":">=0.8.0"},{"fix":"Use 'from rocvalidator...' instead of 'from roc_validator...'.","message":"Import path uses 'rocvalidator' not 'roc_validator'. Incorrect import will raise ModuleNotFoundError.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the built-in caching via ROCrateValidator's constructor or CLI options.","message":"The 'requests_cache.install_cache' call was removed in 0.6.4. If you rely on caching, update usage.","severity":"deprecated","affected_versions":">=0.6.4"},{"fix":"Install with 'pip install roc-validator', then import 'rocvalidator'.","message":"The package is installed as 'roc-validator' on PyPI, but the Python module is 'rocvalidator'.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Change import to 'from rocvalidator import ...'","cause":"Using underscores in the module name; the correct module is 'rocvalidator' (no underscore).","error":"ModuleNotFoundError: No module named 'roc_validator'"},{"fix":"Upgrade Python to 3.10+ or use roc-validator <0.8.0.","cause":"Package version >=0.8.0 does not support Python 3.9.","error":"RuntimeError: This package requires Python 3.10 or later"},{"fix":"Ensure the path exists and is a valid RO-Crate. Use validator.validate(path) which returns a ValidationResult or raises an exception.","cause":"The result object may be None if validation fails silently; check the validator's output properly.","error":"AttributeError: 'NoneType' object has no attribute 'status'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}