DeviantArtFs 0.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package DeviantArtFs --version 0.4.0                
NuGet\Install-Package DeviantArtFs -Version 0.4.0                
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="DeviantArtFs" Version="0.4.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DeviantArtFs --version 0.4.0                
#r "nuget: DeviantArtFs, 0.4.0"                
#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.
// Install DeviantArtFs as a Cake Addin
#addin nuget:?package=DeviantArtFs&version=0.4.0

// Install DeviantArtFs as a Cake Tool
#tool nuget:?package=DeviantArtFs&version=0.4.0                

DeviantArtFs

A .NET / F# library to interact with the DeviantArt / Sta.sh API. Uses FSharp.Data to parse JSON.

Currently unsupported features

  • The following groups of endpoints are not currently implemented:
    • Collections
    • Comments
    • Feed
    • Messages
    • Notes
  • The "expand" parameter (user.details, user.geo, etc) is not currently supported.
  • The "ext_preload" parameter (gallery/folders) is not currently supported.
  • The "mature_content" parameter is not currently supported.

Supported endpoints

Browse

  • GET /browse/categorytree
  • GET browse/dailydeviations
  • GET browse/hot
  • GET browse/morelikethis
  • GET browse/morelikethis/preview
  • GET browse/newest
  • GET browse/popular
  • GET browse/tags
  • GET browse/tags/search
  • GET browse/undiscovered
  • GET browse/user/journals

Data

  • GET /data/countries
  • GET /data/privacy
  • GET /data/submission
  • GET /data/tos

Deviation

  • GET /deviation/{deviationid}
  • GET /deviation/content
  • GET /deviation/download/{deviationid}
  • GET /deviation/embeddedcontent
  • GET /deviation/metadata
  • GET /deviation/whofaved
  • GET /gallery/gallery/{folderid}
  • GET /gallery/all
  • GET /gallery/folders
  • POST /gallery/folders/create
  • GET /gallery/folders/remove/{folderid}

Stash

  • GET /stash/{stackid}�
  • GET /stash/{stackid}/contents�
  • POST /stash/delete
  • GET /stash/delta�
  • GET /stash/item/{itemid}�
  • POST /stash/move/{stackid}
  • POST /stash/position/{stackid}
  • POST /stash/publish
  • GET /stash/publish/categorytree
  • GET /stash/publish/userdata
  • GET /stash/space
  • POST /stash/submit
  • POST /stash/update/{stackid}

� The DeviantArt.Stash.Marshal library provides the .NET-friendly StashItem and StackStack wrappers and a StashRoot object that can process delta entries.

User

  • GET /user/damntoken
  • GET /user/friends/{username}
  • GET /user/friends/search
  • GET /user/friends/unwatch/{username}
  • POST /user/friends/watch/{username}
  • GET /user/friends/watching/{username}
  • GET /user/profile/{username}
  • POST /user/profile/update
  • GET /user/statuses
  • GET /user/statuses/{statusid}
  • POST /user/statuses/post
  • GET /user/watchers/{username}
  • GET /user/whoami
  • POST /user/whois

Util

  • GET /placebo

Result objects

For requests that return relatively simple data, the resuult object will either be a standard .NET object (like IEnumerable<T>) or an F# record type. Some F# records defined in this library use option types (FSharpOption<T>); to make interop easier, these records also have functions that return the same result as a potentially null value.

Example (C#):

var result = await DeviantArtFs.Requests.Gallery.All.ExecuteAsync(token, new DeviantArtFs.Requests.Gallery.AllRequest());
Microsoft.FSharp.Core.FSharpOption<int> a = result.NextOffset;
int? b = result.GetNextOffset();

Example (F#):

let! result = new DeviantArtFs.Requests.Gallery.AllRequest() |> DeviantArtFs.Requests.Gallery.All.AsyncExecute token
let a: int option = result.NextOffset
let b: System.Nullable<int> = result.GetNextOffset()

More complex types (Deviation, Metadata, Status, Profile) have classes defined for them that provide a .NET-friendly wrapper around the original JsonProvider<...> object, including the use of null and Nullable<T>. The original JsonProvider<...> object is available via the "Original" property on these objects.

Authentication

See also: https://www.deviantart.com/developers/authentication

Both Authorization Code (recommended) and Implicit grant types are supported. If you are writing a Windows desktop application, you can use the forms in the DeviantArtFs.WinForms package to get a code or token from the user.

The DeviantArtAuth class provides methods to support the Authorization Code grant type (getting tokens from an authorization code and refreshing tokens).

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DeviantArtFs:

Package Downloads
DeviantArtFs.Stash.Marshal

An F#/.NET library to interact with the Sta.sh API and manage state (.NET Standard 2.0)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
11.0.0 80 10/28/2024
11.0.0-beta2 66 10/28/2024
10.1.0-beta2 89 10/20/2024
10.1.0-beta1 73 9/21/2024
10.0.0 122 8/8/2024
10.0.0-rc1 95 8/8/2024
9.2.1-rc1 79 8/7/2024
9.2.0 108 6/19/2024
9.2.0-beta1 94 6/19/2024
9.1.1 120 4/27/2024
9.1.0-rc1 210 11/27/2023
9.0.0 271 11/22/2023
9.0.0-beta4 142 5/30/2023
9.0.0-beta2 108 5/28/2023
8.0.0 463 5/30/2021
8.0.0-beta4 280 5/30/2021
8.0.0-beta3 334 5/30/2021
8.0.0-beta2 235 5/30/2021
7.0.1 402 1/11/2021
7.0.0 381 1/9/2021
7.0.0-beta1 293 1/9/2021
6.0.2 366 1/5/2021
6.0.1 432 12/28/2020
6.0.0 343 12/27/2020
6.0.0-beta2 328 12/26/2020
6.0.0-beta1 320 12/26/2020
5.0.0 517 2/11/2020
5.0.0-beta1 435 2/11/2020
4.0.0 503 1/23/2020
4.0.0-beta2 450 1/23/2020
4.0.0-beta1 459 1/22/2020
3.0.0 552 1/17/2020
2.2.0 555 1/6/2020
2.1.0 531 9/9/2019
2.0.0-beta3 504 3/9/2019
2.0.0-beta2 483 3/8/2019
2.0.0-beta1 478 3/6/2019
1.1.0-beta1 473 3/5/2019
1.0.0 700 2/10/2019
0.9.0 1,349 1/29/2019
0.8.0 692 1/28/2019
0.7.3 714 1/22/2019
0.7.2 693 1/22/2019
0.7.1 1,356 1/19/2019
0.7.0 728 1/18/2019
0.6.0 1,388 1/14/2019
0.5.0 1,358 1/11/2019
0.4.0 1,380 1/3/2019
0.3.0 1,383 12/31/2018
0.2.0-alpha 1,182 12/27/2018
0.1.0-alpha 618 12/21/2018

0.4.0: Added .NET-friendly wrapper objects and Browse endpoints. (Collections, Comments, Feeds, Messages, and Notes are still unimplemented.)