Introductory documentation

Open
#462 6 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Documentation
Clarity
Needs clarification
Activity status
Stale
Tech stack
rust
Domain
documentation

Research direction

Start by reviewing the existing reference documentation, the concerns in issues #160 and #327, and the ndarray for NumPy users guide cited in the issue. Done would be a separate high-level overview that explains ndarray's structure and design principles while gradually introducing the library to newcomers.

Written by the indexing model from the issue text.

Description

I was reasoning around this during the last few days while working on my PRs (and reading some issues like #160): it is really complicated to get a good overview of the way ndarray is structured solely relying on the reference documentation. It is even more complicated when the method you are looking at calls functions that are annotated with #[doc(hidden)] (it happens quite often in the core structs and traits implementations)

Without @jturner314's ndarray for NumPy users it would have taken me at least twice as long to reach my current level of understanding (which is still very partial). This echoes #327, for instance.

Would it be of interest to produce some kind of separate documentation, similar in spirit to http://nalgebra.org/ for nalgebra or http://scikit-learn.org/stable/ for scikit-learn?
A high-level overview of the overall crate, aimed at explaining the underlying design principles, gradually introducing a newcomer to the library.
I would be happy to work on it, at least to further my own understanding of ndarray.
What are your thoughts on the matter @bluss?

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rust-ndarray/ndarray

All issues in rust-ndarray/ndarray

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.