inkstitch icon indicating copy to clipboard operation
inkstitch copied to clipboard

HELP WANTED: contributors welcome!

Open lexelby opened this issue 5 years ago • 37 comments

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.

lexelby avatar Mar 12 '21 05:03 lexelby

Hi I would love to contribute to your cause. Please guide me on how and where I can extend a helping hand.

Athira2199 avatar Mar 25 '21 17:03 Athira2199

Awesome! Does anything from the list above look interesting?

lexelby avatar Mar 25 '21 22:03 lexelby

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 avatar Mar 28 '21 13:03 Athira2199

@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.

lexelby avatar Mar 28 '21 18:03 lexelby

Yeah would love to explore. So what would be the ideal branch to get started with ? @lexelby

Athira2199 avatar Mar 28 '21 18:03 Athira2199

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?

lexelby avatar Mar 28 '21 22:03 lexelby

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

kaalleen avatar Apr 01 '21 18:04 kaalleen

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.

kaalleen avatar Apr 04 '21 10:04 kaalleen

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!

mhelsel avatar May 13 '21 18:05 mhelsel

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.

kaalleen avatar May 14 '21 16:05 kaalleen

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.

ecc521 avatar May 15 '21 14:05 ecc521

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.

kaalleen avatar May 15 '21 14:05 kaalleen

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 avatar Sep 11 '21 22:09 songz

@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.

kaalleen avatar Sep 13 '21 10:09 kaalleen

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.

David-Billingsley avatar Oct 27 '21 03:10 David-Billingsley

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 :)

diespinoza avatar Oct 27 '21 19:10 diespinoza

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!

FionaKateM avatar Dec 26 '21 18:12 FionaKateM

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.

lexelby avatar Dec 29 '21 04:12 lexelby

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.

daPhipz avatar Jan 11 '22 21:01 daPhipz

Wow, thank you for the offer. That's a really good idea! We'd be happy to have that!

kaalleen avatar Jan 12 '22 18:01 kaalleen

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.

bkmgit avatar Jul 24 '23 12:07 bkmgit

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.

kaalleen avatar Jul 30 '23 07:07 kaalleen

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

bkmgit avatar Sep 11 '23 06:09 bkmgit

We are currently trying out doubling down on wxPython. I discovered wxGlade and that makes UI design much less painful for me :)

lexelby avatar Sep 11 '23 20:09 lexelby