Skip to content

Initial commit#1

Merged
Demosfen merged 19 commits into
mainfrom
Initial
Feb 5, 2026
Merged

Initial commit#1
Demosfen merged 19 commits into
mainfrom
Initial

Conversation

@alex1ozr

@alex1ozr alex1ozr commented Feb 1, 2026

Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings February 1, 2026 14:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces the initial implementation of the Aurora Science Hub “Integrations” repository, focused on NOAA space-weather data, along with tests, benchmarks, and build/packaging infrastructure.

Changes:

  • Add a Noaa library with ACE, DSCOVR, and Kp Index clients, parsers, and response models plus DI registration and options.
  • Add xUnit-based unit tests and BenchmarkDotNet benchmarks for all text/JSON parsing logic using embedded NOAA sample data.
  • Set up solution-wide .NET 10 targeting, central package management, CI workflow, packaging metadata, and documentation/license files.

Reviewed changes

Copilot reviewed 67 out of 71 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
tests/UnitTests/Utils/EmbeddedResourceDataAttribute.cs Adds a custom xUnit v3 DataAttribute to load test data from embedded resources for parameterized tests.
tests/UnitTests/Usings.cs Enables global xUnit usings for the unit test project.
tests/UnitTests/UnitTests.csproj Configures the unit test project, references the Noaa project, and embeds ACE/DSCOVR/KpIndex sample data as resources.
tests/UnitTests/Noaa/KpIndex/Samples/KpIndexNowcastSample.json Provides sample NOAA Kp-index nowcast JSON for parser tests.
tests/UnitTests/Noaa/KpIndex/Samples/KpIndex3DayForecastSample.json Provides sample NOAA 3‑day Kp-index forecast JSON for parser tests.
tests/UnitTests/Noaa/KpIndex/Samples/KpIndex27DayForecastSample.txt Provides sample NOAA 27‑day outlook text data for parser tests.
tests/UnitTests/Noaa/KpIndex/KpIndexNowcastDataParserTests.cs Verifies KpIndexNowcastDataParser maps JSON to KpIndexNowcastResponse records as expected.
tests/UnitTests/Noaa/KpIndex/KpIndex3DayDataParserTests.cs Verifies KpIndex3DayDataParser maps JSON to KpIndex3DayResponse records as expected.
tests/UnitTests/Noaa/KpIndex/KpIndex27DayDataParserTests.cs Verifies KpIndex27DayDataParser parses text rows into KpIndex27DayResponse records.
tests/UnitTests/Noaa/Dscovr/SolarWindPlasmaDataParserTests.cs Tests DSCOVR solar-wind plasma JSON parsing into SolarWindPlasmaRecord.
tests/UnitTests/Noaa/Dscovr/Samples/DscovrSolarWindPlasmaSample.json Sample DSCOVR solar-wind plasma JSON for unit tests.
tests/UnitTests/Noaa/Dscovr/Samples/DscovrMagnetometerSample.json Sample DSCOVR magnetometer JSON for unit tests.
tests/UnitTests/Noaa/Dscovr/MagnetometerDataParserTests.cs Tests DSCOVR magnetometer JSON parsing into MagnetometerRecord.
tests/UnitTests/Noaa/Ace/SolarWindPlasmaDataParserTests.cs Tests ACE SWE solar-wind plasma text parsing into SolarWindPlasmaRecord.
tests/UnitTests/Noaa/Ace/Samples/AceSwepamSample.txt Sample ACE SWE solar-wind plasma text for unit tests.
tests/UnitTests/Noaa/Ace/Samples/AceMagnetometerSample.txt Sample ACE magnetometer text for unit tests.
tests/UnitTests/Noaa/Ace/MagnetometerDataParserTests.cs Tests ACE magnetometer text parsing into MagnetometerRecord.
tests/Directory.Build.props Establishes common test-project settings and test-related package references (xUnit v3, Moq, Shouldly, coverlet).
src/Noaa/ServiceCollectionExtensions.cs Adds AddNoaaClients DI extension to register ACE, DSCOVR, and KpIndex HTTP clients and bind NoaaClientOptions.
src/Noaa/NoaaClientOptions.cs Defines configuration options for NOAA clients, including a required ServerUrl.
src/Noaa/Noaa.csproj Creates the AuroraScienceHub.Integrations.Noaa project and references shared framework packages and HTTP/DI abstractions.
src/Noaa/KpIndex/Responses/KpIndexNowcastResponse.cs Introduces a record type representing a Kp-index nowcast row.
src/Noaa/KpIndex/Responses/KpIndex3DayResponse.cs Introduces a record type representing a 3‑day Kp-index forecast row.
src/Noaa/KpIndex/Responses/KpIndex27DayResponse.cs Introduces a record type representing a 27‑day Kp-index forecast row.
src/Noaa/KpIndex/KpIndexClient.cs Implements IKpIndexClient using HttpClient and the KpIndex parsers to fetch 27‑day, 3‑day, and nowcast data.
src/Noaa/KpIndex/IKpIndexClient.cs Defines the KpIndex client interface for 27‑day, 3‑day, and nowcast retrieval.
src/Noaa/KpIndex/Extensions/KpIndexNowcastDataParser.cs Parses Kp-index nowcast JSON into KpIndexNowcastResponse records.
src/Noaa/KpIndex/Extensions/KpIndex3DayDataParser.cs Parses 3‑day Kp-index JSON into KpIndex3DayResponse records.
src/Noaa/KpIndex/Extensions/KpIndex27DayDataParser.cs Parses 27‑day outlook text into KpIndex27DayResponse records from line-based data.
src/Noaa/Dscovr/Responses/SolarWindPlasmaRecord.cs Adds a record representing DSCOVR solar-wind plasma data points.
src/Noaa/Dscovr/Responses/MagnetometerRecord.cs Adds a record representing DSCOVR magnetometer data points.
src/Noaa/Dscovr/IDscovrClient.cs Defines the DSCOVR client interface for magnetometer and plasma data over several time windows.
src/Noaa/Dscovr/Extensions/SolarWindPlasmaDataParser.cs Parses DSCOVR solar-wind plasma JSON arrays into SolarWindPlasmaRecord instances.
src/Noaa/Dscovr/Extensions/MagnetometerDataParser.cs Parses DSCOVR magnetometer JSON arrays into MagnetometerRecord instances.
src/Noaa/Dscovr/DscovrClient.cs Implements IDscovrClient to call NOAA DSCOVR endpoints and feed responses through the parsers.
src/Noaa/Ace/Responses/SolarWindPlasmaRecord.cs Adds a record representing ACE SWE solar-wind plasma data (including status and optional numeric values).
src/Noaa/Ace/Responses/MagnetometerRecord.cs Adds a record representing ACE magnetometer data (including status and optional numeric values).
src/Noaa/Ace/IAceClient.cs Defines the ACE client interface for magnetometer and SWE plasma (“Swepam”) data.
src/Noaa/Ace/Extensions/SolarWindPlasmaDataParser.cs Parses ACE SWE solar-wind plasma text lines into SolarWindPlasmaRecord instances.
src/Noaa/Ace/Extensions/MagnetometerDataParser.cs Parses ACE magnetometer text lines into MagnetometerRecord instances.
src/Noaa/Ace/AceClient.cs Implements IAceClient to fetch ACE text feeds and parse them via the ACE parsers.
src/Directory.Build.props Adds per‑src settings (packable, package metadata, README/icon inclusion) for library projects.
package.json Adds a minimal Node configuration with a madr dependency (likely for decision records or docs tooling).
global.json Pins the .NET SDK to version 10.0.100 with patch roll-forward.
docs/logo/Fw_icon.png Adds a packaged icon used by NuGet packaging and README branding.
benchmarks/AuroraScienceHub.Integrations.Benchmarks/Program.cs Provides the BenchmarkDotNet entrypoint to run all benchmarks in the benchmarks assembly.
benchmarks/.../Noaa/Dscovr/Samples/DscovrSolarWindPlasmaSample.json Large DSCOVR solar-wind plasma JSON sample for performance benchmarks.
benchmarks/.../Noaa/Dscovr/Samples/DscovrMagnetometerSample.json Large DSCOVR magnetometer JSON sample for performance benchmarks.
benchmarks/.../Noaa/Dscovr/DscovrSolarWindPlasmaDataParserBenchmark.cs Benchmarks the DSCOVR solar-wind plasma JSON parser using embedded sample data.
benchmarks/.../Noaa/Dscovr/DscovrMagnetometerDataParserBenchmark.cs Benchmarks the DSCOVR magnetometer JSON parser using embedded sample data.
benchmarks/.../Noaa/Ace/Samples/AceSwepamSample.txt Large ACE SWE solar-wind plasma text sample for benchmarks.
benchmarks/.../Noaa/Ace/Samples/AceMagnetometerSample.txt Large ACE magnetometer text sample for benchmarks.
benchmarks/.../Noaa/Ace/AceSolarWindPlasmaDataParserBenchmark.cs Benchmarks the ACE SWE solar-wind plasma text parser.
benchmarks/.../Noaa/Ace/AceMagnetometerDataParserBenchmark.cs Benchmarks the ACE magnetometer text parser.
benchmarks/AuroraScienceHub.Integrations.Benchmarks/AuroraScienceHub.Integrations.Benchmarks.csproj Configures the benchmarks project, embedding benchmark samples and referencing BenchmarkDotNet and the Noaa library.
README.md Documents the repository purpose, packages, dev workflow, and test approach (with some version/tooling mismatches noted).
PackageLicenses.txt Aggregates third-party package licenses for compliance and distribution.
NuGet.Config Restricts NuGet sources to nuget.org and the AuroraScienceHub GitHub feed, with source mapping for AuroraScienceHub packages.
LICENSE Adds MIT license text with project copyright.
Integrations.slnx Provides the solution file grouping src, tests, benchmarks, and CI workflow for IDEs.
Directory.Packages.props Centralizes all package versions (framework utilities, analyzers, test packages, BenchmarkDotNet, etc.).
Directory.Build.targets Adds common build/pack settings (namespace root, repository metadata, license expression, tags) for packable projects.
.gitignore Defines Git ignore rules for .NET/VS, benchmarks, and tooling artifacts.
.github/workflows/dotnet.yml Adds CI workflow for restore, build, test, pack, and publishing to NuGet and GitHub Packages with versioning logic.
.gitattributes Configures text normalization and C# diff behavior for Git.
.editorconfig Establishes code-style conventions (spacing, naming, analyzers) across the repo.
.dockerignore Excludes dev-only and build artifacts from Docker build contexts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
Comment thread src/Noaa/KpIndex/Extensions/KpIndexNowcastDataParser.cs Outdated
Comment thread src/Noaa/Dscovr/Extensions/SolarWindPlasmaDataParser.cs Outdated
Comment thread src/Noaa/Dscovr/Extensions/MagnetometerDataParser.cs Outdated
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndexNowcastDataParser.cs
Comment thread src/Noaa/KpIndex/Extensions/KpIndex3DayDataParser.cs Outdated
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndex27DayDataParser.cs
Comment thread README.md Outdated
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndex3DayDataParser.cs
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndexNowcastDataParser.cs

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 67 out of 71 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Noaa/KpIndex/KpIndexClient.cs Outdated
Comment thread tests/UnitTests/UnitTests.csproj
Comment thread src/Noaa/Dscovr/DscovrClient.cs Outdated
Comment thread src/Noaa/Dscovr/DscovrClient.cs Outdated
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndex3DayDataParser.cs
Comment thread src/NoaaClient/KpIndex/Extensions/KpIndexNowcastDataParser.cs

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 72 out of 76 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread PackageLicenses.txt Outdated
Comment thread tests/UnitTests/Utils/EmbeddedResourceDataAttribute.cs Outdated
Comment thread README.md Outdated
Comment thread samples/NoaaClientSample/README.md Outdated
Comment thread src/Directory.Build.props
Comment thread PackageLicenses.txt Outdated
Comment thread package.json Outdated
Comment thread global.json
Comment thread Directory.Build.props
Comment thread src/NoaaClient/Dscovr/DscovrClient.cs
Comment thread src/NoaaClient/KpIndex/KpIndexClient.cs
@Demosfen Demosfen merged commit dcd15f3 into main Feb 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants