HELP WANTED: contributors welcome!
Interested in helping make Ink/Stitch better? We'd love to have your contributions. Feel free to find something that interests you. If you're looking for ideas, consider this list:
- coding (Python, Javascript)
- build / CI system (GitHub actions)
- we need someone to figure out how we can start code-signing our application
- web design (electron UI)
- translations (how to translate)
- issue wrangling
- combining duplicate issues
- welcoming first-time bug/issue reporters
- closing completed issues
- prioritizing bugs and features
- artwork
- documentation (see gh-pages branch)
There's never any time commitment, we're all here to have fun. If you want to contribute, let us know and we'll add you as a collaborator.
Hi I would love to contribute to your cause. Please guide me on how and where I can extend a helping hand.
Awesome! Does anything from the list above look interesting?
I know Python & JavaScript so the coding option looks promising to me. Nevertheless ready to take up anything from the list except artwork, since art is not quiet my area.
@Athira2199 Wow, it would be so cool to have another Python & js dev! Feel free to work on anything you like, and I'll keep an eye out for any questions or PRs you may have. Our roadmap involves moving the UI over to Electron with Vue and Vuetify but don't feel limited by that if something else strikes your fancy.
Let me know if you're interested and I'll give you write access so you can use our CI.
Yeah would love to explore. So what would be the ideal branch to get started with ? @lexelby
I think a great place to start would be fixing bugs that are causing exceptions. Our top-level exception handler displays any exceptions to the user along with a request that they post it as an issue here. Folks have been faithfully doing that, and we have a lot of bugs to fix.
One thing to note is that we have a big backlog of changes waiting for public release as Ink/Stitch 2.0. We're planning to do that soon, once #1052 is merged. So the main branch contains lots of changes that are not in the code that people are currently running out in the wild, most notable being the conversion to Python 3 (!!). There are also several bugs that @kaalleen has already squished.
@kaalleen do you know which of the issues are for tracebacks you've already fixed? Or can you think of a better place for @Athira2199 to start?
Great to have you here. I will have to go through the bug reports soon. Just can't seem to find the time at the moment. But you can test the new Ink/Stitch version on reported bugs to see which ones are still active.
Adding new features could be an other way to start into Ink/Stitch development.
List of bugs
- https://github.com/inkstitch/inkstitch/projects/2
Feature requests and more
- https://github.com/inkstitch/inkstitch/projects/1
Ok, I worked on our issues a bit. Some bugs are unclear if they still exist, because we often do not receive files to test the bugs on. But the lists should be up to date now (more or less). Let us now, if you need more help to get started.
Hey there, I'm not sure how helpful I will be but if you all need more help I would love to contribute. I have some coding and web development experience so I can look into some of the bugs/requests or let me know if I'd be useful elsewhere!
Hey there @mhelsel
Thanks for your great offer. We really could need some help. The bug reports are a good point to start. Ask anything you need to know. We will try our best to help you get started.
I don't know which operating system you are using, but have a look at this page here: https://inkstitch.org/developers/inkstitch/manual-setup/ If you want to work at the code you will need a manual install of Ink/Stitch.
I'm going to take another look at things again, and see if I can get the latest release working properly. Still a few minor changes I'd like to add for Mac, and the Mac release really needs to work out of the box.
I can probably get the MacOS releases signed, but I'll need to take another look at how all that it working first. Might be nice to have an installer if possible, as configuring stuff in Inkscape isn't all that user-friendly.
Oh, we are on it at the moment: https://github.com/inkstitch/inkstitch/pull/1158
Currently the notarizing doesn't work properly yet. I am thankful for any helping hand we can get on this issue. I really don't like working on the signing notarizing stuff. Currently I am rewriting the installer to package all the languages into one file and wrap it into a pkg instead of the dmg to have an easier way for users to select their language.
I want to look into this issue but I am so confused about what to do after git clone lol. There seems to be no Getting Started With Development doc.
I saw a make file so I ran make but then I got python not found. So I installed python and got:
python bin/generate-inx-files; \
Traceback (most recent call last):
File "bin/generate-inx-files", line 17, in <module>
from lib.inx import generate_inx_files
File "lib/inx/__init__.py", line 6, in <module>
from .generate import generate_inx_files
File "lib/inx/generate.py", line 6, in <module>
from .info import generate_info_inx_files
File "lib/inx/info.py", line 6, in <module>
from .utils import build_environment, write_inx_file
File "lib/inx/utils.py", line 73
print(contents, file=inx_file)
^
SyntaxError: invalid syntax
make: *** [Makefile:13: inx] Error 1
Invalid syntax? I think maybe I should use python3?
I went into Makefile and changed that line to use python3, which gave different error:
ModuleNotFoundError: No module named 'shapely'
I googled that and it said its a downloadable module, and I did a grep and found it defined in requirements.txt
I read up on that file and it seems I can download the modules by running
pip install requirements.txt
And I got another error
ERROR: Could not find a version that satisfies the requirement requirements.txt (from versions: none)
ERROR: No matching distribution found for requirements.txt
Oh I needed -r flag: pip install -r requirements.txt
Another error!
ERROR: Directory './pyembroidery' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
I then went into the folder and noticed its EMPTY! So I looked at git and noticed it links to another repo.
So I removed ./ from this line and ran pip install and it seems to be working... until I hit a wall of red:
Building wheel for wxPython (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-o446c3ex/wxPython/setup.py'"'"'; __file__='"'"'/tmp/pip-install-o446c3ex/wxPython/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-tliuxz02
cwd: /tmp/pip-install-o446c3ex/wxPython/
Complete output (144 lines):
.....
Then I gave up.
@songz Wow, nice you tried to help us out fixing bugs. Your attempt is very welcome here. Have a look at this website https://inkstitch.org/developers/inkstitch/manual-setup/ It will need an update but it has the main steps for you to get started with a manual install. Maybe it helps.
For the issue you have been looking to solve there is good news though. It already has been fixed in the main branch (as far as I know). But if you are interested to look into other issues, we really would like to help you to setup your manual install. So please don't hesitate asking if the website doesn't solve your installing issues.
Edit: Sorry, no, I am wrong. It hasn't been fixed yet.
I don't have an embroidery machine so I can't test anything needing a machine. But can work on other parts as needed if you like.
Hello, I would love to contribute to this project! Last summer I had the chance to experiment using Ink/Stitch using a Brother LB6800 and it worked very well! Unfortunately, I no longer have access to that machine, but I still enjoy using Ink/Stitch to make embroidery designs. I have experience with Javascript and web development. I would also be interested in helping out with documentation! Perhaps I could help out with the documentation on the new video series? Please let me know how I can help :)
Hi. I'm new to OS but have always wanted to find a project to get involved with. I've been using Ink Stitch a while now and thought I'd pop by to say hello. All my dev exp has been solo projects in Swift, but I have dabbled with JS and Python here and there. My professional background is content though, so producing documentation and media is up my street (less so anything to do with art/graphics), if you need any help with that I'd be pleased to. Having said that, I'd love to dip my toes into the world of Open Source development so if there's the opportunity to do that here I'd love that too. Either way, thanks for this great piece of software!
That's a pretty awesome skillset you've got there! We can use help in all of those areas and more. One thing we might be a bit lacking in right now is the ability to introduce folks to the codebase and help carve off good first projects. That's of course not great when you're here looking to jump in! As far as I'm concerned you can feel free to dive in and work on whatever catches your interest. I'm sorry I don't have any better guidance than that right now, but I try to keep an eye on pull requests and comment/review when I can.
I'll go ahead and add you as a contributor so that you can create pull requests that use our CI system.
I'd be happy to maintain a PPA (Personal Package Archive) for Ubuntu and other Distros that support them, if you people are interested in offering InkStitch this way.
I am sure it would make keeping people up to date much more easily, since they would have to set up the PPA only once. Subsequent updates would be installed whenever the user decides to update their system.
Wow, thank you for the offer. That's a really good idea! We'd be happy to have that!
Would GJS and/or PyGObject be considered for the UI instead of electron? This would reduce the number of dependencies (in particular node and flask), as Inkscape is built using GTK.
Yes, we already agreed on moving away from electron. Strongest contenders at the moment are GTK (PyGObject), because it is already part of Inkscape and would come with minimal dependencies (also it has some integrations into inkex already). An other option we'd like to discuss is kivy. We haven't had the time to investigate the pros and cons thoroughly.
Raised an issue: https://github.com/inkstitch/inkstitch/issues/2510 My preferences is PyGObject. Kivy is a slightly different eco system - Android support from Kivy is nice, but some effort would be needed to make Inkscape work well. An Android port of Inkscape is https://github.com/CypherpunkArmory/Inkscape
We are currently trying out doubling down on wxPython. I discovered wxGlade and that makes UI design much less painful for me :)