justinpenner / TalkingLeaves

A GlyphsApp plugin to help you explore the world’s languages and writing systems
MIT License
27 stars 2 forks source link

instructions to install already installed module #3

Open schriftgestalt opened 2 months ago

schriftgestalt commented 2 months ago

The pyobjc module is includes in the GlyphsPython. And vanilla can be installed with the plugin manager. So you should not instruct people to install it again. This will produce confusion.

If you add the plugin to the plugin manager, you can add a dependencies to the modules to the package info. That would at least cover vanilla, as that is available in the plugin manager.

justinpenner commented 2 months ago

The advantage is that my install instructions work with one Terminal command, no matter which Python you're using in Glyphs’ Preferences.

If we want to omit modules like pyobjc and vanilla, then the installation instructions get a lot more complicated. We have to use the --no-deps flag to prevent urlreader from installing pyobjc, which means we also have to list all the sub-dependencies. We have to tell users to install some dependencies with pip (hyperglot, urlreader, click, uharfbuzz, pyyaml, unicodedata2, colorlog), others in Plugin Manager (vanilla, fonttools), and then pyobjc via a second pip command (because it won't work with --no-deps) if they're not using GlyphsPython.

I do want to add TalkingLeaves to the Plugin Manager, but then I think the dependency installs need to be more seamless for non-technical users. Do you think you'll be able to get pip working soon in GlyphsPython? I would like to eliminate the requirement for installing another Python, before adding TalkingLeaves to the Plugin Manager. This means either I need a working pip in GlyphsPython to install binary dependencies (uharfbuzz and unicodedata2), or I need to find another way to install the correct builds of those dependencies and manage their updates.