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

Update installation docs 1.4.1 #1810

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

roomrys
Copy link
Collaborator

@roomrys roomrys commented Jun 15, 2024

Description

This PR attempts to update and simplify the installation instructions and:

  • removes the installation instructions for other package managers and instead links out the package manager installation page
  • changes the mambaforge installation recommendation back to miniconda (which now sets the solver to libmamba by default for newer installations)
  • replaces all mamba commands with conda
  • adds a note about mamba and conda command interchangeability
  • uses tabs for installation methods (conda from package, conda from source, pip), operating system (Windows and Linux, Mac OS), and also (NVIDIA GPU, CPU or other GPU)

This PR also attempts to handle the following tasks from

  • Update documentation / guides #1778
  • Simplify and modernize installation page
    • mambaforge is now miniforge -> Recommend miniconda instead
    • have 1-line unattended installs -> Link to miniconda installation page
    • update Mac setup to use curl so you don't have to install Xcode (GBs!!) -> Link to miniconda installation page
    • conda create 1-liners in the heading before the TOC!!
    • Backwards compatibility: add guide for installing <1.4.0 after the conda package label switchover (@eberrigan)

Types of changes

  • Bugfix
  • New feature
  • Refactor / Code style update (no logical changes)
  • Build / CI changes
  • Documentation Update
  • Other (explain)

Does this address any currently open issues?

Outside contributors checklist

  • Review the guidelines for contributing to this repository
  • Read and sign the CLA and add yourself to the authors list
  • Make sure you are making a pull request against the develop branch (not main). Also you should start your branch off develop
  • Add tests that prove your fix is effective or that your feature works
  • Add necessary documentation (if appropriate)

Thank you for contributing to SLEAP!

❤️

Summary by CodeRabbit

  • Documentation

    • Updated installation commands in documentation to use conda instead of mamba.
    • Refined and clarified installation instructions for SLEAP in installation.md.
    • Added styles for a tabbed interface in documentation.
    • Included sphinx_tabs extension and associated settings to enhance documentation tabs.
  • Workflow

    • Updated GitHub workflow to trigger on a specific branch and added sphinx-tabs installation.

Copy link

coderabbitai bot commented Jun 15, 2024

Walkthrough

This update primarily focuses on changing package management commands from mamba to conda within the .conda/README.md file. Additionally, it specifies a branch and includes sphinx-tabs for website workflows, adds styling for tabbed interfaces in the docs, and improves installation guidance in installation.md.

Changes

Files/Paths Change Summaries
.conda/README.md Updated commands from mamba to conda for environment creation/installation.
.github/workflows/website.yml Added branch trigger and sphinx-tabs installation for workflows.
docs/_static/css/tabs.css Introduced styling for tabs, defining appearance and behavior.
docs/conf.py Added sphinx_tabs.tabs, updated CSS files and settings.
docs/installation.md Refined and clarified installation instructions for SLEAP.

Poem

🌟 In code's quiet dance, a change so grand,
mamba steps back, conda takes the stand.
Tabs now gleam with a stylish twist,
Clearer paths in docs, not to be missed!
🐰 With code so sleek, the future we kissed.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@roomrys roomrys marked this pull request as ready for review June 24, 2024 19:04
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 36cdba2 and 7503896.

Files selected for processing (5)
  • .conda/README.md (2 hunks)
  • .github/workflows/website.yml (2 hunks)
  • docs/_static/css/tabs.css (1 hunks)
  • docs/conf.py (3 hunks)
  • docs/installation.md (6 hunks)
Files skipped from review due to trivial changes (2)
  • .conda/README.md
  • docs/_static/css/tabs.css
Additional context used
Ruff
docs/conf.py

1-1: UTF-8 encoding declaration is unnecessary (UP009)

Remove unnecessary coding comment

LanguageTool
docs/installation.md

[grammar] ~3-~3: The operating system from Apple is written “macOS” (MAC_OS)
Context: ...a Python package on Windows, Linux, and Mac OS. For quick install using conda, see bel...


[grammar] ~3-~3: The word ‘install’ is not a noun. (A_INSTALL)
Context: ...n Windows, Linux, and Mac OS. For quick install using conda, see below: ````{tabs} ...


[style] ~334-~334: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...nning the diagnostics to see what SLEAP is able to detect on your system: ```bash sleap-d...


[style] ~340-~340: Consider using “unable” to avoid wordiness. (NOT_ABLE_PREMIUM)
Context: ...`bash sleap-diagnostic ``` If you were not able to get SLEAP installed, activate the co...

Markdownlint
docs/installation.md

64-64: Expected: 1; Actual: 0; Above (MD022, blanks-around-headings)
Headings should be surrounded by blank lines


219-219: Expected: fenced; Actual: indented (MD046, code-block-style)
Code block style


238-238: Expected: fenced; Actual: indented (MD046, code-block-style)
Code block style


257-257: Expected: fenced; Actual: indented (MD046, code-block-style)
Code block style

Additional comments not posted (10)
.github/workflows/website.yml (2)

11-11: Update to workflow triggers

The addition of the branch liezl/update-intallation-docs-1.4.1 to the trigger list ensures that any changes pushed to this branch will initiate the build process for the website. This is important for testing changes in a live environment before merging them into the main development or production branches.


45-45: Addition of sphinx-tabs package installation

Installing the sphinx-tabs package as part of the documentation build process is a good practice. This ensures that the necessary dependencies for rendering tabbed content in the documentation are met, aligning with the changes in documentation structure to include tabs.

docs/conf.py (3)

62-62: Addition of sphinx_tabs.tabs extension

The inclusion of the sphinx_tabs.tabs extension is essential for supporting tabbed content in the documentation. This aligns with the PR's objective to introduce tabs in the installation guide, enhancing the organization and readability of the documentation.


177-182: Configuration of CSS for tabs

Specifying css/tabs.css in the html_css_files ensures that the custom styles for the tabbed interfaces are correctly applied to the HTML output. This customization is important for maintaining a consistent and professional appearance in the documentation.


230-232: Disabling default CSS loading for sphinx_tabs

Setting sphinx_tabs_disable_css_loading to True is a thoughtful decision to avoid conflicts and redundancy in CSS loading. This ensures that only the theme's CSS is used, which can help in maintaining a cleaner and more streamlined styling in the documentation.
[APROVED]

docs/installation.md (5)

3-3: Grammar correction for 'Mac OS'

Consider changing "Mac OS" to "macOS" to adhere to Apple's branding guidelines. This is a minor but important detail for maintaining professionalism in documentation.

- SLEAP can be installed as a Python package on Windows, Linux, and Mac OS.
+ SLEAP can be installed as a Python package on Windows, Linux, and macOS.
Tools
LanguageTool

[grammar] ~3-~3: The operating system from Apple is written “macOS” (MAC_OS)
Context: ...a Python package on Windows, Linux, and Mac OS. For quick install using conda, see bel...


[grammar] ~3-~3: The word ‘install’ is not a noun. (A_INSTALL)
Context: ...n Windows, Linux, and Mac OS. For quick install using conda, see below: ````{tabs} ...


5-16: Introduction of tabbed interface for installation commands

The use of tabs to separate installation commands for different operating systems is a great way to organize content, making it easier for users to find the information that's relevant to them. This aligns with the PR's objectives to improve the clarity and usability of the installation instructions.


26-42: Enhanced user guidance for terminal usage

Providing detailed instructions on how to open a terminal on different systems enhances user accessibility and support, especially for those who may be less familiar with these operations. The inclusion of personal preferences and alternatives like Cmder and Windows Terminal is a nice touch that offers additional value to the user.


Line range hint 46-58: Recommendation for package manager usage

The strong recommendation to use Miniconda and guidance on managing multiple conda-based package managers are crucial for preventing installation conflicts and ensuring a smooth setup process. This advice is particularly valuable given the complex dependencies of SLEAP.

Tools
LanguageTool

[grammar] ~3-~3: The operating system from Apple is written “macOS” (MAC_OS)
Context: ...a Python package on Windows, Linux, and Mac OS. For quick install using conda, see bel...


[grammar] ~3-~3: The word ‘install’ is not a noun. (A_INSTALL)
Context: ...n Windows, Linux, and Mac OS. For quick install using conda, see below: ````{tabs} ...


63-182: Comprehensive installation methods and precautions

The detailed explanation of different installation methods, along with specific commands and conditions for each scenario, provides a thorough guide for users. This section effectively addresses various user needs and scenarios, ensuring that users have all the information they need to successfully install SLEAP.

Tools
Markdownlint

64-64: Expected: 1; Actual: 0; Above (MD022, blanks-around-headings)
Headings should be surrounded by blank lines

@roomrys roomrys mentioned this pull request Jun 24, 2024
17 tasks
@roomrys roomrys requested review from talmo and eberrigan July 1, 2024 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant