Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 28 additions & 2 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,11 @@
<!-- Add Flowthru ProjectReferences -->
<ProjectReference Include="$(RepoRoot)src\core\Flowthru\Flowthru.csproj" />

<!-- Add source generator references directly for local development -->
<ProjectReference Include="$(RepoRoot)src\core\Flowthru.SourceGenerators\Flowthru.SourceGenerators.csproj"
<!-- Add source generator and code fix references directly for local development -->
<ProjectReference Include="$(RepoRoot)src\core\Flowthru.Core.SourceGenerators\Flowthru.Core.SourceGenerators.csproj"
ReferenceOutputAssembly="false"
OutputItemType="Analyzer" />
<ProjectReference Include="$(RepoRoot)src\core\Flowthru.Core.CodeFixes\Flowthru.Core.CodeFixes.csproj"
ReferenceOutputAssembly="false"
OutputItemType="Analyzer" />

Expand All @@ -50,4 +53,27 @@
<ProjectReference Include="$(RepoRoot)src\core\Flowthru\Flowthru.csproj" />
</ItemGroup>

<!--
For projects that explicitly depend on Flowthru.FUnit (opt-in, not universal):
remove any PackageReference and wire up the source + analyzer projects directly.
FUnit generators emit code that imports Flowthru.FUnit types, so this injection
must NOT be applied globally — only for projects that already reference FUnit.
-->
<ItemGroup Condition="($(MSBuildProjectDirRelativePath.StartsWith('examples')) OR $(MSBuildProjectDirRelativePath.StartsWith('tests'))) AND '$(MSBuildProjectName)' != 'Flowthru.FUnit'">
<PackageReference Remove="Flowthru.FUnit" />
</ItemGroup>

<ItemGroup Condition="($(MSBuildProjectDirRelativePath.StartsWith('examples')) OR $(MSBuildProjectDirRelativePath.StartsWith('tests'))) AND Exists('$(RepoRoot)src\core\Flowthru.FUnit\Flowthru.FUnit.csproj') AND '$(MSBuildProjectName)' != 'Flowthru.FUnit'">
<!-- Replace PackageReference to Flowthru.FUnit with in-repo sources where applicable.
The Exists() on the PackageReference Remove above gates whether any replacement is needed. -->
<ProjectReference Include="$(RepoRoot)src\core\Flowthru.FUnit.SourceGenerators\Flowthru.FUnit.SourceGenerators.csproj"
ReferenceOutputAssembly="false"
OutputItemType="Analyzer"
Condition="'$(MSBuildProjectName)' == 'KedroIrisFUnit' OR $(MSBuildProjectDirRelativePath.Contains('FUnit'))" />
<ProjectReference Include="$(RepoRoot)src\core\Flowthru.FUnit.CodeFixes\Flowthru.FUnit.CodeFixes.csproj"
ReferenceOutputAssembly="false"
OutputItemType="Analyzer"
Condition="'$(MSBuildProjectName)' == 'KedroIrisFUnit' OR $(MSBuildProjectDirRelativePath.Contains('FUnit'))" />
</ItemGroup>

</Project>
9 changes: 8 additions & 1 deletion Flowthru.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
<Folder Name="/src/">
<Project Path="src\core\Flowthru\Flowthru.csproj" />
<Project Path="src\core\Flowthru.Core\Flowthru.Core.csproj" />
<Project Path="src\core\Flowthru.SourceGenerators\Flowthru.SourceGenerators.csproj" />
<Project Path="src\core\Flowthru.Core.SourceGenerators\Flowthru.Core.SourceGenerators.csproj" />
<Project Path="src\core\Flowthru.FUnit\Flowthru.FUnit.csproj" />
<Project Path="src\core\Flowthru.FUnit.SourceGenerators\Flowthru.FUnit.SourceGenerators.csproj" />
<Project Path="src\core\Flowthru.Core.CodeFixes\Flowthru.Core.CodeFixes.csproj" />
<Project Path="src\core\Flowthru.FUnit.CodeFixes\Flowthru.FUnit.CodeFixes.csproj" />
<Project Path="src\extensions\Flowthru.Extensions.Csv\Flowthru.Extensions.Csv.csproj" />
<Project Path="src\extensions\Flowthru.Extensions.Excel\Flowthru.Extensions.Excel.csproj" />
<Project Path="src\extensions\Flowthru.Extensions.EFCore\Flowthru.Extensions.EFCore.csproj" />
Expand All @@ -17,14 +21,17 @@
<Project Path="tests\Flowthru.Tests.Common\Flowthru.Tests.Common.csproj" />
<Project Path="tests\Flowthru.Tests.Examples\Flowthru.Tests.Examples.csproj" />
<Project Path="tests\Flowthru.Tests.Templates\Flowthru.Tests.Templates.csproj" />
<Project Path="tests\Flowthru.FUnit.Tests\Flowthru.FUnit.Tests.csproj" />
<Project Path="tests\Flowthru.Extensions.Python.Tests\Flowthru.Extensions.Python.Tests.csproj" />
<Project Path="tests\Flowthru.Extensions.EFCore.Tests\Flowthru.Extensions.EFCore.Tests.csproj" />
</Folder>
<Folder Name="/examples/">
<Project Path="examples\starter\SpaceflightsEFCore\SpaceflightsEFCore.csproj" />
<Project Path="examples\starter\KedroSpaceflights\KedroSpaceflights.csproj" />
<Project Path="examples\starter\KedroSpaceflightsFUnit\KedroSpaceflightsFUnit.csproj" />
<Project Path="examples\starter\KedroSpaceflightsPython\KedroSpaceflightsPython.csproj" />
<Project Path="examples\starter\KedroIris\KedroIris.csproj" />
<Project Path="examples\starter\KedroIrisFUnit\KedroIrisFUnit.csproj" />
<Project Path="examples\starter\KedroIrisPython\KedroIrisPython.csproj" />
<Project Path="examples\starter\Minimal\Minimal.csproj" />
<Project Path="examples\archived\UmapReferenceComparisons\UmapReferenceComparisons.csproj" />
Expand Down
2 changes: 2 additions & 0 deletions docs/reference/misc/external/bunit/.source.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SOURCE_TYPE=repo
SOURCE_ADDRESS=https://github.com/bUnit-dev/bUnit.git
2 changes: 2 additions & 0 deletions docs/reference/misc/external/roslyn/.source.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SOURCE_TYPE=repo
SOURCE_ADDRESS=https://github.com/dotnet/roslyn.git
2 changes: 1 addition & 1 deletion examples/advanced/KedroSpaceflights.Custom/Data/Catalog.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;

namespace KedroSpaceflights.Custom.Data;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._01_Raw.Schemas;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._01_Raw.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Flowthru.Abstractions;
using Flowthru.Data;
using Flowthru.Core.Abstractions;
using Flowthru.Core.Data;

namespace KedroSpaceflights.Custom.Data._01_Raw.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._01_Raw.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._01_Raw.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

namespace KedroSpaceflights.Custom.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Flows.DataScience.Steps;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Flowthru.Abstractions;
using Flowthru.Data;
using Flowthru.Core.Abstractions;
using Flowthru.Core.Data;

namespace KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._04_Models.Schemas;

namespace KedroSpaceflights.Custom.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;

namespace KedroSpaceflights.Custom.Data._04_Models.Schemas;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._05_ModelOutput.Schemas;

namespace KedroSpaceflights.Custom.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._05_ModelOutput.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._05_ModelOutput.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Data;
using Flowthru.Core.Data;
using KedroSpaceflights.Custom.Data._06_Reporting.Schemas;
using Plotly.NET;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Abstractions;
using Flowthru.Core.Abstractions;

namespace KedroSpaceflights.Custom.Data._06_Reporting.Schemas;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Flowthru.Flows;
using Flowthru.Steps;
using Flowthru.Core.Flows;
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using Flowthru.Core.Steps;

namespace KedroSpaceflights.Custom.Flows.DataDiagnostics.Steps;

/// <summary>
Expand All @@ -8,6 +10,7 @@ namespace KedroSpaceflights.Custom.Flows.DataDiagnostics.Steps;
/// This is a diagnostic node that simply passes data through while writing
/// it to a CSV catalog entry. Useful for debugging pipeline data issues.
/// </remarks>
[FlowthruStep]
public static class PassthroughInputToOutputStep<T>
{
public static Func<IEnumerable<T>, Task<IEnumerable<T>>> Create()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System.Reflection;
using Flowthru.Steps;
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._01_Raw.Schemas;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand All @@ -20,6 +20,7 @@ namespace KedroSpaceflights.Custom.Flows.DataDiagnostics.Steps;
/// but logs detailed comparison results for diagnostic purposes.
/// </para>
/// </remarks>
[FlowthruStep]
public static class ValidateAgainstKedroStep
{
public static Func<
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Flowthru.Flows;
using Flowthru.Steps;
using Flowthru.Core.Flows;
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Data._04_Models.Schemas;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using System.ComponentModel.DataAnnotations;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Data._06_Reporting.Schemas;
Expand All @@ -10,6 +11,7 @@ namespace KedroSpaceflights.Custom.Flows.DataEvaluation.Steps;
/// Performs k-fold cross-validation to generate R² distribution.
/// Helps understand model stability and variance across different train/test splits.
/// </summary>
[FlowthruStep]
public static class CrossValidateModelStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Data._04_Models.Schemas;
using KedroSpaceflights.Custom.Data._05_ModelOutput.Schemas;
Expand All @@ -11,6 +12,7 @@ namespace KedroSpaceflights.Custom.Flows.DataEvaluation.Steps;
/// Evaluates the trained OLS regression model on test data and logs metrics.
/// Uses Math.NET Numerics GoodnessOfFit.RSquared() matching sklearn's r2_score.
/// </summary>
[FlowthruStep]
public static class EvaluateModelStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Flows;
using Flowthru.Core.Flows;
using KedroSpaceflights.Custom.Data;
using KedroSpaceflights.Custom.Flows.DataProcessing.Steps;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;

Expand All @@ -8,6 +9,7 @@ namespace KedroSpaceflights.Custom.Flows.DataProcessing.Steps;
/// Performs inner joins on validated, non-nullable data.
/// All null filtering is handled upstream in preprocessing nodes.
/// </summary>
[FlowthruStep]
public static class CreateModelInputTableStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._01_Raw.Schemas;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand All @@ -7,6 +8,7 @@ namespace KedroSpaceflights.Custom.Flows.DataProcessing.Steps;
/// Preprocesses raw company data by converting string values to proper types.
/// Converts percentage strings to decimals and "t"/"f" to booleans.
/// </summary>
[FlowthruStep]
public static class PreprocessCompaniesStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._01_Raw.Schemas;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand All @@ -7,6 +8,7 @@ namespace KedroSpaceflights.Custom.Flows.DataProcessing.Steps;
/// Preprocesses raw review data by converting string values to proper types and filtering out incomplete records.
/// Converts string scores to decimals and drops rows with missing required fields.
/// </summary>
[FlowthruStep]
public static class PreprocessReviewsStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._01_Raw.Schemas;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;

Expand All @@ -7,6 +8,7 @@ namespace KedroSpaceflights.Custom.Flows.DataProcessing.Steps;
/// Preprocesses raw shuttle data by converting string values to proper types.
/// Converts price strings ($1,234,567) to decimals and "t"/"f" to booleans.
/// </summary>
[FlowthruStep]
public static class PreprocessShuttlesStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flowthru.Flows;
using Flowthru.Core.Flows;
using KedroSpaceflights.Custom.Data;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Flows.DataEvaluation.Steps;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;

namespace KedroSpaceflights.Custom.Flows.DataScience.Steps;
Expand All @@ -6,6 +7,7 @@ namespace KedroSpaceflights.Custom.Flows.DataScience.Steps;
/// Splits model input data into training and testing sets.
/// Extracts features and target variable (price) for ML training.
/// </summary>
[FlowthruStep]
public static class CreateTestTrainSplitStep
{
// Following FlowThru's artifact colocation policy:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Flowthru.Abstractions;
using Flowthru.Core.Steps;
using Flowthru.Core.Abstractions;
using KedroSpaceflights.Custom.Data._03_Primary.Schemas;
using KedroSpaceflights.Custom.Data._04_Models.Schemas;
using MathNet.Numerics;
Expand All @@ -12,6 +13,7 @@ namespace KedroSpaceflights.Custom.Flows.DataScience.Steps;
/// Uses Math.NET Numerics MultipleRegression.QR() which matches sklearn's LinearRegression.
/// Takes training features (x_train) and targets (y_train) as separate inputs.
/// </summary>
[FlowthruStep]
public static class TrainModelStep
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using Flowthru.Flows;
using Flowthru.Steps;
using Flowthru.Core.Flows;
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data;
using KedroSpaceflights.Custom.Flows.Reporting.Steps;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using Flowthru.Core.Steps;
using KedroSpaceflights.Custom.Data._02_Intermediate.Schemas;
using Microsoft.Extensions.Logging;
using Plotly.NET;
Expand Down Expand Up @@ -28,6 +29,7 @@ namespace KedroSpaceflights.Custom.Flows.Reporting.Steps;
/// separation of concerns and reusable export pipelines.
/// </para>
/// </remarks>
[FlowthruStep]
public static class ComparePassengerCapacityStep
{
public static Func<IEnumerable<ShuttleSchema>, Task<GenericChart>> Create(ILogger? logger = null)
Expand Down
Loading
Loading