DocsInstallation Instructions
Installation Instructions
Install a prebuilt package when you can. Compile the core only when you need a custom build or a language binding that is not on an index yet.
Precompiled libraries in package managers(Nuget, PYPI, etc)
Wheels, NuGet packages, and language indexes ship a precompiled core. Prefer these unless you are changing native code.
Python
Install from PyPI. The import is ability. Optional extras add plotting helpers.
python -m pip install abilityC#
C# uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
dotnet add package AbilityR
R uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
install.packages("ability")Java
Java uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
implementation 'dev.ability:ability:1.0.0'Matlab
Matlab uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
addpath('ability_matlab')Julia
Julia uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
using Pkg; Pkg.add("Ability")Typescript
Typescript uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
npm install abilityRust
Rust uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
cargo add abilitySwift
Swift uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
.package(url: "https://github.com/pareeknikhil/emg-ability", from: "1.0.0")Docker Image
Docker Image uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
docker pull ability/ability:latestCompilation of Core Module and C++ Binding
Clone the repo, then configure with CMake. The C++ binding builds with the core.
Windows
Windows uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
cmake -G Ninja -B build && cmake --build buildLinux
Linux uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
cmake -B build && cmake --build build -jMacOS
MacOS uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
cmake -B build && cmake --build buildAndroid
Use a prebuilt AAR when you can. Compile with the NDK only when you are changing native code for Android.
Installation instructions
Installation instructions uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Compilation using Android NDK
Compilation using Android NDK uses the same Ability session flow: construct with a device id, prepare, start, read a block, then stop. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -B build