# 🌟 NorthStar: Blazingly Fast Data Processing 🚀
<center>
<img src="./assets/northstar-logo.png" height=300>
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! 😎
</center>
## 🌈 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:
```bash
pip install northstar-data
```
## 🚀 Quick Start
Here's a taste of what NorthStar can do:
```python
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:
```python
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](CONTRIBUTING.md) to get started.
## 📜 License
NorthStar is MIT licensed. See the [LICENSE](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! 🚀📊🦀
Raw data
{
"_id": null,
"home_page": "https://github.com/marpit19/NorthStar",
"name": "northstar-data",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Arpit Mohapatra",
"author_email": "arpit.mohapatra19@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/81/e6/6a470cb77d95b0fc7f7106f87349f30ff4dc04d26c10e44a884f88b9e2f0/northstar-data-0.1.1.tar.gz",
"platform": null,
"description": "# \ud83c\udf1f NorthStar: Blazingly Fast Data Processing \ud83d\ude80\n\n<center>\n<img src=\"./assets/northstar-logo.png\" height=300>\n\nNorthStar 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! \ud83d\ude0e\n\n</center>\n\n## \ud83c\udf08 Features\n\n- \ud83e\udd80 Rust-powered core for lightning-fast computations\n- \ud83d\udc0d Seamless Python integration\n- \ud83d\udcca Efficient DataFrame and Series operations\n- \ud83d\ude84 Optimized for speed and memory usage\n\n## \ud83d\udee0\ufe0f Installation\n\nGet started with NorthStar in seconds:\n\n```bash\npip install northstar-data\n```\n\n## \ud83d\ude80 Quick Start\n\nHere's a taste of what NorthStar can do:\n\n```python\nimport northstar as ns\n\n# Create a DataFrame\ndf = ns.PyDataFrame()\ndf.add_series(ns.PySeries(\"ages\", [25, 30, 22, 28, 33]))\ndf.add_series(ns.PySeries(\"names\", [\"Alice\", \"Bob\", \"Charlie\", \"David\", \"Eve\"]))\ndf.add_series(ns.PySeries(\"scores\", [88.5, 92.0, 79.5, 95.5, 87.0]))\n\n# Filter the data\nyoung_df = df.filter(\"ages\", lambda x: x < 25)\n\n# Select specific columns\nselected_df = df.select_columns([\"names\", \"scores\"])\n\n# Apply a function to a series\nboosted_scores = df.apply(\"scores\", lambda x: x * 1.1)\n```\n\n## \ud83c\udfce\ufe0f Performance\n\nNorthStar is designed for speed. Here's a quick comparison:\n\n```python\nimport northstar as ns\nimport time\n\ndata = list(range(1_000_000))\n\nstart_time = time.time()\nns_series = ns.PySeries(\"big_data\", data)\nns_sum = ns_series.sum()\nns_time = time.time() - start_time\n\nprint(f\"NorthStar time: {ns_time:.4f} seconds\")\n\nstart_time = time.time()\npy_sum = sum(data)\npy_time = time.time() - start_time\n\nprint(f\"Python time: {py_time:.4f} seconds\")\n\nspeedup = py_time / ns_time\nprint(f\"NorthStar is {speedup:.2f}x faster than pure Python!\")\n```\n\n## \ud83d\udee3\ufe0f Roadmap\n\nWe're just getting started! Here's what's coming:\n\n- [ ] Advanced grouping and aggregation operations\n- [ ] More statistical functions (median, mode, standard deviation)\n- [ ] DataFrame join operations\n- [ ] Enhanced data visualization capabilities\n- [ ] Even more performance optimizations\n\n## \ud83e\udd1d Contributing\n\nWe'd love your help to make NorthStar even more awesome! Check out our [Contributing Guide](CONTRIBUTING.md) to get started.\n\n## \ud83d\udcdc License\n\nNorthStar is MIT licensed. See the [LICENSE](LICENSE) file for details.\n\n## \ud83c\udf1f Star Us!\n\nIf 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.\n\nHappy data crunching! \ud83d\ude80\ud83d\udcca\ud83e\udd80\n",
"bugtrack_url": null,
"license": null,
"summary": "A blazingly fast data processing library implemented in Rust with Python bindings",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/marpit19/NorthStar"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d12054b3711fb8d77618300b8167dd74c6e42334c1217365ce67e11182e3589e",
"md5": "5d8db68acd8aa78611cf2cb12149a797",
"sha256": "148e371ba5d462a2a62ed5ae3f5486a26cd644750b6ac4906265a07726008568"
},
"downloads": -1,
"filename": "northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl",
"has_sig": false,
"md5_digest": "5d8db68acd8aa78611cf2cb12149a797",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 301585,
"upload_time": "2024-08-18T11:55:01",
"upload_time_iso_8601": "2024-08-18T11:55:01.654600Z",
"url": "https://files.pythonhosted.org/packages/d1/20/54b3711fb8d77618300b8167dd74c6e42334c1217365ce67e11182e3589e/northstar_data-0.1.1-cp311-cp311-macosx_14_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "81e66a470cb77d95b0fc7f7106f87349f30ff4dc04d26c10e44a884f88b9e2f0",
"md5": "34db184a7fb377a7cde6490d6dc41cf2",
"sha256": "da1e0454f9529f411868c77783cb61a38527516d12d97bb00ba0ddf691c25d28"
},
"downloads": -1,
"filename": "northstar-data-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "34db184a7fb377a7cde6490d6dc41cf2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 3482,
"upload_time": "2024-08-18T11:55:04",
"upload_time_iso_8601": "2024-08-18T11:55:04.114843Z",
"url": "https://files.pythonhosted.org/packages/81/e6/6a470cb77d95b0fc7f7106f87349f30ff4dc04d26c10e44a884f88b9e2f0/northstar-data-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-18 11:55:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "marpit19",
"github_project": "NorthStar",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "northstar-data"
}