{"id":24683,"library":"tapipy","title":"Tapipy","description":"Python client library for the Tapis API Framework, providing programmatic access to Tapis services for HPC, cloud computing, and data management. Current version is 25.4.0, with frequent releases aligned to the Tapis platform.","status":"active","version":"25.4.0","language":"python","source_language":"en","source_url":"https://github.com/tapis-project/tapipy","tags":["tapis","api-client","hpc","cloud"],"install":[{"cmd":"pip install tapipy","lang":"bash","label":"PyPI install"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false},{"reason":"JWT token handling","package":"pyjwt","optional":false}],"imports":[{"note":"Tapis client class is in tapipy.tapis module, not top-level.","wrong":"import tapipy","symbol":"Tapis","correct":"from tapipy.tapis import Tapis"}],"quickstart":{"code":"from tapipy.tapis import Tapis\nimport os\n\nt = Tapis(\n    base_url=os.environ.get('TAPIS_BASE_URL', 'https://example.tapis.io'),\n    username=os.environ.get('TAPIS_USERNAME', ''),\n    password=os.environ.get('TAPIS_PASSWORD', '')\n)\nt.get_tokens()\nprint(t.tapis_available())","lang":"python","description":"Initialize a Tapis client and authenticate. Use environment variables for credentials."},"warnings":[{"fix":"Replace `t = Tapis('dev', ...)` with `t = Tapis(base_url='https://dev.tapis.io', ...)`","message":"In v25.x, the `Tapis` constructor no longer accepts `tenant_id` as a first positional argument; use `base_url` instead.","severity":"breaking","affected_versions":">=25.0.0"},{"fix":"Use `t.ping()` or check service availability via API calls.","message":"The `tapis_available()` method is deprecated in v25.4.0 and may be removed in a future release.","severity":"deprecated","affected_versions":">=25.4.0"},{"fix":"Call `t.get_tokens()` again or use a token refresh strategy.","message":"Token management requires explicit refresh; the library does not automatically refresh expired tokens.","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":"Use `from tapipy.tapis import Tapis`","cause":"Incorrect import; `Tapis` class is not at the top level.","error":"AttributeError: module 'tapipy' has no attribute 'Tapis'"},{"fix":"Remove the positional argument and only use `base_url=...`","cause":"Passing `tenant_id` as first positional argument and also `base_url` as keyword in older code.","error":"TypeError: __init__() got multiple values for argument 'base_url'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}