{"id":27823,"library":"ghostfolio","title":"Ghostfolio Python Client","description":"Python API client for Ghostfolio, an open-source personal finance dashboard. Current version 0.8.0 enables portfolio management, holdings, activities, and admin operations. Release cadence is irregular.","status":"active","version":"0.8.0","language":"python","source_language":"en","source_url":"https://github.com/ms32035/ghostfolio-py","tags":["ghostfolio","portfolio","finance","api-client"],"install":[{"cmd":"pip install ghostfolio","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false},{"reason":"Data validation and settings management","package":"pydantic","optional":false}],"imports":[{"wrong":"from ghostfolio import GhostfolioClient","symbol":"Ghostfolio","correct":"from ghostfolio import Ghostfolio"}],"quickstart":{"code":"from ghostfolio import GhostfolioClient\n\nclient = GhostfolioClient(\n    base_url=os.environ.get('GHOSTFOLIO_URL', 'http://localhost:3000'),\n    access_token=os.environ.get('GHOSTFOLIO_ACCESS_TOKEN', '')\n)\n# Fetch all holdings\nholdings = client.get_holdings()\nprint(holdings)","lang":"python","description":"Initialize client with base URL and access token, then fetch holdings."},"warnings":[{"fix":"Use `get_holdings()` instead of `get_positions()`.","message":"In version 0.4.0, the method `get_positions` was renamed to `get_holdings`. Old code will fail.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Ensure token is passed as header (handled by library). If passing token in URL, update by removing that pattern.","message":"Authentication via `access_token` query parameter is deprecated; use header-based authentication (Authorization: Bearer <token>) which is the only supported method as of 0.8.0.","severity":"deprecated","affected_versions":">=0.8.0"},{"fix":"Perform a dummy API call (e.g., `client.get_health()`) immediately after init to check connectivity and authentication.","message":"Client does not validate credentials on initialization; invalid tokens or URLs raise exceptions only on first API call. This can mask configuration errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.8.0':18 'activ':23 'admin':25 'api':5,35 'api-cli':34 'cadenc':28 'client':3,6,36 'current':16 'dashboard':15 'enabl':19 'financ':14,33 'ghostfolio':1,8,31 'hold':22 'irregular':30 'manag':21 'open':11 'open-sourc':10 'oper':26 'person':13 'portfolio':20,32 'python':2,4 'releas':27 'sourc':12 'version':17","created_at":"2026-05-09T05:52:16.584362+00:00","updated_at":"2026-05-09T05:52:16.584362+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"https://ghostfol.io","github":"https://github.com/ms32035/ghostfolio-py","docs":null,"changelog":null,"pypi":"https://pypi.org/project/ghostfolio/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["payments","http-networking","crm-productivity"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}