MoodleSdk 0.1.1
dotnet add package MoodleSdk --version 0.1.1
NuGet\Install-Package MoodleSdk -Version 0.1.1
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="MoodleSdk" Version="0.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MoodleSdk" Version="0.1.1" />
<PackageReference Include="MoodleSdk" />
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 MoodleSdk --version 0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MoodleSdk, 0.1.1"
#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 MoodleSdk@0.1.1
#: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=MoodleSdk&version=0.1.1
#tool nuget:?package=MoodleSdk&version=0.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Moodle SDK .NET
A modern, high-performance .NET 8.0 SDK for the Moodle Web Services API.
This library simplifies integrating Moodle with .NET applications by providing a strongly-typed, service-oriented client with native support for Dependency Injection and modern C# features.
Key Features
- 🚀 Modern .NET 8.0: Built for performance and modern cloud applications.
- 💉 Dependency Injection: First-class support for
IServiceCollection. - 🛡️ Strongly Typed: No more manual dictionary building; use models for Users, Courses, Groups, and more.
- 🎣 Extensible (Hooks): Intercept requests, log responses, or add custom validation with a native Hook system.
- 🧩 Custom Functions: Easily call any Moodle API function that isn't yet in the strongly-typed service.
- ⚠️ Specialized Exceptions: Moodle error codes are automatically mapped to granular exceptions like
MoodlePermissionException. - 🔄 Backward Compatible: Includes a compatibility façade for existing
Moodle.csusers.
Quick Start
1. Install via NuGet
dotnet add package MoodleSdk
2. Register Services
builder.Services.AddMoodleSdk(options => {
options.BaseUrl = "https://your-moodle.com";
options.DefaultToken = "your-token";
});
3. Use the Client
public class CourseApp(IMoodleClient moodle)
{
public async Task Run()
{
var result = await moodle.Courses.GetCoursesAsync();
if (result.IsSuccess)
{
foreach(var c in result.Data) Console.WriteLine(c.FullName);
}
}
}
Detailed Documentation
- Moodle Setup Guide: How to enable Web Services and get your API Token.
- Getting Started: Detailed guide for both DI and Non-DI applications.
- Advanced Features: Learn about the Hook system, Custom Functions, and Error Handling.
- Migration & Legacy Support: Information for users upgrading from older versions.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Authors
- Owoaanu
- Cyrus.Sushiant
- SmartClouds
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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 was computed. 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.
-
net8.0
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 |
|---|---|---|
| 0.1.1 | 126 | 1/21/2026 |