Welcome to RMNpy’s documentation!

RMNpy is a Python library that provides high-level bindings for scientific computing with units and dataset management. It is built on top of the SITypes and RMNLib C libraries, using OCTypes as the underlying foundation for memory management and data structures.

Overview

RMNpy provides Python access to two specialized C libraries:

  • SITypes: Scientific units and physical constants with automatic unit conversion

  • RMNLib: Core Scientific Dataset Model (CSDM) file handling and multidimensional scientific data

The library uses OCTypes internally for memory management and data structures, but this is transparent to users.

Key Features (Planned)

  • Memory Management: Automatic memory management (transparent to users)

  • Unit Safety: Comprehensive unit checking and automatic conversions via SITypes

  • Scientific Data: CSDM format support for multidimensional scientific datasets

  • Pythonic Interface: Clean, intuitive API that follows Python conventions

  • Type Safety: Strong typing support with comprehensive error handling

Installation

RMNpy requires Python 3.8+ and can be installed from source:

git clone https://github.com/drpjkgrandinetti/RMNpy.git
cd RMNpy
conda env create -f environment-dev.yml
conda activate rmnpy-dev
make synclib  # Sync C libraries
pip install -e .

Note

RMNpy is currently in active development. This documentation describes the target interface as development progresses.

User Guide

API Reference

The RMNpy API is being developed to provide Python interfaces for scientific computing with units and datasets.

C Libraries

Note

Documentation for the underlying C libraries (OCTypes, SITypes, RMNLib) will be linked here as the integration is completed.

Project Information

Indices and tables