dependency fun - pelican/runestone/pretext

7 views
Skip to first unread message

Brad Miller

unread,
Jul 15, 2024, 11:33:39 AM (9 days ago) Jul 15
to PreTeXt development
Mostly for @Oscar or @Steven

Made some changes on this fine monday morning and then went to rebuild.  Dependencies started to fail to resolve that had never been a problem before.  Two containers fail to build... Two hours later... I'm putting some pieces together and wondering if you ran into any problems?
  1. pretext 2.5 is out!
  2. runestone suddenly wants to install pelican
  3. pelican seems to be searching for a version of CodeChat that it can get along with. I have CodeChat pinned to <=1.9.4 for reasons that I cannot recall clearly.
  4. at version 0.0.7 of CodeChat it wants ez_setup (OMG!!) at which point poetry gives up!

#11 11.64 INFO: pip is looking at multiple versions of pelican to determine which version is compatible with other requirements. This could take a while.
#11 11.64 Collecting CodeChat<1.9.4 (from runestone<8.0.0,>=7.0.0->rsmanage==2.0.0)
#11 11.67   Downloading CodeChat-1.9.2-py3-none-any.whl.metadata (5.0 kB)
#11 11.71   Downloading CodeChat-1.9.1-py3-none-any.whl.metadata (5.0 kB)
#11 11.75   Downloading CodeChat-1.9.0-py3-none-any.whl.metadata (5.0 kB)
#11 11.79   Downloading CodeChat-1.8.9-py3-none-any.whl.metadata (5.0 kB)
#11 11.83   Downloading CodeChat-1.8.8-py3-none-any.whl.metadata (4.9 kB)
#11 11.86   Downloading CodeChat-1.8.7-py3-none-any.whl.metadata (6.1 kB)
#11 11.90   Downloading CodeChat-1.8.6-py3-none-any.whl.metadata (6.1 kB)
#11 11.91 INFO: pip is still looking at multiple versions of pelican to determine which version is compatible with other requirements. This could take a while.
#11 11.94   Downloading CodeChat-1.8.5-py3-none-any.whl.metadata (6.1 kB)
#11 12.01   Downloading CodeChat-1.8.4-py3-none-any.whl.metadata (6.1 kB)
And on and on it goes....

I can fix the problem by pinning pretext to 2.4.1 but that is not a real solution.  I'm wondering if you ran into any similar challenges?  Or have any ideas?

Brad

Bradley Miller, PhD
Professor Emeritus Computer Science
Luther College
Founder, Runestone Academy LTD
Blog: A Reputable Journal
Schedule a Meeting

Brad Miller

unread,
Jul 15, 2024, 12:01:04 PM (9 days ago) Jul 15
to PreTeXt development
OK, I've made some better progress tracking this back to the source.  If I pin CodeChat to 1.9.4 and ask for pretext 2.5.0 or greater we get to the root of things.  

pelican[markdown] wants a version of docutils that is incompatible with the version of sphinx we use.  If we upgrade to a newer sphinx it completely changes the structure of the documents it outputs and breaks tons of stuff in old books.  It doesn't make sense to invest the effort it would take for a markup language we don't want to support going forward.  I'm only supporting RST for backward compatibility with books that have not been converted to PreTeXt .

So we have a fundamental incompatibility between sphinx and pelican.

Is there a way to make pelican and homepage generation an optional feature for the CLI?  It seems like it is there to generate homepages for books.  Which I understand is a valuable service for an author, but kind of far afield from building books.  Its definitely not a feature we would use in building books for Runestone.

Brad

Bradley Miller, PhD
Professor Emeritus Computer Science
Luther College
Founder, Runestone Academy LTD
Blog: A Reputable Journal
Schedule a Meeting

Jones, Bryan

unread,
Jul 15, 2024, 12:02:42 PM (9 days ago) Jul 15
to prete...@googlegroups.com
Ah, the days of ez_setup... (yikes, Python dependency management has come a long way...)

--
You received this message because you are subscribed to the Google Groups "PreTeXt development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pretext-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pretext-dev/d8835e11-35ca-4a13-a967-7a15214b711a%40Spark.


--
Bryan A. Jones, Ph.D.
Associate Professor
Department of Electrical and Computer Engineering
231 Simrall / PO Box 9571
Mississippi State University
Mississippi State, MS 39762
http://www.ece.msstate.edu/~bjones
bjones AT ece DOT msstate DOT edu
voice 662-325-3149
fax 662-325-2298

Our Master, Jesus Christ, is on his way. He'll show up right on
time, his arrival guaranteed by the Blessed and Undisputed Ruler,
High King, High God.
- 1 Tim. 6:14b-15 (The Message)

Brad Miller

unread,
Jul 15, 2024, 12:55:58 PM (9 days ago) Jul 15
to PreTeXt development
After another couple hours, I am pretty convinced that a reasonable path forward that doesn't require huge amounts of work on the runestone side would be to make pelican an "extra"

pip install pretext[homepage] 

Or something close to that.  The homepage extra would install pelican and whatever subcommand is needed to create a homepage would be available.

Thoughts??

Bradley Miller, PhD
Professor Emeritus Computer Science
Luther College
Founder, Runestone Academy LTD
Blog: A Reputable Journal
Schedule a Meeting

Oscar Levin

unread,
Jul 15, 2024, 1:51:40 PM (9 days ago) Jul 15
to PreTeXt development
I don't have strong feelings about this, except that the CLI is intended to make things easy for authors and so is the homepage thing.  I think Steven is AWOL this week, but I'd be find making pelican an extra requirement for a while at least.  Want to make a PR?

Although, isn't this sort of thing that virtual environments are supposed to solve?  Can you install pretext with pipx?

Brad Miller

unread,
Jul 15, 2024, 1:58:53 PM (9 days ago) Jul 15
to PreTeXt development, Oscar Levin
Oscar,

Thanks for responding, I know you are doing your small documents workshop this week.

Because I went all in, and changed my build system to have pretext as an internal dependency, I am stuck.  If I was still only dependent on using the cli by using subprocess then we would be in a different place.  

I like having the internal dependency because I can build for runestone now even if an author has not set up a runestone target!

I'll take a shot at a PR.

I don't think this will really add hardship.  if someone can pip install they can pip install[homepage]

You would be free to have all of your environments and codespaces install everything.  

Brad

Bradley Miller, PhD
Professor Emeritus Computer Science
Luther College
Founder, Runestone Academy LTD
Blog: A Reputable Journal
Schedule a Meeting
--

You received this message because you are subscribed to the Google Groups "PreTeXt development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pretext-dev...@googlegroups.com.

Steven Clontz

unread,
Jul 15, 2024, 3:07:37 PM (8 days ago) Jul 15
to prete...@googlegroups.com, Oscar Levin
I'm off-grid, so shortly: pelican makes deploying multiple targets trivial in a way that was impossible before. I'd want to keep that for authors but don't want it blocking runestone deployments. So do whatever you think makes sense and I'll look closer in a week or two. 

And: we possibly need our test suite to start checking against runestone before deploying new versions so we don't hit this surprise again.

Oscar Levin

unread,
Jul 16, 2024, 1:02:34 AM (8 days ago) Jul 16
to PreTeXt development
2.5.1 is out with Brad's changes.  Thanks for the contribution!
Reply all
Reply to author
Forward
0 new messages