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.