{"id":27769,"library":"g3t-etl","title":"g3t-etl","description":"g3t-etl (Gen3 Transfer ETL) is a utility library for working with Gen3 data commons. It provides tools for data transfer, validation, and extraction. Current version 0.0.1rc26, requires Python >=3.9, <4. Under active development with frequent releases.","status":"active","version":"0.0.1rc26","language":"python","source_language":"en","source_url":"https://github.com/ACED-IDP/gen3_util","tags":["etl","gen3","data-commons","transfer","validation"],"install":[{"cmd":"pip install g3t-etl","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Core Gen3 SDK for API interactions","package":"gen3","optional":false},{"reason":"Data manipulation and tabular I/O","package":"pandas","optional":false},{"reason":"HTTP client","package":"requests","optional":false}],"imports":[{"note":"Direct import recommended for most use cases.","wrong":"","symbol":"g3t_etl","correct":"import g3t_etl"},{"note":"TransferClient is in the transfer submodule.","wrong":"from g3t_etl import TransferClient","symbol":"TransferClient","correct":"from g3t_etl.transfer import TransferClient"},{"note":"ValidationError is in validation module, not errors.","wrong":"from g3t_etl.errors import ValidationError","symbol":"ValidationError","correct":"from g3t_etl.validation import ValidationError"}],"quickstart":{"code":"import os\nfrom g3t_etl.transfer import TransferClient\n\n# Initialize client (uses GEN3_API_KEY or GEN3_CREDENTIALS env vars)\nclient = TransferClient(endpoint='https://example.com', api_key=os.environ.get('GEN3_API_KEY', ''))\n\n# List available projects\nprojects = client.list_projects()\nprint(projects)","lang":"python","description":"Initialize a TransferClient with Gen3 endpoint and API key. List available projects as a basic operation."},"warnings":[{"fix":"Use TransferClient(endpoint='...', api_key='...') instead of the old keyword arguments.","message":"In version 0.0.1rc25, the TransferClient constructor changed from requiring 'gen3_endpoint' and 'gen3_api_key' to 'endpoint' and 'api_key'. Update your code accordingly.","severity":"breaking","affected_versions":">=0.0.1rc25"},{"fix":"Replace g3t_etl.validation.validate_manifest() with g3t_etl.validation.validate_manifest_with_schema().","message":"The 'validate_manifest' function in g3t_etl.validation is deprecated in favor of 'validate_manifest_with_schema' which provides more detailed errors.","severity":"deprecated","affected_versions":"<=0.0.1rc26"},{"fix":"Set GEN3_API_KEY (or GEN3_CREDENTIALS) environment variable before using any client.","message":"The library expects environment variables GEN3_API_KEY or GEN3_CREDENTIALS to be set for authentication. Missing these will cause silent authentication failures.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run: pip install g3t-etl","cause":"Library not installed or installed under a different name.","error":"ModuleNotFoundError: No module named 'g3t_etl'"},{"fix":"Update to the latest version: pip install --upgrade g3t-etl","cause":"Using outdated version where method was named differently or not available.","error":"AttributeError: 'TransferClient' object has no attribute 'list_projects'"},{"fix":"Check that GEN3_API_KEY environment variable is set correctly and not expired.","cause":"Invalid or missing API key.","error":"g3t_etl.transfer.TransferError: 401 Unauthorized"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}