AuroraScienceHub.Integrations.NoaaClient 1.1.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package AuroraScienceHub.Integrations.NoaaClient --version 1.1.0
                    
NuGet\Install-Package AuroraScienceHub.Integrations.NoaaClient -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AuroraScienceHub.Integrations.NoaaClient" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AuroraScienceHub.Integrations.NoaaClient" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="AuroraScienceHub.Integrations.NoaaClient" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AuroraScienceHub.Integrations.NoaaClient --version 1.1.0
                    
#r "nuget: AuroraScienceHub.Integrations.NoaaClient, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AuroraScienceHub.Integrations.NoaaClient@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AuroraScienceHub.Integrations.NoaaClient&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=AuroraScienceHub.Integrations.NoaaClient&version=1.1.0
                    
Install as a Cake Tool

<h1 align="center"> <br> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/logo/In_white.png"> <source media="(prefers-color-scheme: light)" srcset="docs/logo/In_black.png"> <img src="docs/logo/logo-black.png" style="width:400px;"> </picture> <br> Aurora Science Hub Integrations <br> </h1> <div align="center"> External data source integrations for space weather monitoring applications. <br><br>

NuGet Version NuGet Downloads alternate text is missing from this package README image alternate text is missing from this package README image <br> Build & Test License: MIT GitHub Stars

<a href="#getting-started">Getting Started</a> • <a href="#available-packages">Available Packages</a> • <a href="#architecture">Architecture</a> • <a href="#development">Development</a> • <a href="#code-style">Code Style</a> • <a href="#testing">Testing</a> • <a href="#license">License</a> • <a href="#contributing">Contributing</a> • <a href="#links">Links</a>

</div>

Getting Started

All packages are distributed via NuGet and target .NET 10.0. Install individual packages as needed:

dotnet add package AuroraScienceHub.Integrations.NoaaClient

Quick Example

// Register services
builder.Services.AddNoaaClients();

// Inject and use clients
public class SpaceWeatherService
{
    private readonly IAceClient _aceClient;

    public SpaceWeatherService(IAceClient aceClient)
    {
        _aceClient = aceClient;
    }

    public async Task<IReadOnlyCollection<MagnetometerRecord>> GetMagnetometerDataAsync()
    {
        return await _aceClient.GetMagnetometerDataAsync();
    }
}

Each package provides HTTP clients for accessing external data sources with strongly-typed response models and full dependency injection support.

Available Packages

NOAA Space Weather Integrations

AuroraScienceHub.Integrations.NoaaClient - Comprehensive NOAA Space Weather data access

Component Description
ACE Client Advanced Composition Explorer satellite data - magnetometer and SWEPAM measurements
RTSW Client NOAA real-time solar wind feeds - 1-minute magnetometer and plasma data with active and source metadata
KP-Index Client Geomagnetic activity indices - nowcast and forecast data (3-day and 27-day)

See detailed documentation for usage examples and API reference.

Architecture

This repository provides production-ready HTTP clients for external space weather data sources with the following characteristics:

  • Type-Safe Clients - Strongly-typed HTTP clients with dependency injection support via IHttpClientFactory
  • Response Models - Well-defined DTOs for all API responses with validation
  • Configuration - Options pattern for configuring API endpoints and behavior
  • Modern .NET - Built on .NET 10 with latest C# features and performance optimizations
  • Resilience - Built-in retry policies and error handling
  • Testability - Designed for easy unit testing with interface-based design

Design Principles

  • Single Responsibility - Each client focuses on a specific data source
  • Dependency Injection - First-class DI support for ASP.NET Core and .NET applications
  • Performance - Optimized parsing and minimal allocations
  • Extensibility - Easy to extend with additional data sources

Development

Prerequisites

Building from Source

# Clone the repository
git clone https://github.com/Aurora-Science-Hub/Integrations.git
cd Integrations

# Restore dependencies
dotnet restore

# Build the solution
dotnet build

# Run tests
dotnet test

Code Style

The solution uses EditorConfig based on Azure SDK .NET to maintain consistent code style across all packages.

Formatting Commands

# Format code before committing
dotnet format

# Verify code style compliance
dotnet format --verify-no-changes

Code Quality Standards

  • Nullable reference types enabled
  • Warnings treated as errors
  • Latest C# language version
  • Code style enforcement in build
  • Embedded debug symbols in packages

Testing

Unit tests are located in the tests/UnitTests/ directory.

Test Framework

  • xUnit - Test execution framework
  • Moq - Mocking library for unit tests
  • Embedded Resources - Test data stored as embedded resources for reproducibility

Running Tests

# Run all tests
dotnet test

# Run tests in watch mode
dotnet watch test --project tests/UnitTests/UnitTests.csproj

Test Coverage

The project maintains comprehensive test coverage for all data parsers and client implementations, ensuring data integrity and API reliability.

License

This project is licensed under the MIT License. See LICENSE file for details.

Contributing

We welcome contributions! When contributing to this repository:

  1. Follow the established code style (enforced by EditorConfig)
  2. Run dotnet format before committing
  3. Ensure all tests pass with dotnet test
  4. Update relevant README files for your changes
  5. Keep packages focused and loosely coupled
  6. Add unit tests for new features

Reporting Issues

Please report bugs and feature requests on the GitHub Issues page.

Acknowledgments

This project integrates data from the NOAA Space Weather Prediction Center. We thank NOAA and NASA for providing free and open access to space weather data.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.4.0 82 8/19/2026
1.3.0 92 8/15/2026
1.2.2 94 8/11/2026
1.2.0 86 8/7/2026
1.1.1 124 7/7/2026
1.1.0 115 7/7/2026
1.0.0 138 2/5/2026