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 instructions #154

Merged
merged 36 commits into from
Jan 10, 2022
Merged

Update installation instructions #154

merged 36 commits into from
Jan 10, 2022

Conversation

smajee
Copy link
Contributor

@smajee smajee commented Dec 29, 2021

Fixes issue #139

@smajee smajee marked this pull request as draft December 29, 2021 03:45
@codecov
Copy link

codecov bot commented Dec 29, 2021

Codecov Report

Merging #154 (7d37a01) into main (19deb2a) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #154   +/-   ##
=======================================
  Coverage   92.13%   92.13%           
=======================================
  Files          48       48           
  Lines        3294     3294           
=======================================
  Hits         3035     3035           
  Misses        259      259           
Flag Coverage Δ
unittests 92.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 19deb2a...7d37a01. Read the comment docs.

@bwohlberg bwohlberg added the documentation Improvements or additions to documentation label Dec 29, 2021
@smajee smajee marked this pull request as ready for review January 4, 2022 07:41
@smajee smajee mentioned this pull request Jan 4, 2022


Alternatively:

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's not entirely "alternatively" because the docs requirements also have to be installed for the previous approach.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed it.

Alternatively:

1. Navigate to the docs directory ``docs/``

Copy link
Collaborator

Choose a reason for hiding this comment

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

I've been changing this phrasing to "Change directory to ..." since "Navigate" seems to imply the use of a file manager, but we're referring here to the use of a terminal.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also changed other occurrences of "Navigate" to "Change directory" .

@@ -6,6 +6,19 @@ Usage Examples
.. toctree::
:maxdepth: 1

.. _example_dependencies:
Example Dependencies
------------------------
Copy link
Collaborator

Choose a reason for hiding this comment

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

Underline too long?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed it

Example Dependencies
------------------------

Some examples may use additional dependecies. These dependencies are listed in `examples_requirements.txt <https://github.com/lanl/scico/blob/main/examples/examples_requirements.txt>`_.
Copy link
Collaborator

Choose a reason for hiding this comment

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

The "may" is redundant given the presence of the "some" - I suggest removing it. Also, there's a typo in "dependecies", and perhaps change "... dependecies. These are ..." to "... additional dependencies, which are ...".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed it.

------------------------

Some examples may use additional dependecies. These dependencies are listed in `examples_requirements.txt <https://github.com/lanl/scico/blob/main/examples/examples_requirements.txt>`_.
Pip should be used to install these extra requirements except astra which should be installed via conda:
Copy link
Collaborator

Choose a reason for hiding this comment

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

I suggest a minor rephrasing to:
The additional requirements should be installed via pip [or perhaps pip?], with the exception of astra [or astra-toolbox?], which should be installed via conda:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed it.

conda install -c astra-toolbox astra-toolbox
pip install -r examples/examples_requirements.txt # Installs other example requirements

The dependencies can also be installed one by one as required.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Perhaps replace "one by one" with "individually"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

------------------------

Some examples may use additional dependecies. These dependencies are listed in `examples_requirements.txt <https://github.com/lanl/scico/blob/main/examples/examples_requirements.txt>`_.
Pip should be used to install these extra requirements except astra which should be installed via conda:
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks to me like this PR removes any notion of ASTRA as a dependency for SCICO. I'm uncomfortable with this because (1) ASTRA is needed to run some of the tests and (2) ASTRA-based LinOps are in the API reference without any note saying you must install ASTRA for them to work.

Is there some place where we clarify (even for ourselves) what should work (examples, tests, some other thing) after the user follows which set of install instructions?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Agreed, this should be handled better. See also #155.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We should have a discussion sometime on issue #155.
In the meantime, should I add a sentence in the contributing section stating that installing the example_requirements is necessary for successfully running the tests?

Copy link
Contributor

Choose a reason for hiding this comment

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

@smajee That, or just conda, given that (I think) it's the only one needed to run the tests. See also my comment about the github action that runs the tests.

Copy link
Contributor Author

@smajee smajee Jan 7, 2022

Choose a reason for hiding this comment

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

Added a comment in commit 617e993

Copy link
Contributor

@Michael-T-McCann Michael-T-McCann left a comment

Choose a reason for hiding this comment

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

Please check that the dev install instructions are reasonably in sync with the commands in https://github.com/lanl/scico/blob/main/.github/workflows/pytest.yml (specifically, the "Install dependencies" step)

@smajee
Copy link
Contributor Author

smajee commented Jan 6, 2022

Please check that the dev install instructions are reasonably in sync with the commands in https://github.com/lanl/scico/blob/main/.github/workflows/pytest.yml (specifically, the "Install dependencies" step)

They seem to match except libopenblas-dev and pytest-cov.

docs/source/examples.rst Outdated Show resolved Hide resolved
docs/source/examples.rst Outdated Show resolved Hide resolved
Address nitpicks.
pip install -e . # Installs SCICO from the current directory in editable mode


For installing dependencies related to the examples please see :ref:`example_notebooks`.
Installing these are neccessary for the successfull running of the tests.
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems easy to miss to me, but I think it's fine for now given that we will likely look at all of this again for #155 .

@smajee smajee merged commit 445412e into main Jan 10, 2022
@smajee smajee deleted the smajee/install_instructions branch January 10, 2022 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants