Metadata-Version: 2.4
Name: qutePandas
Version: 1.1.1
Summary: A pandas-like library for kdb+/q using pykx
Home-page: https://ishapatro.github.io/qutePandas/
Author: Isha Patro
Author-email: Isha Patro <ishapatro21@gmail.com>
Project-URL: Homepage, https://ishapatro.github.io/qutePandas/
Project-URL: Bug Tracker, https://github.com/ishapatro/qutePandas/issues
Project-URL: Documentation, https://ishapatro.github.io/qutePandas/
Keywords: kdb+,q,pandas,data analysis,timeseries,finance
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Database
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: pykx>=2.0.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: numpy>=1.20.0
Requires-Dist: pyarrow>=10.0.0
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# qutePandas

A pandas-like library for kdb+/q powered by [PyKX](https://github.com/KxSystems/pykx).

While Pandas is the gold standard for data manipulation in Python, it often struggles with memory overhead and execution speed when handling multi-gigabyte datasets or complex time-series operations. `qutePandas` addresses these limitations by offloading compute-intensive operations to the kdb+/q engine, leveraging its columnar architecture and high-performance vector processing. By providing a familiar pandas-like API, it allows Python engineers to achieve kdb+ speeds without leaving the Python ecosystem.

## Installation

```bash
pip install qutePandas
```

*Note: Requires a kdb+ license and the PyKX library.*

## Quick Start

```python
import qutePandas as qpd
import pandas as pd

# Convert a pandas DataFrame to a qutePandas table
df = pd.DataFrame({
    "time": pd.date_range("2023-01-01", periods=1000000, freq="ms"),
    "price": pd.Series(range(1000000))
})
q_table = qpd.DataFrame(df)

# Perform high-performance aggregation
# Computation happens in kdb+
res = qpd.apply(q_table, "sum", axis=0, return_type="p")
print(res)
```

## Documentation

Full documentation, including API reference and performance benchmarks, is available at:
[https://ishapatro.github.io/qutePandas/](https://ishapatro.github.io/qutePandas/)

## Author

Created by [Isha Patro](https://ishapatro.in)
