All Projects → rdotnet → Rdotnet

rdotnet / Rdotnet

Licence: mit
.NET interop library to call the R statistical language in the same process

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Rdotnet

linkedresearch.org
🌐 linkedresearch.org
Stars: ✭ 32 (-89.23%)
Mutual labels:  interoperability
bnbridge.exchange
https://bnbridge.exchange
Stars: ✭ 43 (-85.52%)
Mutual labels:  interoperability
elements
Lovingly crafted ui components based on web components. Works well with all Frameworks - including Angular, React and Vue.
Stars: ✭ 42 (-85.86%)
Mutual labels:  interoperability
Polkadex
An Orderbook-based Decentralized Exchange using the Substrate Blockchain Framework.
Stars: ✭ 223 (-24.92%)
Mutual labels:  interoperability
Objective-CPP
C++ compatibility library for Objective-C - Objective-CPP is a library intended to ease software development using Objective-C++. It declares categories on Objective-C classes, to work with the STL C++ types, such as std::string, std::vector, etc.
Stars: ✭ 37 (-87.54%)
Mutual labels:  interoperability
promise
Common interface for simple asynchronous placeholders.
Stars: ✭ 66 (-77.78%)
Mutual labels:  interoperability
rust-to-ios
Example project for building a library for iOS in Rust.
Stars: ✭ 66 (-77.78%)
Mutual labels:  interoperability
Sharpgentools
Accurate and high performance C++ interop code generator for C#.
Stars: ✭ 275 (-7.41%)
Mutual labels:  interoperability
NetteAdapterForSymfonyBundles
[DEPRECATED due to only 20 downloads per 2 years] Read an article about this idea
Stars: ✭ 15 (-94.95%)
Mutual labels:  interoperability
keep-core
The smart contracts and reference client behind the Keep network
Stars: ✭ 87 (-70.71%)
Mutual labels:  interoperability
speckle-unity
AEC Interoperability for Unity through Speckle
Stars: ✭ 28 (-90.57%)
Mutual labels:  interoperability
SEPA
Get notifications about changes in your SPARQL endpoint.
Stars: ✭ 21 (-92.93%)
Mutual labels:  interoperability
jni
V wrapper around the C Java Native Interface
Stars: ✭ 15 (-94.95%)
Mutual labels:  interoperability
force-bridge-eth
Decentralized, trustless bridge between Ethereum and Nervos.
Stars: ✭ 32 (-89.23%)
Mutual labels:  interoperability
syscoin
Syscoin is a crypto currency that is universally merge-mineable and offers a unique variety of services including decentralized identities, asset token issuance platform capabilities directly on the blockchain and trustless 0-counterparty interoptibility with the Ethereum blockchain
Stars: ✭ 152 (-48.82%)
Mutual labels:  interoperability
opendata
Finland national open data portal (avoindata.fi) source code.
Stars: ✭ 27 (-90.91%)
Mutual labels:  interoperability
hxtsdgen
TypeScript declaration file generator for Haxe JavaScript output target
Stars: ✭ 60 (-79.8%)
Mutual labels:  interoperability
Bitxhub
Interchain protocol 跨链协议
Stars: ✭ 286 (-3.7%)
Mutual labels:  interoperability
nxtp
Nxtp is a lightweight protocol for generalized crosschain transfers.
Stars: ✭ 129 (-56.57%)
Mutual labels:  interoperability
speckle-server
The Speckle Server, Frontend, 3D Viewer, & other JS utilities.
Stars: ✭ 224 (-24.58%)
Mutual labels:  interoperability

R.NET

windows master: Build status master windows testing: Build status testing Linux master: Linux master Build Status Nuget Version

R.NET is an in-process bridge for the .NET Framework to access the R statistical language. R.NET works on Windows, Linux and MacOS.

License

MIT

Software requirements

On Windows, R.NET requires .NET Framework > 4.6.1 or .NET Core 2.0, and an access to the native R libraries installed with the R environment. R needs not necessarily be installed as a software on the executing machine, so long as DLL files are accessible (you may need to tweak environment variables for the latter to work, though) On Linux and MacOS, Mono is required, as well as an access to the native R libraries.

Getting started

As of 2017-08

  • If you want the latest binary distribution of R.NET and you are already familiar with managing dependencies with NuGet, head to R.NET on NuGet
  • If you need a bit more documentation to get started, the prefered entry point is at http://rdotnet.github.io/rdotnet

Building from source

Compiler toolchain foreword

Due to the move to targetting netstandard2.0, you might encounter compiling issue if using an older toolchain. This is machine dependent (mostly, which visual studio versions and .NET targetting packs you have). You may want to adapt the instructions from the rClr packge to avoid some pitfalls.

As an example:

  • where msbuild returns C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe should be the first line. C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe is probably not a good option.
  • msbuild -version returns 16.0.461.62831 or more recent
  • where dotnet: C:\Program Files\dotnet\dotnet.exe
  • dotnet --version: 2.1.602 or more. Note that this version of the .net core SDK would prevent compilation from VS2017: VS2019 required.
  • nuget help: 4.9.4.5839

Compiling

If using dotnet version prior to 2.1.3, installing/restoring prerelease dependency packages is problematic. You may need to use

nuget install -Prerelease DynamicInterop -OutputDirectory packages

otherwise:

nuget restore RDotNet.Tests.sln
dotnet build --configuration Debug --no-restore RDotNet.Tests.sln
# or if any issue possibly try:
# msbuild RDotNet.Tests.sln /p:Platform="Any CPU" /p:Configuration=Debug /consoleloggerparameters:ErrorsOnly

Windows, if you have several versions side by side:

set DN="C:\Program Files (x86)\dotnet\dotnet.exe"
%DN% build --configuration Debug --no-restore RDotNet.Tests.sln

Unit tests

Unit tests can be run using:

dotnet test RDotNet.Tests/RDotNet.Tests.csproj

Normally you should get something like:

Total tests: 92. Passed: 84. Failed: 0. Skipped: 8.
Test Run Successful.
Test execution time: 5.2537 Seconds

However note that from time to time (or at the first dotnet test execution) tests may fail to start, for reasons as yet unknown:

Starting test execution, please wait...
The active test run was aborted. Reason:
Test Run Aborted.

It may be that all subsequent calls then work as expected.

dotnet test RDotNet.FSharp.Tests/RDotNet.FSharp.Tests.fsproj

Building the nuget package

This section is primarily a reminder to the package author.

set B_CONFIG=Release
:: Or for initial testing/debugging substitute Debug for Release
:: set B_CONFIG=Debug

%DN% build --configuration %B_CONFIG% --no-restore RDotNet.Tests.sln

%DN% build R.NET/RDotNet.csproj --configuration %B_CONFIG% --no-restore
%DN% build RDotNet.FSharp/RDotNet.FSharp.fsproj --configuration %B_CONFIG% --no-restore

%DN% pack R.NET/RDotNet.csproj --configuration %B_CONFIG% --no-build --no-restore --output nupkgs
%DN% pack RDotNet.FSharp/RDotNet.FSharp.fsproj --configuration %B_CONFIG% --no-build --no-restore --output nupkgs
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].