I have been slowly working on all of the third party extensions I
can find (with help from Brynn and Maren) to bring them into
compatibility with 0.91. As the units changed for 0.92 all the
work needed to be done again and I lost energy for a while. I have
just moved to a new house and that's also taken up a lot of time
this last year.
Nevertheless I do intend to help the authors prepare, as many of
these extensions as I can, for useful work in Inkscape.
Many have incorporated my pull requests into their code.
I don't know if the proposed mechanism is the best way or what mechanism might be better but IMHO these are the issues that extensions - in their current mechanism) could do with some help with solving:
1. Stable approach to units - many extensions seem to deal with
real world dimensions and care about this.
- probably no issue with the installer mechanism so ignore.
- currently in 0.92 it appears all internal numbers (as seen in
the xml editor) are in mm. In 0.48 they were in 90dpi px.
- I am unsure of what 0.93 proposes but currently assuming
internal mm as in 0.92.
2. Many extensions use the supplied code pieces like
simplecurve.py etc
- these need to be stable and when updated make new names and not
reuse existing function names
- we need some new ones to inherit such things as drawn
dimensions and graphs which have been quite nicely worked out in
user side only (not in inkscape repo) extensions. Most useful
ones of these make new classes which inherit from inkex.
- At least one of which does not work well anymore in 0.92 due to
units change. I will help fix.
3. Localisation. Many extension writers have tried to work out how to supply translations and have them work. Currently this is too hard (separate package for each language or script that runs and renames files - too dangerous for Windows etc.
4. Adding their own UI. In the cases where the current inx based
UI falls down (conditional values, and many more) the users want
to able to use, say, Kivy or even tkinter to do dialogs. This is
super hard and only one I know that works is the very recent
embroidery extension which needs own installer and is so complex I
can't follow it.
5. Python versions - In 0.48 the version of python was quite old
- now newer but as pointed out, want to move to 3.x. This means
rewrite of all user extensions also. but as print is seldom used,
not neccessarily a lot of work for each one. I will help them out.
Python 3.7 is in beta now.
- even better would be to allow user to choose the python
installed on the machine - so deps like numpy which may already
be there don't need to be reinstalled. Instead of bundling a
specific version of python with inkscape.
- but keeping 2.7 and 3.x at same time would be even more useful.
- e,g, including the line #!/usr/bin/env
python2
(or python3
) in any script. See
PEP 397 which was included in python 3.3 and works on Windows.
-
https://python-forum.io/Thread-Install-Python-2-and-3-on-same-Computer
6. There's probably a couple more but I can't recall right now.
FYI - The long term issues not expected to be enabled any time
soon are:
- calling internal inkscape functions - I.e. an exposed python API
- getting onto the internal UI.
- interactive control of a parameter while adjusting.
Cheers Mark...
On Thu, 2018-03-22 at 00:15 -0500, Ted Gould wrote:I hate to be stop energy on porting the python extensions to Python 3, that clearly needs to happen. But I don't think we're ready to have them shipping and developed out of a different repository. The distribution issues are critical there. I think that we need a test extension that works well in all the repos/stores/etc before we can split out the extensions that we have.I understand reservations, but I don't agree with your conclusions Ted. I'm suggesting standardization on existing technologies that we're already using. Using well worn and supported formats and existing multi-platform code. I'll have to check all the bits will work, sure, and the good thing about having a separate repository is that it's going to let us be more experimental. As for deps. I'll let you make a snap for every extension contributor ��� ��� It's a bloody minded way of making people do lots of work though. Overall the proposed direction is tentative, I'm fishing for better ideas. It's still the best one so far. Best Regards, Martin Owens ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel