Backend-agnostic local repository of a user's financial data
Project description
finstore
Backend-agnostic local repository of a user's financial data.
Install
# Library only (for custom integrations / the gnc-sfin-gateway OFX server)
pip install finstore
# Library + SimpleFIN backend
pip install finstore[simplefin]
# Self-hosted CLI + dashboard (end users)
pipx install 'finstore[local]'
Quick start
import asyncio
import time
from pathlib import Path
import httpx
from finstore import Tenant, fetch
from finstore.backends.simplefin import SimpleFINBackend, SimpleFINCredentials
from finstore.storage.filesystem import FilesystemStorage
tenant = Tenant(id="local")
storage = FilesystemStorage(root=Path("~/.local/share/finstore").expanduser())
creds = SimpleFINCredentials(access_url="https://user:pass@bridge.simplefin.org/simplefin")
dtstart = int(time.time()) - 90 * 86400 # last 90 days
async def main() -> None:
async with httpx.AsyncClient() as http_client:
backend = SimpleFINBackend(credentials=creds, httpx_client=http_client)
await fetch(tenant, backend, storage, window=(dtstart, None))
accounts = storage.list_accounts(tenant.id)
asyncio.run(main())
Development
See docs/contributing.md for setup, running tests, linting, and CLI usage.
License
Apache-2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
finstore-0.1.0.tar.gz
(60.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
finstore-0.1.0-py3-none-any.whl
(47.6 kB
view details)
File details
Details for the file finstore-0.1.0.tar.gz.
File metadata
- Download URL: finstore-0.1.0.tar.gz
- Upload date:
- Size: 60.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5917767a113ceebbb3f7d5b164948b7ea5727761249b9343c4752aef16155fbf
|
|
| MD5 |
7389f04c09066430d6cc0a7fc431598a
|
|
| BLAKE2b-256 |
85c634d1db7c175be7d142148b079faa79e4b5743add796020c32b85aacb186e
|
File details
Details for the file finstore-0.1.0-py3-none-any.whl.
File metadata
- Download URL: finstore-0.1.0-py3-none-any.whl
- Upload date:
- Size: 47.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dee3c976083fb33d077f9e5afc1e2182b5be493bd15d1e3a2a3d74e21b3586aa
|
|
| MD5 |
7e96405712f4eb8e7b55f5c4eef83dcd
|
|
| BLAKE2b-256 |
acbb3fbcca861ac9d36daa42b6089d1d8a0006d45241e8b950f5c8abbe7ef789
|