RepetierSharp 0.2.0
See the version list below for details.
dotnet add package RepetierSharp --version 0.2.0
NuGet\Install-Package RepetierSharp -Version 0.2.0
<PackageReference Include="RepetierSharp" Version="0.2.0" />
<PackageVersion Include="RepetierSharp" Version="0.2.0" />
<PackageReference Include="RepetierSharp" />
paket add RepetierSharp --version 0.2.0
#r "nuget: RepetierSharp, 0.2.0"
#addin nuget:?package=RepetierSharp&version=0.2.0
#tool nuget:?package=RepetierSharp&version=0.2.0
RepetierSharp - A simple, async, event driven Repetier Server client
Introduction
RepetierSharp is a simple, asynchronous, event-driven client designed to manage Repetier Servers. It seamlessly integrates both the WebSocket and REST APIs of Repetier Server software into a single streamlined library.
Disclaimer: This project is not affiliated with Repetier Server or Hot-World GmbH & Co. KG.
What is Repetier Server?
"Repetier-Server is the professional all-in-one solution to control and manage your 3d printers and to get the most out of it."
https://www.repetier-server.com/
Versioning
This library is fully compatible with RepetierServer version 1.4.x and maintains backward compatibility with earlier versions.
However, when using RepetierSharp with older versions, some events or commands may encounter issues due to undocumented changes in the Repetier Server API.
See the changelog for a more detailed overview off added/changed features.
Framework support
RepetierSharp version 0.2.0+ supports and .NET 8 and .NET 9.
Documentation
The wiki for the 0.2.0 version is still under construction. If you have any issues feel free to open an issue.
Contribution
If you have any issues or found bugs feel free to open an issue.
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 is compatible. 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. |
-
net8.0
- Microsoft.Extensions.Logging (>= 9.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.3)
- Microsoft.Extensions.Logging.Console (>= 9.0.3)
- RestSharp (>= 112.1.0)
- System.Text.Json (>= 9.0.3)
- Websocket.Client (>= 5.1.2)
-
net9.0
- Microsoft.Extensions.Logging (>= 9.0.3)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.3)
- Microsoft.Extensions.Logging.Console (>= 9.0.3)
- RestSharp (>= 112.1.0)
- System.Text.Json (>= 9.0.3)
- Websocket.Client (>= 5.1.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RepetierSharp:
Package | Downloads |
---|---|
RepetierMqtt
RepetierMqtt is a small and simple MQTT client which leverages the RepetierSharp client to forward information from the Repetier Server API to MQTT. It also provides the possibility to send commands via MQTT to the Repetier Server as well as upload and start gcode files. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.3.0 | 111 | 3/28/2025 |
0.2.2 | 117 | 3/27/2025 |
0.2.1 | 453 | 3/26/2025 |
0.2.0 | 464 | 3/25/2025 |
0.1.9.1 | 145 | 6/27/2024 |
0.1.8.1 | 254 | 6/15/2023 |
0.1.7.2 | 372 | 11/9/2022 |
0.1.7.1 | 351 | 11/9/2022 |
0.1.7 | 352 | 11/8/2022 |
0.1.6 | 354 | 11/8/2022 |
0.1.5 | 479 | 2/9/2022 |
0.1.4 | 455 | 2/8/2022 |
0.1.3 | 1,042 | 2/3/2022 |
0.1.2 | 473 | 2/3/2022 |
0.1.1 | 434 | 2/2/2022 |
0.1.0 | 455 | 2/2/2022 |
# [0.2.0] - 2025-03-25
## Added
* Add proper logging support for the RepetierConnection instead of using Console.WriteLine. You can supply your own logger when using the RepetierConnectionBuilder or use a default console logger.
* Add a whole array of new events which are triggered for the repetier server events and other client related events.
* Add more dedicated events and event handlers for print job related events
* Add a filter for events and commands (and their responses) for the RepetierConnectionBuilder. This filters events so they don't get fired in the first place.
* Add separate .snupkg for debugging symbols
## Changed
* Reimplemented the event system to be async. It is still possible to register event handlers for the events of a
repetier connection.
Credit to the authors of [MQTTnet](https://github.com/dotnet/MQTTnet) for the inspiration on how to implement this.
* All Http requests are now async. This mainly is relevant for the methods which upload gcode files or upload and start
gcode.
* ``ActivatePrinter`` and ``DeactivePrinter`` no longer select the active printer to send commands to. Instead, they work like the repetier server api describes them. Set the `SelectedPrinter` for this: `repetierCon.SelectedPrinter = "AwesomePrinterSlug"`. Alternatively you can select the printer when setting up the connection with the ``RepetierConnectionBuilder``.
* Streamlined the ``RepetierConnectionBuilder``. It's possible to supply a ``RestClient`` and/or
a ``WebsocketClient`` instance directly.
This gives more flexibility to the end user and makes it easier to set up a correct ``RepetierConnection``. Please refer
to the readme for code examples.
* Split commands into PrinterCommand and ServerCommand. PrinterCommands require a printer slug to address the proper printer.
* Extract HttpRequests (upload, getServerInfo, etc. ) into its own abstraction: `RemoteRepetierServer`
* Extract PrinterCommands (websocket commands) into its own abstraction: `RemoteRepetierPrinter`
* Reworked whole serialization and event and response handling.
* Updated System.Text.Json to 9.0.3
* Updated Microsoft.Extensions.* to 9.0.3
* Updated RestSharp to 112.1.0
* Rename the ``RepetierConnectionBuilder`` method ``WithCyclicCommand`` to ``ScheduleCommand``
* Rename ``GetRepetierServerInfoAsync`` to ``GetRepetierServerInfo``
* PingInterval is now called `KeepAlivePing`, is a TimeSpan and moved in ``RepetierSession``
* Move some properties from the `RepetierSession` to type ``RepetierAuthentication``. This includes only the info which needs to be supplied whenever a `loginRequired` event is fired. When supplied with the `RepetierConnectionBuilder` this is automatically used for authentication.
* Implement custom JsonSerializer for repetier server events to streamline to process of deserializing the events. It is possible to add custom event entries to a dictionary in the `RepetierEventConverter` alongside with a type which is used for deserialization.
* A **lot** of internal refactoring
## Removed
* Drop support for .net6.0
* SelectedPrinter property from RepetierConnection
* Various overloads and confusing methods for building a RepetierConnection instance when using the builder.
* Helper methods for the ``RepetierConnectionBuilder`` which could be used to schedule querying the printer state and printer list. That's now all covered by the `ScheduleCommand` method.
## Fixed
* Too many bugs to track