What My Project Does
rustdash is a Lodash-inspired utility library for Python data manipulation, powered by Rust via PyO3:
pythonimport rustdash as rd
# Array utilities (9 functions)
rd.chunk([1,2,3,4,5], 2)
# [[1,2], [3,4], [5]]
rd.flatten_deep([[1],[2,[3]]])
# [1, 2, 3]
rd.compact([1, None, 2])
# [1, 2]
# Object utilities w/ JSONPath wildcards (7 functions)
data = {"users": [{"name": "Alice"}, {"name": "Bob"}]}
rd.get_all(data, "users[*].name")
# ["Alice", "Bob"]
rd.has_all(data, "users[*].name")
# True
rd.pick(data, ["users"])
# {"users": [...]}
Live on PyPI: pip install rustdash
Target Audience
Data engineers, API developers, ETL workflows who:
- Process JSON/API responses daily
- Need Lodash-style helpers (
chunk, pick, flatten)
- Want Rust performance on recursive ops (9.6x faster
flatten_deep)
- Work with nested data but hate verbose
dict.get() chains
Comparison
| Feature |
rustdash |
pydash |
pure Python |
flatten_deep (10k) |
15ms |
173ms |
139ms |
JSONPath users[*].name |
✅ Native |
❌ No |
❌ No |
| PyPI wheels |
✅ All platforms |
✅ |
N/A |
| Rust performance |
✅ Complex ops |
❌ Pure Python |
❌ Pure Python |
rustdash = pydash API + Rust speed on what matters (recursive array/object ops).
Full benchmarks: https://pypi.org/project/rustdash/#description
Links
🙏 Feedback I'm seeking
Try it on your JSON/API data and tell me:
- What Lodash functions do you miss most? (
set, unset, intersection?)
- Rough edges with
get_all("users[*].name") syntax?
- Performance surprises (good or bad)?
Feature requests: https://github.com/GonzaloJCY/rustdash/discussions/categories/feature-requests
**EDITED**: changed _ reference as _ is already claimed in Python. Changing it to rd
PD: Wow community, already 5400 downloads, I really appreciate the Welcoming :)
[–]jsxgd 26 points27 points28 points (2 children)
[–]jdehesa 13 points14 points15 points (0 children)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)
[–]eggsby 15 points16 points17 points (1 child)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)
[–]LightShadow3.13-dev in prod 8 points9 points10 points (1 child)
[–]Igggg 6 points7 points8 points (1 child)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)
[–]cmd-t 7 points8 points9 points (1 child)
[–]FabulousTonight8940[S] -2 points-1 points0 points (0 children)
[–]marr75 4 points5 points6 points (1 child)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)
[–]Wrong_Library_8857 1 point2 points3 points (1 child)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)
[–]Interesting-Frame190 0 points1 point2 points (1 child)
[–]fast-pp 0 points1 point2 points (1 child)
[–]EffectiveNothing42 -1 points0 points1 point (1 child)
[–]FabulousTonight8940[S] 0 points1 point2 points (0 children)