CSharpToJsonSchema 0.0.0-dev.1

CSharpToJsonSchema

Nuget package dotnet License: MIT Discord

Features 🔥

  • Source generator to define functions natively through C# interfaces
  • Doesn't use Reflection
  • All modern .NET features - nullability, trimming, NativeAOT, etc.
  • Tested for compatibility with OpenAI/Ollama/Anthropic/LangChain/Gemini

Usage

using CSharpToJsonSchema;

public enum Unit
{
    Celsius,
    Fahrenheit,
}

public class Weather
{
    public string Location { get; set; } = string.Empty;
    public double Temperature { get; set; }
    public Unit Unit { get; set; }
    public string Description { get; set; } = string.Empty;
}

[OpenAiTools(Strict = true)] // false by default. You can't use parameters with default values in Strict mode.
public interface IWeatherFunctions
{
    [Description("Get the current weather in a given location")]
    public Task<Weather> GetCurrentWeatherAsync(
        [Description("The city and state, e.g. San Francisco, CA")] string location,
        Unit unit,
        CancellationToken cancellationToken = default);
}

public class WeatherService : IWeatherFunctions
{
    public Task<Weather> GetCurrentWeatherAsync(string location, Unit unit = Unit.Celsius, CancellationToken cancellationToken = default)
    {
        return Task.FromResult(new Weather
        {
            Location = location,
            Temperature = 22.0,
            Unit = unit,
            Description = "Sunny",
        });
    }
}

var tools = service.AsTools();

Support

Priority place for bugs: https://github.com/tryAGI/CSharpToJsonSchema/issues
Priority place for ideas and general questions: https://github.com/tryAGI/CSharpToJsonSchema/discussions
Discord: https://discord.gg/Ca2xhfBf3v

Acknowledgments

JetBrains logo

This project is supported by JetBrains through the Open Source Support Program.

CodeRabbit logo

This project is supported by CodeRabbit through the Open Source Support Program.

Showing the top 20 packages that depend on CSharpToJsonSchema.

Packages Downloads
Anthropic
Generated C# SDK based on official Anthropic OpenAPI specification.
3

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
3.10.2-dev.106 2 03/21/2026
3.10.2-dev.105 2 03/21/2026
3.10.2-dev.104 2 03/21/2026
3.10.2-dev.103 3 03/21/2026
3.10.2-dev.102 2 03/21/2026
3.10.2-dev.101 2 03/21/2026
3.10.2-dev.100 2 03/21/2026
3.10.2-dev.99 2 03/21/2026
3.10.2-dev.97 2 03/21/2026
3.10.2-dev.96 2 03/21/2026
3.10.2-dev.90 2 03/19/2026
3.10.2-dev.89 2 03/19/2026
3.10.2-dev.88 2 03/19/2026
3.10.2-dev.85 2 03/17/2026
3.10.2-dev.84 2 03/17/2026
3.10.2-dev.83 2 03/17/2026
3.10.2-dev.82 2 03/17/2026
3.10.2-dev.80 2 03/17/2026
3.10.2-dev.69 2 03/06/2026
3.10.2-dev.39 2 03/06/2026
3.10.2-dev.34 2 03/06/2026
3.10.2-dev.32 2 03/06/2026
3.10.2-dev.31 2 03/06/2026
3.10.2-dev.29 2 03/06/2026
3.10.2-dev.28 2 03/06/2026
3.10.2-dev.26 2 03/06/2026
3.10.2-dev.25 2 03/06/2026
3.10.2-dev.22 2 03/06/2026
3.10.2-dev.21 2 03/06/2026
3.10.2-dev.18 2 03/06/2026
3.10.2-dev.16 2 03/06/2026
3.10.1 2 03/06/2026
3.9.2-dev.3 2 03/06/2026
3.9.2-dev.2 2 03/06/2026
3.9.1 2 03/06/2026
3.9.0 2 03/06/2026
3.8.2-dev.13 2 03/06/2026
3.8.2-dev.10 2 03/06/2026
3.8.2-dev.9 2 03/06/2026
0.0.0-dev.1 2 03/06/2026