Skip to main content

A blazingly fast data processing library implemented in Rust with Python bindings

Project description

🌟 NorthStar: Blazingly Fast Data Processing 🚀

NorthStar is a high-performance data processing library implemented in Rust with Python bindings. It's designed to make your data science workflows faster and cooler! 😎

🌈 Features

  • 🦀 Rust-powered core for lightning-fast computations
  • 🐍 Seamless Python integration
  • 📊 Efficient DataFrame and Series operations
  • 🚄 Optimized for speed and memory usage

🛠️ Installation

Get started with NorthStar in seconds:

pip install northstar-data

🚀 Quick Start

Here's a taste of what NorthStar can do:

import northstar as ns

# Create a DataFrame
df = ns.PyDataFrame()
df.add_series(ns.PySeries("ages", [25, 30, 22, 28, 33]))
df.add_series(ns.PySeries("names", ["Alice", "Bob", "Charlie", "David", "Eve"]))
df.add_series(ns.PySeries("scores", [88.5, 92.0, 79.5, 95.5, 87.0]))

# Filter the data
young_df = df.filter("ages", lambda x: x < 25)

# Select specific columns
selected_df = df.select_columns(["names", "scores"])

# Apply a function to a series
boosted_scores = df.apply("scores", lambda x: x * 1.1)

🏎️ Performance

NorthStar is designed for speed. Here's a quick comparison:

import northstar as ns
import time

data = list(range(1_000_000))

start_time = time.time()
ns_series = ns.PySeries("big_data", data)
ns_sum = ns_series.sum()
ns_time = time.time() - start_time

print(f"NorthStar time: {ns_time:.4f} seconds")

start_time = time.time()
py_sum = sum(data)
py_time = time.time() - start_time

print(f"Python time: {py_time:.4f} seconds")

speedup = py_time / ns_time
print(f"NorthStar is {speedup:.2f}x faster than pure Python!")

🛣️ Roadmap

We're just getting started! Here's what's coming:

  • Advanced grouping and aggregation operations
  • More statistical functions (median, mode, standard deviation)
  • DataFrame join operations
  • Enhanced data visualization capabilities
  • Even more performance optimizations

🤝 Contributing

We'd love your help to make NorthStar even more awesome! Check out our Contributing Guide to get started.

📜 License

NorthStar is MIT licensed. See the LICENSE file for details.

🌟 Star Us!

If you find NorthStar helpful, give us a star on GitHub! It helps us know we're on the right track and encourages us to keep improving.

Happy data crunching! 🚀📊🦀

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

northstar-data-0.1.1.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

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

northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl (301.6 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

File details

Details for the file northstar-data-0.1.1.tar.gz.

File metadata

  • Download URL: northstar-data-0.1.1.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for northstar-data-0.1.1.tar.gz
Algorithm Hash digest
SHA256 da1e0454f9529f411868c77783cb61a38527516d12d97bb00ba0ddf691c25d28
MD5 34db184a7fb377a7cde6490d6dc41cf2
BLAKE2b-256 81e66a470cb77d95b0fc7f7106f87349f30ff4dc04d26c10e44a884f88b9e2f0

See more details on using hashes here.

File details

Details for the file northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 148e371ba5d462a2a62ed5ae3f5486a26cd644750b6ac4906265a07726008568
MD5 5d8db68acd8aa78611cf2cb12149a797
BLAKE2b-256 d12054b3711fb8d77618300b8167dd74c6e42334c1217365ce67e11182e3589e

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