{"adoption": {"forks": 815, "observed_at": "2026-08-28T04:08:33.501570+00:00", "stars": 4039}, "canonical_url": "https://ross.abutalabs.com/products/portfolio-performance-portfolio", "card": {"archived": false, "artifact_type": "application", "description": "Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.", "domain": ["fintech", "developer-tools", "analytics", "desktop-applications"], "enriched": true, "function": ["data-visualization", "analytics", "pdf", "csv", "charts"], "health_score": 100, "homepage": "http://www.portfolio-performance.info", "language": "Java", "license": "EPL-1.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["portfolio-performance/portfolio"], "name": "portfolio-performance/portfolio", "platform": ["cross-platform", "windows", "jvm"], "pushed_at": "2026-08-25T06:40:27+00:00", "repo": "portfolio-performance/portfolio", "stars": 4039, "tags": ["investment-portfolio", "portfolio-tracking", "personal-finance", "twr", "irr", "eclipse-rcp", "stock-quotes", "rebalancing", "open-source-finance", "desktop", "macos", "linux"], "topics": ["eclipse", "investment-portfolio", "java", "financial", "stocks", "portfolio", "portfolio-performance"], "urls": [], "use_cases": ["track my investment portfolio performance across multiple brokers", "calculate true time-weighted rate of return and IRR for my holdings", "import broker transactions from PDF or CSV statements", "download historical stock and crypto prices automatically", "rebalance my portfolio against a target asset allocation", "track stocks, ETFs, and cryptocurrencies in one tool", "export my portfolio data as XML or CSV"], "what_it_is": "Portfolio Performance is an open-source desktop application for tracking and evaluating investment portfolios across multiple accounts and brokerages. It computes performance metrics like True-Time Weighted Rate of Return and Internal Rate of Return, imports transactions from PDF/CSV, and fetches historical quotes from many online sources.", "when_to_avoid": ["you need a mobile-first or web-based portfolio tracker", "you want fully automated bank syncing without manual transaction entry", "you prefer a simple app without a learning curve for booking transactions", "you need tax reporting tailored to a specific country out of the box"], "when_to_choose": ["you want a free, open-source desktop app for detailed portfolio tracking", "you need rigorous performance metrics like TWR and IRR across accounts", "you want automatic quote downloads from many sources including Yahoo, Alpha Vantage, and CoinGecko", "you value an open XML file format and CSV export", "you need multi-currency support with ECB exchange rates"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/portfolio-performance-portfolio", "repo": "portfolio-performance/portfolio", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:33.501570+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:46.426639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cd3963824b6235bdc2f2f42a844496ca465118f3fc88a8311f9f25dde434232", "fetched_at": "2026-08-28T04:08:33.501570+00:00", "kind": "readme", "missing": false, "url": "https://github.com/portfolio-performance/portfolio"}, {"content_hash": "b6dc55dfa7eb20532e449190c1c3a0f2f280ba838fb46de419581c428bd0539e", "fetched_at": "2026-08-29T09:16:16.641622+00:00", "kind": "homepage", "missing": false, "url": "http://www.portfolio-performance.info"}, {"content_hash": "29e584c8d3663431db588057a321b5f774c2f8672455a7815f6347c8e82e0ccc", "fetched_at": "2026-08-29T09:16:16.644252+00:00", "kind": "site_page", "missing": false, "url": "https://forum.portfolio-performance.info/c/faq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5275, "days_push": 8, "days_rel": 17, "gap_med": 4.5, "n_releases_24m": 65}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}