OpenUrzednik.Mf
1.0.13-preview.gde7b6f8597
dotnet add package OpenUrzednik.Mf --version 1.0.13-preview.gde7b6f8597
NuGet\Install-Package OpenUrzednik.Mf -Version 1.0.13-preview.gde7b6f8597
<PackageReference Include="OpenUrzednik.Mf" Version="1.0.13-preview.gde7b6f8597" />
<PackageVersion Include="OpenUrzednik.Mf" Version="1.0.13-preview.gde7b6f8597" />
<PackageReference Include="OpenUrzednik.Mf" />
paket add OpenUrzednik.Mf --version 1.0.13-preview.gde7b6f8597
#r "nuget: OpenUrzednik.Mf, 1.0.13-preview.gde7b6f8597"
#:package OpenUrzednik.Mf@1.0.13-preview.gde7b6f8597
#addin nuget:?package=OpenUrzednik.Mf&version=1.0.13-preview.gde7b6f8597&prerelease
#tool nuget:?package=OpenUrzednik.Mf&version=1.0.13-preview.gde7b6f8597&prerelease
OpenUrzednik.NET 💼🇵🇱
OpenUrzednik.NET to nowoczesny, otwartoźródłowy zestaw bibliotek dla platformy .NET, służący do integracji z polskimi API oraz danymi publicznymi. W aktualnej fazie rozwoju projekt skupia się na wspólnych fundamentach (OpenUrzednik.Core) oraz na referencyjnym kliencie API NBP (OpenUrzednik.Nbp), na którego wzór powstaną kolejne pakiety.
⚠️ Projekt nieoficjalny: Ten zestaw bibliotek jest oddolną inicjatywą społecznościową i nie jest powiązany, autoryzowany ani sponsorowany przez żadne z polskich ministerstw ani urzędów państwowych.
🚀 Dlaczego powstał ten projekt?
Większość istniejących pakietów dla polskich API została porzucona lub nie utrzymuje się w nowoczesnym modelu .NET. OpenUrzednik.NET ma dostarczać:
- Nowoczesne API: wsparcie dla
net8.0,net9.0inet10.0, a przeznetstandard2.0także dla .NET Framework (testujemy na .NET Framework 4.8) - Spójne modele błędów:
OpenUrzednikResult/OpenUrzednikResult<T>zamiast rozproszonej logiki błędów - Elastyczność: zachowanie klasycznego stylu przez
.EnsureSuccess()/.EnsureSuccessAsync() - Przejrzysty rozwój: kod podzielony na
Corei pakiety provider-specific
📦 Status pakietów
| Pakiet | Status | Opis | Celowy target |
|---|---|---|---|
| OpenUrzednik.Core | ✅ Dostępne podstawowe abstrakcje | OpenUrzednikResult, OpenUrzednikResult<T>, OpenUrzednikError, OpenUrzednikException oraz metody rozszerzeń EnsureSuccess / EnsureSuccessAsync |
netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Http | 🧪 Preview | Wspólna warstwa HTTP dla providerów REST/JSON (RestRequestExecutor). Używają jej pakiety providerów, nie aplikacje |
netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Extensions.Logging | 🧪 Preview | Przekazuje logi klientów do ILogger z Microsoft.Extensions.Logging |
netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Diagnostics | 🧪 Preview | Zamienia spany klientów na Activity dla OpenTelemetry (AddSource("OpenUrzednik.*")) |
netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Nbp | 🧪 Preview | Kursy walut (tabele A, B, C), tabele kursów i ceny złota z API NBP. API publiczne może się jeszcze zmienić | netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Nbp.DependencyInjection | 🧪 Preview | AddOpenUrzednikNbp(): klienty NBP w DI z IHttpClientFactory, gotowe na AddStandardResilienceHandler() |
netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Gus | 🚧 Szkielet | Pakiet przygotowany pod integrację z GUS | netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Krs | 🚧 Szkielet | Pakiet przygotowany pod integrację z KRS | netstandard2.0, net8.0, net9.0, net10.0 |
| OpenUrzednik.Mf | 🚧 Szkielet | Pakiet przygotowany pod integrację z Białą Listą VAT | netstandard2.0, net8.0, net9.0, net10.0 |
🛠️ Szybki start
Aktualnie najłatwiej zacząć od OpenUrzednik.Core.
Przykład użycia OpenUrzednikResult
using OpenUrzednik.Core;
using OpenUrzednik.Core.Errors;
using OpenUrzednik.Core.Extensions;
OpenUrzednikResult<int> result = OpenUrzednikResult.Success(42);
int value = result.EnsureSuccess();
Console.WriteLine(value);
Przykład błędu biznesowego:
using OpenUrzednik.Core;
using OpenUrzednik.Core.Errors;
using OpenUrzednik.Core.Extensions;
OpenUrzednikResult<int> failed = OpenUrzednikResult.Failure<int>(new ValidationError("NIP is invalid."));
try
{
int value = failed.EnsureSuccess();
}
catch (ValidationException ex)
{
Console.WriteLine(ex.Message);
}
Uwaga o DI i klientach
Pakiet OpenUrzednik.Nbp zawiera klienty NbpCurrencyExchangeRateClient, NbpExchangeRateTableClient i NbpGoldPriceClient (wersja preview — sposób tworzenia klientów jeszcze się zmieni, zob. ADR-0007). Rozszerzenia DI pojawią się w osobnych pakietach *.DependencyInjection. Pakiety OpenUrzednik.Gus, OpenUrzednik.Krs i OpenUrzednik.Mf są szkieletami — prace nad nimi ruszą po ukończeniu pakietu NBP (ADR-0010).
Testy
Testy znajdują się w katalogu tests/: testy jednostkowe, testy HTTP z WireMockiem oraz (opcjonalne, uruchamiane ręcznie) testy na prawdziwym API.
🤝 Współpraca (Contributing)
Chcesz dodać obsługę kolejnego źródła danych lub zgłosić błąd? Zobacz CONTRIBUTING.md — zawiera zasady pracy nad repozytorium, konwencje API oraz instrukcje dla pull requestów.
📄 Licencja
Projekt jest dostępny na warunkach licencji MIT. Szczegóły znajdziesz w pliku LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- OpenUrzednik.Core (>= 1.0.13-preview.gde7b6f8597)
-
net10.0
- OpenUrzednik.Core (>= 1.0.13-preview.gde7b6f8597)
-
net8.0
- OpenUrzednik.Core (>= 1.0.13-preview.gde7b6f8597)
-
net9.0
- OpenUrzednik.Core (>= 1.0.13-preview.gde7b6f8597)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.13-preview.gde7b6f8597 | 0 | 10/4/2026 |
| 1.0.13-preview.gc3cc7f9beb | 0 | 10/4/2026 |
| 1.0.13-preview.ga121ad3626 | 8 | 10/4/2026 |
| 1.0.13-preview.g7ddf6831a3 | 7 | 10/4/2026 |
| 1.0.13-preview.g7dc96f3b99 | 0 | 10/4/2026 |
| 1.0.13-preview.g465074c6fa | 8 | 10/4/2026 |
| 1.0.13-preview.g0efdc94be8 | 5 | 10/4/2026 |
| 1.0.12-preview.g91d3c58956 | 8 | 10/4/2026 |
| 1.0.12-preview.g2ba4dc40bc | 15 | 10/4/2026 |
| 1.0.11-preview.g3a5950ac20 | 22 | 10/4/2026 |
| 1.0.10-preview.gcd67686ab6 | 40 | 10/2/2026 |
| 1.0.10-preview.g6ac649b69c | 32 | 10/2/2026 |
| 1.0.10-preview.g0acb59de7f | 36 | 10/2/2026 |
| 1.0.9-preview.gd9505c8003 | 34 | 10/2/2026 |
| 1.0.9-preview.gd258a3d9bb | 32 | 10/2/2026 |
| 1.0.9-preview.g6e19176abc | 34 | 10/2/2026 |
| 1.0.9-preview.g271205fc0d | 36 | 10/2/2026 |
| 1.0.8-preview.gbce614914b | 33 | 10/2/2026 |
| 1.0.8-preview.g6430e99982 | 28 | 10/2/2026 |
| 1.0.8-preview.g103cfd96e5 | 32 | 10/2/2026 |