Installation
Library version: __LIBRARY_VERSION__ (from versions.env)
All examples are tested against this version. Bump LIBRARY_VERSION in versions.env and all package specs (pyproject.toml, Directory.Packages.props, package.json) to match.
Gitea Registry Authentication
All Virtufin packages are hosted on the Gitea package registry at gitea.haenerconsulting.com. Authentication requires a personal access token with read:packages scope.
Python (uv)
cd python
source ../.env
export UV_INDEX_GITEA_USERNAME=$GITEA_USERNAME
export UV_INDEX_GITEA_PASSWORD=$GITEA_TOKEN
uv sync
Run examples:
C# / F# (NuGet)
The dotnet/NuGet.Config file uses environment variable substitution:
<packageSourceCredentials>
<Virtufin>
<add key="Username" value="%(GITEA_USERNAME)" />
<add key="ClearTextPassword" value="%(GITEA_TOKEN)" />
</Virtufin>
</packageSourceCredentials>
With GITEA_USERNAME and GITEA_TOKEN set, run:
Alternatively, configure manually:
dotnet nuget add source https://gitea.haenerconsulting.com/api/packages/virtufin/nuget/index.json \
--name Virtufin --username <user> --password <token>
TypeScript (npm)
Create ~/.npmrc or use the project's .npmrc:
Then:
Packages Used
| Language | WebSocketManager | WorkManager | API Gateway |
|---|---|---|---|
| Python | virtufin-websocketmanager |
virtufin-workmanager |
virtufin-api |
| C# | Virtufin.WebSocketManager.Client |
Virtufin.WorkManager.Client |
Virtufin.Api.Client |
| F# | (same) | (same) | (same) |
| TypeScript | @virtufin/websocketmanager |
@virtufin/workmanager |
virtufin-api |