Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: sphinx website with API reference #32

Merged
merged 18 commits into from
May 13, 2024
Merged

docs: sphinx website with API reference #32

merged 18 commits into from
May 13, 2024

Conversation

almutlue
Copy link
Contributor

@almutlue almutlue commented Apr 8, 2024

Aim: Setup of a basic documentation

PR elements:

  1. Sphinx-based documentation using the pydata theme
  2. Automatically generated cli and api docs
  3. Docs for background, tutorials, quickstart
  4. Landing page linking to all resources + new logo
  5. Github workflow to build docs
    ed
    Ops: description of htsget slicing and streaming is missing. To be added after Feat/cram stream #31 is merged

@almutlue almutlue self-assigned this Apr 8, 2024
@almutlue almutlue added the enhancement New feature or request label Apr 8, 2024
@cmdoret
Copy link
Member

cmdoret commented May 1, 2024

Note: the pytest CI job matrix was running python 3.9 and 3.10, but pyproject.toml restricts to python 3.10+. This caused the CI to run tests twice python 3.10 (logs), bumped ci versions in ae7e373.

cmdoret

This comment was marked as duplicate.

@cmdoret cmdoret self-requested a review May 1, 2024 11:55
Copy link
Member

@cmdoret cmdoret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs look beautiful! Incredible work 👏 :

General comments:

nitpick(non-blocking): just to keep the same convention as the docs/ folder and docs commit label, we could use docs instead of doc for the makefile rule and the poetry dependency group. (would also need to be updated in the sphinx ci job)

comment(non-blocking) on some pages (e.g. cli), the navigation sidebar on the left is empty. If I understand correctly, this bar is supposed to contain sub-pages. I wondered if the CLI reference page should itself be a sub-page. We can discuss that in a future issue.

modo= MODO("data/ex")

# Generate an Array element
array_element = model.Array(id="rna1", name= "RNA raw counts", description = "RNA counts from multiple timepoints", has_sample="sample/sample1", data_format = "Zarr")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment: I get

ValueError: data_path must be supplied

adding data_path with a meaningless value seems to fix it.

question: Should we open a separate issue for this? (i.e. make data_path optional)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alternatively, we could also add a note saying that we plan to add helper functions (an array api) to simplify these operations

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, very good point. I missed that - what about doing all of this:

  1. In this PR: Fix the docs with the "path to where we will store the array"
  2. In this PR: Add the note to make clear this is going to be wrapped/simplified
  3. Open an issue to simplify this and make the data path optional (see Add array api function to simplify adding arrays to modo #38)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me!

@cmdoret
Copy link
Member

cmdoret commented May 6, 2024

question: it would also be nice to have intersphinx mappings to modo_schema, but I'm not sure what works it implies on the modo_schema side. Do we need it to also use sphinx for this?

@almutlue
Copy link
Contributor Author

almutlue commented May 6, 2024

Thanks a lot @cmdoret ! I agree with your points and hope I adressed all of them.
Regarding the missing cli tab: That should affect those where we have not a cli implementation, yet. We should have some issues (#37 and #38) pointing to those now

@almutlue almutlue requested a review from cmdoret May 6, 2024 15:42
Copy link
Member

@cmdoret cmdoret left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great! All the comments are addressed and the interspinx mappings work very nicely 👏

@cmdoret cmdoret changed the title Doc/api ref docs: sphinx website with API reference May 10, 2024
@almutlue almutlue merged commit dc6295c into main May 13, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants