Are we ndarray yet?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Documentation
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- rust
- Domain
- documentation
Research direction
Start with the checklist in issue #597 and review each linked ndarray issue to determine whether it remains open and immediately actionable. Compare the listed categories and statuses with the referenced issues and pull requests; done means the tracker accurately reflects current work and provides useful starting points for contributors.
Written by the indexing model from the issue text.
Description
Purpose
The idea behind this collection is to provide an index to easily navigate all currently open ndarray's issues which are immediately actionable.
This is meant to be a good starting point for new contributors (e.g. what should I work on?) and it can also help existing contributors to identify trends and hot areas. I have pinned it using GitHub's new feature, so that it doesn't get lost (and stale).
Given that we have ~100 open issues (and more are opened every day), you are very welcome contributing to this taxonomy effort either commenting on this issue or editing it directly (if you have permissions to do so).
I am only adding to this tracker things I can easily understand/where enough context is provided in the issue - if I left something along the way, feel free to add it and to provide more info on it.
New functionality
Documentation
- Guidelines on how to use
ndarray's types in a public API (Similar toVec<T>vs&[T]considerations)
Feature parity
- Equivalent of numpy.where or numpy.nonzero (Issue: https://github.com/rust-ndarray/ndarray/issues/466)
- Kronecker product (or tensor product) (Reference:
np.kron) (Issue: https://github.com/rust-ndarray/ndarray/issues/652)(Ongoing PR: #690) - Scalar versions of standard deviation and variance (Issue: https://github.com/rust-ndarray/ndarray/issues/655)
- Add dstack, vstack, and hstack (Issue: https://github.com/rust-ndarray/ndarray/issues/667)
- Sorting (Issue: https://github.com/rust-ndarray/ndarray/issues/195)
Interop / Finer-grained control
-
Implement ascontiguousarray() or contiguous() method (Issue: https://github.com/rust-ndarray/ndarray/issues/532) - Add
shrink_to_fitmethod (Issue: https://github.com/rust-ndarray/ndarray/issues/427)
Ergonomics
- Implement
multislice_axis!macro (Issue: https://github.com/rust-ndarray/ndarray/issues/593) -
New constructor method for 2D arrays from an iterator of 1D arrays/vectors (Issue: https://github.com/rust-ndarray/ndarray/issues/539)(https://github.com/rust-ndarray/ndarray/issues/609) -
ArrawViewas custom Dynamically Sized Type (Issue: https://github.com/rust-ndarray/ndarray/issues/538) - Use
#[track_caller]to improve panic info #972
Quality of life
- Implement proptest's
Arbitrarytrait forArray(Issue: https://github.com/rust-ndarray/ndarray/issues/596) - Add new type aliases:
ArcArray1andArcArray2(Issue: https://github.com/rust-ndarray/ndarray/issues/661) -
Runrustfmton the project and add it to the CI pipeline (PR: https://github.com/rust-ndarray/ndarray/pull/608) -
Runclippyon the project and take care of the linter warnings (PR: https://github.com/rust-ndarray/ndarray/pull/642)
Other
- Add in-place variants of dimension-changing operations for dynamic-dimensional arrays (Issue: https://github.com/rust-ndarray/ndarray/issues/428)
- Support
Cloneelements instackandselect(Issue: #269)
Improvements
Documentation
- Add a new example to
ndarray-examples - Provide more details on
AxisNewType pattern rationale (Issue: https://github.com/rust-ndarray/ndarray/issues/564) - Document ndarray's equivalent to NumPy's
astype(Issues: https://github.com/rust-ndarray/ndarray/issues/493 , https://github.com/rust-ndarray/ndarray/issues/525) - Improve doc examples for
Zip/azipwith failing examples (Issue: https://github.com/rust-ndarray/ndarray/issues/453)
Error messages / Debugging
- Better messages for incompatible shapes errors (Issue: https://github.com/rust-ndarray/ndarray/issues/449).
-
Better formatting withDebugfor arrays (Issue: https://github.com/rust-ndarray/ndarray/issues/398, PR: https://github.com/rust-ndarray/ndarray/pull/606)
Sharp API edges/corner cases
-
Avoid panicking for zero-length axis inmap_axis/map_axis_mut(Issue: https://github.com/rust-ndarray/ndarray/issues/579) - Refactor all dimension-related traits (Issues: https://github.com/rust-ndarray/ndarray/issues/519 https://github.com/rust-ndarray/ndarray/issues/367)
Core
-
ChangeArrayBase.ptrtoNonNulltype (Issue: https://github.com/rust-ndarray/ndarray/issues/434)(Ongoing PR: #683) - Provide more direct mutable access to shape, strides, and owned data (Issues: https://github.com/rust-ndarray/ndarray/issues/429 https://github.com/rust-ndarray/ndarray/issues/592)
Performance
- Have a look at
sum_3_azip(Issue: https://github.com/rust-ndarray/ndarray/issues/561) - Faster, arbitrary-order iterators (Issue: https://github.com/rust-ndarray/ndarray/issues/469)
- Co-broadcasting/two-sided broadcasting performance fixes #936
- Dominant language
- Rust
- Stars
- 4.3k
- Forks
- 391
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-ndarray/ndarray
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
rust-ndarray/ndarray#1612 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rust-ndarray/ndarray#1617 · 1 comment ·
-
bug good first issue
Difficulty 3/5 1-2 days Newbie friendliness 68/100
rust-ndarray/ndarray#1615 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rust-ndarray/ndarray#1610 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
rust-ndarray/ndarray#1609 ·
All issues in rust-ndarray/ndarray
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100