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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da1e0454f9529f411868c77783cb61a38527516d12d97bb00ba0ddf691c25d28
|
|
| MD5 |
34db184a7fb377a7cde6490d6dc41cf2
|
|
| BLAKE2b-256 |
81e66a470cb77d95b0fc7f7106f87349f30ff4dc04d26c10e44a884f88b9e2f0
|
File details
Details for the file northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 301.6 kB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
148e371ba5d462a2a62ed5ae3f5486a26cd644750b6ac4906265a07726008568
|
|
| MD5 |
5d8db68acd8aa78611cf2cb12149a797
|
|
| BLAKE2b-256 |
d12054b3711fb8d77618300b8167dd74c6e42334c1217365ce67e11182e3589e
|