I decided to combine my interests in coding and crocheting to create something useful and learn something new! Tapestry crochet is a kind of crocheting that uses multiple strands of yarn in different colors. Changing colors between stitches allows the crafter to create all kinds of designs. In the past, I've struggled to create my own tapestry crochet patterns--which are charts showing the colors of the stitches--in programs like Excel. I wanted to make an interface that was easy to use to create custom patterns in all sizes and colors.
What it does
The program takes a variety of inputs such as number of rows of stitches, number of stitches in each row, and colors to be used for the crochet project. When launched, it creates a blank grid with color selections along the top. The user can select a color and then select a stitch to change to that color. Once they are satisfied with their design, they can save the pattern as a PNG for future reference.
How we built it
I wrote a Python program in Ubuntu that mainly relies on the graphics.py package. The graphics are displayed using Xming, the arguments are parsed using argparse, and the pattern is saved using the Python Imaging Library.
Challenges we ran into
All of my coding experience has been on remote computing clusters, so it was a challenge getting everything set up on my own computer. I've also never worked with any graphics before besides plotting so I had to learn about how to do that.
Accomplishments that we're proud of
I'm proud to have gotten started with my first program running on my own computer. I'm also proud that I created something that I will actually be able to use. Lastly, I'm excited that I was actually able to upload it to GitHub; I forget how to do it every time!
What we learned
I learned all about how to do graphics in Python using Ubuntu, Xming, and graphics.py.
What's next for Tapestry Crochet Pattern Creation Tool
I would love to deploy this project to the web for others to use. I tried to use the Domain.com promo code but I was not able to figure out how to do so during the time span of the hackathon.