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

Remove Mayavi from swc-installation-test-2.py #180

Closed
ethanwhite opened this issue Mar 19, 2015 · 2 comments
Closed

Remove Mayavi from swc-installation-test-2.py #180

ethanwhite opened this issue Mar 19, 2015 · 2 comments

Comments

@ethanwhite
Copy link
Contributor

Mayavi is not part of any of our main lessons and isn't included in Anaconda (at least not by default), so this generates failures unnecessarily (as well as lots of email to organizers as I recently found out :)).

@wking
Copy link
Contributor

wking commented Mar 19, 2015

On Thu, Mar 19, 2015 at 08:34:47AM -0700, Ethan White wrote:

Mayavi is not part of any of our main lessons and isn't included in
Anaconda (at least not by default), so this generates failures
unnecessarily (as well as lots of email to organizers as I recently
found out :)).

Hey, it's good to hear that folks are using the script and that
students are following the instructions :). I think the missing piece
is that the instructors are not following the instructions ;).
They're supposed to edit CHECKS to match the dependencies for their
particular workshop [1,2].

There's been talk about trimming the list of default checks in #136,
but discussion there has stalled out.

@ethanwhite
Copy link
Contributor Author

Thanks for pointing me towards #136 (I should have looked a little harder). I think we can make this work best for everyone by changing what is commented vs uncommented by default.

Closing in favor of #136.

wking added a commit to wking/swc-setup-installation-test that referenced this issue Nov 14, 2015
On Wed, Mar 11, 2015 at 03:08:15PM -0700, Piotr Banaszkiewicz wrote [1]:
> Maybe add workshop-template/requirements.txt (not necessarily a
> Python dependencies file) that's read by installation testing script
> and adjusts CHECKS entries accordingly?

The old CHECKS approach didn't work very well, because many
instructors would forget to edit CHECKS and learners would be confused
when they failed checks for packages that they didn't actually need
(but which were still listed in CHECKS) [2,3,4,5].  This commit makes:

  $ ./swc-installation-test-2.py

a no-op.  Users will either have to explicitly specify checks on the
command line:

  $ ./swc-installation-test-2.py virtual-editor

or point the tester at an instructor-provided config:

  $ ./swc-installation-test-2.py --url https://swcarpentry.github.io/2015-11-09-abc/lessons.json

Because dependencies for a given lesson can be tricky and are shared
by all lesson consumers, it offloads the bulk of the
requirement-listing to lesson maintainers.  Once that work is done,
instructors can just list out the lessons they're covering (which is
also useful for tools like AMY [6] who would like an automatic way to
determine what is being taught).

SWC generally prefers YAML to JSON, but I've gone with JSON here to
stick with stock Python 2.6+ support.  I've also changed some
or_dependency definitions from tuples to lists so I can mutate them
with .remove().

[1]: numfocus/gsoc#3 (comment)
[2]: carpentries/workshop-template#136
[3]: carpentries/workshop-template#180
[4]: carpentries/workshop-template#181
[5]: carpentries/workshop-template#258
[6]: https://github.com/swcarpentry/amy
wking added a commit to wking/swc-setup-installation-test that referenced this issue Nov 14, 2015
On Wed, Mar 11, 2015 at 03:08:15PM -0700, Piotr Banaszkiewicz wrote [1]:
> Maybe add workshop-template/requirements.txt (not necessarily a
> Python dependencies file) that's read by installation testing script
> and adjusts CHECKS entries accordingly?

The old CHECKS approach didn't work very well, because many
instructors would forget to edit CHECKS and learners would be confused
when they failed checks for packages that they didn't actually need
(but which were still listed in CHECKS) [2,3,4,5].  This commit makes:

  $ ./swc-installation-test-2.py

a no-op.  Users will either have to explicitly specify checks on the
command line:

  $ ./swc-installation-test-2.py virtual-editor

or point the tester at an instructor-provided config:

  $ ./swc-installation-test-2.py --url https://swcarpentry.github.io/2015-11-09-abc/lessons.json

Because dependencies for a given lesson can be tricky and are shared
by all lesson consumers, it offloads the bulk of the
requirement-listing to lesson maintainers.  Once that work is done,
instructors can just list out the lessons they're covering (which is
also useful for tools like AMY [6] who would like an automatic way to
determine what is being taught).

SWC generally prefers YAML to JSON, but I've gone with JSON here to
stick with stock Python 2.6+ support.  I've also changed some
or_dependency definitions from tuples to lists so I can mutate them
with .remove().

[1]: numfocus/gsoc#3 (comment)
[2]: carpentries/workshop-template#136
[3]: carpentries/workshop-template#180
[4]: carpentries/workshop-template#181
[5]: carpentries/workshop-template#258
[6]: https://github.com/swcarpentry/amy
wking added a commit to wking/swc-setup-installation-test that referenced this issue Nov 14, 2015
On Wed, Mar 11, 2015 at 03:08:15PM -0700, Piotr Banaszkiewicz wrote [1]:
> Maybe add workshop-template/requirements.txt (not necessarily a
> Python dependencies file) that's read by installation testing script
> and adjusts CHECKS entries accordingly?

The old CHECKS approach didn't work very well, because many
instructors would forget to edit CHECKS and learners would be confused
when they failed checks for packages that they didn't actually need
(but which were still listed in CHECKS) [2,3,4,5].  This commit makes:

  $ ./swc-installation-test-2.py

a no-op.  Users will either have to explicitly specify checks on the
command line:

  $ ./swc-installation-test-2.py virtual-editor

or point the tester at an instructor-provided config:

  $ ./swc-installation-test-2.py --url https://swcarpentry.github.io/2015-11-09-abc/lessons.json

Because dependencies for a given lesson can be tricky and are shared
by all lesson consumers, it offloads the bulk of the
requirement-listing to lesson maintainers.  Once that work is done,
instructors can just list out the lessons they're covering (which is
also useful for tools like AMY [6] who would like an automatic way to
determine what is being taught).

SWC generally prefers YAML to JSON, but I've gone with JSON here to
stick with stock Python 2.6+ support.  I've also changed some
or_dependency definitions from tuples to lists so I can mutate them
with .remove().

[1]: numfocus/gsoc#3 (comment)
[2]: carpentries/workshop-template#136
[3]: carpentries/workshop-template#180
[4]: carpentries/workshop-template#181
[5]: carpentries/workshop-template#258
[6]: https://github.com/swcarpentry/amy
wking added a commit to wking/swc-setup-installation-test that referenced this issue Nov 22, 2015
On Wed, Mar 11, 2015 at 03:08:15PM -0700, Piotr Banaszkiewicz wrote [1]:
> Maybe add workshop-template/requirements.txt (not necessarily a
> Python dependencies file) that's read by installation testing script
> and adjusts CHECKS entries accordingly?

The old CHECKS approach didn't work very well, because many
instructors would forget to edit CHECKS and learners would be confused
when they failed checks for packages that they didn't actually need
(but which were still listed in CHECKS) [2,3,4,5].  This commit makes:

  $ ./swc-installation-test-2.py

a no-op.  Users will either have to explicitly specify checks on the
command line:

  $ ./swc-installation-test-2.py virtual-editor

or point the tester at an instructor-provided config:

  $ ./swc-installation-test-2.py --url https://swcarpentry.github.io/2015-11-09-abc/lessons.json

Because dependencies for a given lesson can be tricky and are shared
by all lesson consumers, it offloads the bulk of the
requirement-listing to lesson maintainers.  Once that work is done,
instructors can just list out the lessons they're covering (which is
also useful for tools like AMY [6] who would like an automatic way to
determine what is being taught).

SWC generally prefers YAML to JSON, but I've gone with JSON here to
stick with stock Python 2.6+ support.  I've also changed some
or_dependency definitions from tuples to lists so I can mutate them
with .remove().

[1]: numfocus/gsoc#3 (comment)
[2]: carpentries/workshop-template#136
[3]: carpentries/workshop-template#180
[4]: carpentries/workshop-template#181
[5]: carpentries/workshop-template#258
[6]: https://github.com/swcarpentry/amy
wking added a commit to wking/swc-setup-installation-test that referenced this issue Nov 23, 2015
On Wed, Mar 11, 2015 at 03:08:15PM -0700, Piotr Banaszkiewicz wrote [1]:
> Maybe add workshop-template/requirements.txt (not necessarily a
> Python dependencies file) that's read by installation testing script
> and adjusts CHECKS entries accordingly?

The old CHECKS approach didn't work very well, because many
instructors would forget to edit CHECKS and learners would be confused
when they failed checks for packages that they didn't actually need
(but which were still listed in CHECKS) [2,3,4,5].  This commit makes:

  $ ./swc-installation-test-2.py

a no-op.  Users will either have to explicitly specify checks on the
command line:

  $ ./swc-installation-test-2.py virtual-editor

or point the tester at an instructor-provided config:

  $ ./swc-installation-test-2.py --url https://swcarpentry.github.io/2015-11-09-abc/lessons.json

Because dependencies for a given lesson can be tricky and are shared
by all lesson consumers, it offloads the bulk of the
requirement-listing to lesson maintainers.  Once that work is done,
instructors can just list out the lessons they're covering (which is
also useful for tools like AMY [6] who would like an automatic way to
determine what is being taught).

SWC generally prefers YAML to JSON, but I've gone with JSON here to
stick with stock Python 2.6+ support.  I've also changed some
or_dependency definitions from tuples to lists so I can mutate them
with .remove().

The tuple cast when setting minimum_version from the JSON lets us
avoid:

  TypeError: unorderable types: tuple() < list()

when doing the version comparison.

[1]: numfocus/gsoc#3 (comment)
[2]: carpentries/workshop-template#136
[3]: carpentries/workshop-template#180
[4]: carpentries/workshop-template#181
[5]: carpentries/workshop-template#258
[6]: https://github.com/swcarpentry/amy
wking added a commit to wking/workshop-template that referenced this issue Jan 10, 2016
Sometimes instructors forget to customize their CHECKS, but learners
still follow this link and run the stock checks, resulting in a bunch
of confusing errors about missing packages that the learner doesn't
actually need [1,2,3,4].  Instead of expecting instructors to edit
CHECKS or remove the setup/ reference from index.html (a default that
is right for nobody), this commit comments that setup/ reference out
(a default that is right for folks who don't want
installation-checks).  Instructors who *do* want installation checks
now need to do two things (uncomment the setup/ reference and update
CHECKS), but with both steps listed in CUSTOMIZATION they are more
likely to get that right.

[1]: carpentries#136
[2]: carpentries#180
[3]: carpentries#181
[4]: carpentries#258
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

No branches or pull requests

2 participants