Skip to main content

A fast math and neural network library for Python and C++

Project description

Build Status Documentation Status PyPI version fury.io PyPI license PyPI pyversions Downloads per month Discord

LibRapid -- a fast, general purpose math and neural network library for C++ and Python

How it Works

LibRapid is a fully templated header-only C++ library, which can be found at ./librapid/. The C++ library is then interfaced with Python using the amazing PyBind11 library, meaning very little performance is lost between the C++ and Python versions of the library.

LibRapid also aims to provide a consistent interface between the C++ and Python libraries, allowing you to use the library comprehensively in both language.

Additionally, the Python interface has been adjusted slightly from the C++ interface, providing a more "pythonic" feel, while not reducing the functionality in the slightest.

Installing LibRapid

To install LibRapid as a Python library, simply run pip install librapid in the command line. Hopefully, there will be precompiled wheels available for your operating system and python version, meaning you will not need a C++ compiler to install it (if this is not the case, a modern C++ compiler will be required)

To use the library for C++ use, a modern C++ compiler will definitely be required. To use the library simply add the directory of this file to your extra include paths, and include the library using #include<librapid/librapid.hpp>

Things to Note

  1. Parallel code -- If using LibRapid mulit-dimensional array with OpenMP, ensure that any parallel blocks define the necessary arrays as shared, otherwise the application will segfault, due to uninitialized arrays being used.

Documentation

Unfortunately, the documentation cannot currently be built by ReadTheDocs due to a bug in the version of Doxygen they are using. It would seem that the systems will be getting an upgrade in the near future, hopefully moving to a newer version of Doxygen, though this is still not certain.

If you would like to view the documentation, you will have to build it yourself. This is very simple once you have the correct software installed, most of which can be installed via pip.

pip install sphinx
pip install breathe
pip install exhale
pip install furo

You will also need to install a recent version of Doxygen, which you can find here

To build the documentation, open a command line window in the docs directory and run make html. You can then open the file docs/build/html/index.html in a web-browser to view the documentation.

Hopefully in the near future, the documentation will be available online, so you will not have to build it yourself...

Project details


Release history Release notifications | RSS feed

This version

0.0.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

librapid-0.0.9.tar.gz (32.4 kB view hashes)

Uploaded Source

Built Distributions

librapid-0.0.9-cp39-cp39-win_amd64.whl (116.3 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

librapid-0.0.9-cp39-cp39-win32.whl (106.7 kB view hashes)

Uploaded CPython 3.9 Windows x86

librapid-0.0.9-cp39-cp39-manylinux2010_x86_64.whl (253.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

librapid-0.0.9-cp39-cp39-manylinux2010_i686.whl (238.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

librapid-0.0.9-cp39-cp39-macosx_10_9_x86_64.whl (157.9 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

librapid-0.0.9-cp38-cp38-win_amd64.whl (119.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

librapid-0.0.9-cp38-cp38-win32.whl (106.7 kB view hashes)

Uploaded CPython 3.8 Windows x86

librapid-0.0.9-cp38-cp38-manylinux2010_x86_64.whl (253.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

librapid-0.0.9-cp38-cp38-manylinux2010_i686.whl (237.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

librapid-0.0.9-cp38-cp38-macosx_10_9_x86_64.whl (157.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

librapid-0.0.9-cp37-cp37m-win_amd64.whl (119.0 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

librapid-0.0.9-cp37-cp37m-win32.whl (106.6 kB view hashes)

Uploaded CPython 3.7m Windows x86

librapid-0.0.9-cp37-cp37m-manylinux2010_x86_64.whl (257.0 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

librapid-0.0.9-cp37-cp37m-manylinux2010_i686.whl (242.7 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

librapid-0.0.9-cp37-cp37m-macosx_10_9_x86_64.whl (154.4 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

librapid-0.0.9-cp36-cp36m-win_amd64.whl (119.0 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

librapid-0.0.9-cp36-cp36m-win32.whl (106.7 kB view hashes)

Uploaded CPython 3.6m Windows x86

librapid-0.0.9-cp36-cp36m-manylinux2010_x86_64.whl (257.2 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

librapid-0.0.9-cp36-cp36m-manylinux2010_i686.whl (242.7 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

librapid-0.0.9-cp36-cp36m-macosx_10_9_x86_64.whl (154.4 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page