{"library":"rocrate","title":"RO-Crate Python Library","description":"The ro-crate-py library provides tools for generating, parsing, and manipulating RO-Crate (Research Object Crate) metadata. RO-Crate is a community effort to package research data with their metadata, using schema.org types serialized as JSON-LD, and is designed to be human- and machine-readable. The library is actively maintained with frequent releases, currently at version 0.15.0.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install rocrate"],"cli":{"name":"rocrate","version":"Usage: rocrate [OPTIONS] COMMAND [ARGS]..."}},"imports":["from rocrate.rocrate import ROCrate","from rocrate.model import Entity","from rocrate.model import File","from rocrate.model import Dataset","from rocrate.model import Person"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from rocrate.rocrate import ROCrate\nfrom rocrate.model import Person\nimport os\n\n# Create a new RO-Crate\ncrate = ROCrate()\n\n# Add a main entity (e.g., a README file)\nreadme_content = \"# My Research Crate\\nThis is a sample RO-Crate.\"\nwith open(\"README.md\", \"w\") as f:\n    f.write(readme_content)\nreadme_entity = crate.add_file(\"README.md\")\n\n# Add a person as a contextual entity\nperson = Person(crate, identifier=\"#john_doe\", properties={\n    \"name\": \"John Doe\",\n    \"affiliation\": \"University of Example\"\n})\ncrate.add(person)\n\n# Link the README to the person\nreadme_entity['author'] = person\n\n# Write the RO-Crate to a directory\noutput_dir = \"my_first_crate\"\ncrate.write(output_dir)\n\nprint(f\"RO-Crate created at: {os.path.abspath(output_dir)}\")\nprint(f\"Contents: {os.listdir(output_dir)}\")\n","lang":"python","description":"This quickstart demonstrates how to create a basic RO-Crate, add a file (with content), add a contextual entity (a Person), link the file to the person, and then write the complete RO-Crate to a local directory.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.15.0","pypi_latest":"0.15.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.6,"avg_import_s":0.82,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.78,"mem_mb":18,"disk_size":"26.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.8,"import_time_s":0.57,"mem_mb":18,"disk_size":"27M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.02,"mem_mb":18.5,"disk_size":"29.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":0.86,"mem_mb":18.5,"disk_size":"30M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.88,"mem_mb":18.8,"disk_size":"20.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.89,"mem_mb":18.8,"disk_size":"21M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.84,"mem_mb":19,"disk_size":"20.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.85,"mem_mb":19,"disk_size":"21M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.8,"mem_mb":17.7,"disk_size":"25.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rocrate","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.68,"mem_mb":17.7,"disk_size":"26M"}]}}