trading_sessions 0.1.3

A lightweight library in Rust for identifying and verifying trading sessions
Documentation
# Trading Sessions
> A Rust crate for identifying and verifying trading sessions based on Unix timestamps.

## Getting Started
> Add the following to your `Cargo.toml`:
> ```toml
> [dependencies]
> trading_sessions = "0.1.0"
> ```

## Features
> - [`IdentifyTradingSession`]./struct.IdentifyTradingSession.html: Determine the trading session from a Unix timestamp.
> - [`SessionVerification`]./struct.SessionVerification.html: Verify if a given session string matches the identified trading session.
> - [`SessionColumn`]./struct.SessionColumn.html: Add a "Session" column to a `LazyFrame` based on Unix timestamps.

## Examples

### IdentifyTradingSession
> ```
> use trading_sessions::IdentifyTradingSession;
> 
> let session_identifier = IdentifyTradingSession::new(1708574400);
> assert_eq!(session_identifier.identify_trading_session(), "Tokyo");
> ```

### SessionVerification
> ```
> use trading_sessions::SessionVerification;
> 
> let verifier = SessionVerification::new(1708574400, "Tokyo".to_string());
> assert!(verifier.verify());
> ```

### SessionColumn
> ```
> use polars::prelude::*;
> use trading_sessions::SessionColumn;
> 
> let df = df! {
>     "time" => [1708574400, 1708596000, 1708696800]
> }.unwrap();
> let lazy_frame = df.lazy();
> let mut session_column = SessionColumn::new(lazy_frame);
> session_column.apply_session_column();
> let result_df = session_column.lazyframe.collect().unwrap();
> assert_eq!(result_df.column("Session").unwrap().str_value(0).unwrap(), "Tokyo");
> ```

## Return Types
> Successful operations return a string representing the trading session or a boolean indicating the verification result.
> Errors are typically handled by the calling code and are dependent on the context in which these functions are used.

## Notes
> - The crate assumes all timestamps are in UTC.
> - Daylight Saving Time is not considered in the current version.