The Open Portfolio Project is part of the OpenAlloc family of applications and re-useable libraries.
Apps for rebalancing a portfolio and tracking its value over time, for macOS.
These are available on the App Store as free downloads for macOS.
They are formerly proprietary applications now fully open-sourced as of August 2022.
A portfolio rebalancing tool.
- Flow Allocator - product website
- Flow Allocator Project - Github site for the development project, including full source code
A tool for tracking the value and performance of a portfolio over time.
- Flow Worth - product website
- Flow Worth Project - Github site for the development project, including full source code
Swift libraries written principally to support the apps above, available as Swift Packages.
- FlowUI - shared UI support for the apps
- FlowAllocHigh - high-level support for the Flow Allocator app
- FlowAllocLow - low-level support for the Flow Allocator app
- FlowWorthLib - support for the Flow Worth app
- FlowBase - shared support for the apps
- FlowStats - shared stats support for the apps
- FlowViz - shared visualization components for the apps
- FlowXCT - shared testing components for the apps
The libraries which focus on importing financial data, such as exports from specific brokerages, are available independently for re-use.
- AllocData - standardized data formats for investing-focused apps and tools
- FINporter - library and command-line tool to transform various specialized finance-related formats to the standardized schema of AllocData
The rest of the FINporter dependencies:
- FINporterCLI - the command-line interface (CLI) incorporating supported importers
- FINporterChuck - importers for the Schwab brokerage
- FINporterFido - importers for the Fidelity brokerage
- FINporterAllocSmart - importer for the Allocate Smartly service
- FINporterTabular - importer for transforming the AllocData schema
As an open source project, we depend on our community of users (and eventually developers) for support.
The most important thing you can do now is to rate and review the apps in the App Store. Preferably favorably! :)
(This will help to broaden the base of users, to find bugs and improve the apps.)
Future portfolio apps to add to the family are certainly possible, should good ideas emerge.
To report a bug or suggest a feature, add an Issue to the relevant Github project.
See the Workspace repository for a handy Xcode workspace that contains most of the repositories.
Re-useable Swift libraries for multiple platforms.
- OpenAlloc Libraries - OpenAlloc Libraries product website
- OpenAlloc Libraries Project - Github site for the development project, including full source code
Fitness, nutrition, and productivity apps for iPhone, iPad, and Apple Watch.
- Open Trackers - Open Trackers product website
- Open Trackers Project - Github site for the development project, including full source code
Investing apps for macOS.
- Open Portfolio - Open Portfolio product website
- Open Portfolio Project - Github site for the development project, including full source code
Copyright 2021, 2022, 2023 OpenAlloc LLC
All application code is licensed under the Mozilla Public License 2, except where noted in individual modules.
Re-useable library code may be under the MPL-2.0 or the Apache License, Version 2.0, except where noted in individual modules.
Copyright is held by @reedes’s OpenAlloc LLC, except where noted in individual modules.
Contributions are welcome. You are encouraged to submit pull requests to fix bugs, improve documentation, or offer new features.
The pull request need not be a production-ready feature or fix. It can be a draft of proposed changes, or simply a test to show that expected behavior is buggy. Discussion on the pull request can proceed from there.
Contributions should ultimately have adequate test coverage. See tests for current entities to see what coverage is expected.
Your contributions can be under the your name or organization, but must have a compatible license, preferably MPL-2.0 (for app code) or Apache-2.0 (for re-usable library code).
(This should probably be expanded to a proper policy.)