Metadata-Version: 2.4
Name: pyomnix
Version: 0.2
Summary: Integrated Tools for Scientific Computing, Data Analysis, and AI Development
Author-email: Dongkai <dongkai001@e.ntu.edu.sg>
License-Expression: MIT
Project-URL: Homepage, https://github.com/panasee/PyOmnix
Project-URL: Repository, https://github.com/panasee/PyOmnix.git
Keywords: data-analysis,scientific-computing,ai,machine-learning,visualization
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pillow
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: matplotlib
Requires-Dist: waitress
Requires-Dist: plotly>=6.4.0
Requires-Dist: kaleido>=1.2.0
Requires-Dist: jupyter
Requires-Dist: anywidget
Requires-Dist: dash
Requires-Dist: rich
Requires-Dist: prefect>=3.2.9
Requires-Dist: langchain>=1.2.0
Requires-Dist: langgraph>=1.0.0
Requires-Dist: langchain-deepseek
Requires-Dist: langchain-huggingface
Requires-Dist: langchain-openai
Requires-Dist: langchain-anthropic
Requires-Dist: langchain-google-genai
Requires-Dist: langchain-google-vertexai
Requires-Dist: langchain-google-community
Requires-Dist: langchain-community
Requires-Dist: pydantic>=2.10.6
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: questionary
Requires-Dist: fsspec>=2024.0.0
Requires-Dist: google-api-python-client
Requires-Dist: google-auth-httplib2
Requires-Dist: google-auth-oauthlib
Requires-Dist: pydata_google_auth
Requires-Dist: langgraph-checkpoint-postgres>=2.0.0
Requires-Dist: langgraph-checkpoint-sqlite>=3.0.0
Requires-Dist: psycopg[binary,pool]>=3.1.0
Provides-Extra: gui
Requires-Dist: PyQt6>=6.7.0; extra == "gui"
Requires-Dist: PyQt6-WebEngine>=6.7.0; extra == "gui"
Provides-Extra: web
Requires-Dist: reflex>=0.6.0; extra == "web"
Provides-Extra: dev
Requires-Dist: ruff>=0.10.0; extra == "dev"
Requires-Dist: mypy>=1.15.0; extra == "dev"
Requires-Dist: black>=25.1.0; extra == "dev"
Requires-Dist: isort>=6.0.1; extra == "dev"
Requires-Dist: pre-commit>=4.2.0; extra == "dev"
Dynamic: license-file

# PyOmnix

[![Python Version](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)

PyOmnix is a Python toolkit for scientific data workflows, plotting, and AI-oriented utilities.
It is built as a modular library so you can use only the components you need.

## Overview

PyOmnix currently provides:

- Data processing helpers for experimental/scientific tabular data.
- Plotting utilities built around Matplotlib and Plotly.
- GUI tools for fast data inspection and manipulation.
- Agent-related modules for model/tool orchestration.
- Logging, environment, file, and math utility helpers.

## Installation

### Base

```bash
pip install pyomnix
```

### Optional extras

```bash
# GUI support (PyQt6 + WebEngine)
pip install "pyomnix[gui]"

# Web-related tools
pip install "pyomnix[web]"

# Development toolchain
pip install -e ".[dev]"
```

## Quick Start

### Logging

```python
from pyomnix import setup_logger, get_logger

setup_logger()
logger = get_logger(__name__)
logger.info("PyOmnix is ready.")
```

### Data Manipulator

```python
from pyomnix.data_process import DataManipulator

dm = DataManipulator(1)
# Example:
# dm.load_dfs(loc=0, data_in="data.csv")
# dfs = dm.get_datas(loc=0)
```

## CLI Entry Points

After installation, these commands are available:

- `gui_pan_color`: Launch the color palette selector.
- `gui_easy_data`: Launch the PyQt-based data GUI.

## Project Structure

- `src/pyomnix/data_process/`: data loading, splitting, plotting, GUI tools.
- `src/pyomnix/utils/`: reusable data/math/plot/environment/file utilities.
- `src/pyomnix/agents/`: graph, node, tool, prompt, storage, and settings modules.
- `src/pyomnix/omnix_logger.py`: logging framework used across the project.
- `src/pyomnix/pltconfig/`: plotting and color configuration assets.

## Development

```bash
# Lint
ruff check .

# Format (if you use black in your workflow)
black .

# Run tests
pytest
```

## Requirements

- Python `>=3.12`

See `pyproject.toml` for the complete dependency list.

## License

This project is licensed under the MIT License. See `LICENSE` for details.
