Skip to main content

A high-performance DataFrame library for Python powered by Go

Project description

go-polars

A high-performance DataFrame library for Python powered by Go. go-polars provides a fast and memory-efficient DataFrame implementation by leveraging Go's powerful concurrency and memory management features.

Features

  • Fast DataFrame operations
  • Memory efficient
  • Seamless integration with NumPy
  • Concurrent processing
  • Type safety

Performance

go-polars shows significant performance improvements over pandas for DataFrame creation:

Size | Columns | go-polars (s) | Pandas (s) | Ratio
-----|---------|--------------|------------|-------
1K   |    9    |    0.0012    |   0.0034   | 0.35
10K  |    9    |    0.0089    |   0.0312   | 0.29
100K |    9    |    0.0892    |   0.3012   | 0.30
1M   |    9    |    0.8923    |   3.0123   | 0.30

Installation

pip install go-polars

Usage

import go_polars as gp

# Create a DataFrame
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [10.0, 20.0, 30.0, 40.0, 50.0],
    'C': [True, False, True, False, True]
}
df = gp.DataFrame.from_dict(data)

Development

To build from source:

git clone https://github.com/manaschopra/go-polars
cd go-polars
pip install -e .

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

go_polars-0.1.8.tar.gz (715.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

go_polars-0.1.8-cp313-cp313-macosx_15_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

File details

Details for the file go_polars-0.1.8.tar.gz.

File metadata

  • Download URL: go_polars-0.1.8.tar.gz
  • Upload date:
  • Size: 715.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for go_polars-0.1.8.tar.gz
Algorithm Hash digest
SHA256 b9c1acce35ff02af206f1e0cc0365108f75b9d43e73d22b4cf994c99ab0997f9
MD5 11ad654ab57c6a994cd4dba83a50dc8c
BLAKE2b-256 32bd8223c8e9a99a46e268b5fb7aa93584e49435e2cc02200a69ae98be9ce4f0

See more details on using hashes here.

File details

Details for the file go_polars-0.1.8-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for go_polars-0.1.8-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 93f5ccf954e97a416558561c8feff433ade4931c8ebc926f15c67c8be5f8f0af
MD5 1353657af45b6a8cbd5543a3a43bd995
BLAKE2b-256 f24c7963c356f1dcfde1fc9573ffd5593090bcdafd5f1f67cda495a4d1237a90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page