radiens 5.0.0.dev1
provides python API to RADIENS analytics platform
License: MIT
Requires Python: >=3.10

# Installation 
Installed with
```bash
$ pip install radiens
``` 

For details on usage and API calls, see the [documentation](https://neuronexus.github.io)

# Changelog

All notable changes (for versions > `3.X.X`) to this project will be documented in this file.

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.0.0] - 2025-05-2

- compatibility with allego-3.10.12, videre-1.9.0, and curate-1.9.0

## [3.1.3] - 2025-04-2

- fix cable length parsing bug
- add cable delay spec to allego config

## [3.1.1-2] - 2025-03-27

- add sig_type and ntv_idxs kwargs to SignalsClient.get_signals()

## [3.1.0] - 2025-03-21

- error logging

## [3.0.9] - 2025-03-03

- export all public symbols from radiens.utils.contants and radiens.utils.enums

## [3.0.8] - 2025-02-27

- support linking open ephys binary format with VidereClient
- refactor VidereClient.link_data_file() to accept ftype flag

## [3.0.7] - 2025-02-27

- more session metadata improvements

## [3.0.6] - 2025-02-24

No changes from `3.0.6b10`. Promoted to stable release.

## [3.0.6b2-10] - 2025-02-24/5

### Fixed

- session metadata error handling
- device uuid parsing on windows
- update versions in requirements.txt and update python_requires to versions 3.10-3.12

## [3.0.6b1] - 2025-02-24

### Added

- deviceUUID added to interceptor metadata

## [3.0.5] - 2024-11-12

### Fixed

- fix import error 

## [3.0.4] - 2024-11-11

### Added

- make `time_range` optional for `VidereClient.spikes().get_spike_timestamps() and VidereClient.spikes().get_spike_waveforms()`
- cache file metadata on `VidereClient` 

## [3.0.3] - 2024-11-11

### Fixed

- `fileType` parsing bug in `link_data_file` method 

## [3.0.2] - 2024-07-12

### Fixed

- fix Typing errors
- remove various unused imports
- fix cable_lengths eval bug
- add missing package dependencies to requirements.txt

## [3.0.1] - 2024-07-11

### Fixed 

- fix bug where spike files weren't always loaded automatically when setting a continuous dataset

## [3.0.0] - 2024-05-03

This release marks the transition from beta to the stable release of version 3.0.0. All features and fixes introduced in the beta versions are now considered stable and work with the latest version of the [Radiens Analytics Suite](https://www.neuronexus.com/products/software/radiens/).

### Highlights

- `CurateClient.file_convert()` method for converting between supported file formats.
- introduction of the `units` attribute on the `PSD` class and the `SignalUnits` enum.
- significant API and documentation updates for improved usability and integration.

### Fixed

- various bug fixes and optimizations to enhance performance and reliability.

## [3.0.0b6] - 2024-04-22

### Added

- documentation updates

## [3.0.0b5] - 2024-03-27

### Added

- `CurateClient.file_convert()` method for converting between supported file formats

## [3.0.0b4] - 2024-03-12

### Added

- `units` attribute on `PSD` class that contains the units of the PSD (as a `string`) per `SignalType`
- `SignalUnits` enum to represent units of signal data

### Fixed

- `PSD` scaling now works as expected - only one scaling option is allowed at the moment (`power/Hz`)

## [3.0.0b3] - 2024-03-11

### Changed

- updated changelog to include all changes since `3.0.0b1`

## [3.0.0b2] - 2024-03-11

### Added

- new example scripts for spike getter functions

### Fixed

- `get_spike_waveforms()` now works as expected

### Changed

- no specifying `ntv_idxs` for spike getters. Always returns selected channels.

## [3.0.0b1] - 2024-03-04

### Added

- this changelog
- `save()` method on `PSD` class to save the PSD to a `.npz` file
- `load()` classmethod on `PSD` class to load a PSD from a file

### Fixed

- `get_psd()` `file` keyword argument now works as expected

### Changed

- updated max message receive size to have no limit. Should make obsolete the `Data too big. Try smaller chunks` exception.
- updated most methods to allow `time_range` to be a `TimeRange`, `list` or `np.array`.
- `time_range` is no longer required for most api calls. If not provided, the entire recording will be used.

## [3.0.0b0] - 2024-03-01

### Added

- Better error messages for various methods

### Fixed

- Api calls updated to work with Videre app 1.5.14-beta
  - `get_signals()`
  - `get_spikes_timestamps()`
  - `get_metrics()`
  - `get_psd()`

<!-- ## [x.x.x] - year-month-day

### Added

### Fixed

### Changed

### Removed -->