The Big Picture

While I've seen many questions about Python and Blender together posted here, most of them have strictly to do with the Blender Python Library. My question is, do question that discuss programs that use the Blender Python Library but aren't specifically about the Blender Python Library belong here?

Similarly, are "help me with my code" questions, such as many of those on StackOverflow too specific for this Exchange?

Me, myself, and I

Since the above is a little vague, I'd like to provide an example using a question I have:

I'm working with a script for Blender. There is a portion of my code where I scan through a list searching for a certain matching set of data. However, it returns an error that I want it to simply ignore and continue on doing; however, because of the structure I have set up, I can't seem to use the standard try/except, as that stop executing the command I want it to execute. My question would revolve around trying to solve this: should I use loops, reformat my try/excepts, what should I do?

As you can see, this question could be about something not involving Blender equally easily and still be a valid question. However, simultaneously, there could be a solution specific to Blender much cleaner then a general purpose solution. It also focuses on an area that makes it difficult to be directly applicable to another topic–it could, however, depending on the solution. So, does it belong or not?


In essence, there are two questions that need to be answered here:

  1. Is the nature of such discussions on topic and in agreement with the direction of this StackExchange?
  2. Are questions that center more around "help me with my code" too specific for this StackExchange?
  • $\begingroup$ Your example question would probably get closed. We have had other questions in the past get closed or moved to SO because it was a general python question. $\endgroup$
    – David
    Aug 14 '15 at 21:42
  • $\begingroup$ @David Hmm... where should I post it? I'm afraid StackOverflow would send me back here... bit of a sticky situation. $\endgroup$
    – JMY1000
    Aug 15 '15 at 1:37
  • $\begingroup$ I would ask it on SO, you dont even need to mention blender. You just have a question about looping through a list in python, but can not use a try except. $\endgroup$
    – David
    Aug 16 '15 at 21:02
  • 2
    $\begingroup$ @David Interesting. Posted it on blender.se and actually got an answer that would not have been possible to find on SO due to the nature of the answer; instead of changing the loop type, the syntax got changed to prevent errors. You can read about it here: blender.stackexchange.com/questions/35759/… $\endgroup$
    – JMY1000
    Aug 16 '15 at 21:05

I think we're quite lenient regarding the scope of Python questions. The main criterion is 'is the code an integral part of a script for Blender'. To most people who answer python questions here it's quite obvious when a question stems from a weak understanding of python, vs one that arose due to misconceptions about bpy, or misunderstanding of the control flow generated by certain constructs (like simple Operator vs Modal Operator..).

In the end BSE benefits from having several levels of user skills catered for, from:

  • proficient Python coders with weak understanding of Blender
  • proficient Blender users experimenting with Python
  • proficient Blender users with strong Python but confused by the API.
  • users not proficient in either

You can always just straight up ask, and provide a working/broken snippet as a link, and say: this doesn't work, I know / don't know why / have suspicions ; are there better mechanisms available? If you do share code, it's conventional to first do your own reduction on the code to take out all the bits that are not important to demonstrating the problem. The process of reducing the problem code to as few lines as possible often results in valuable insight to you as a coder -- sometimes even negating the need to place the post in the first place.

Generally you should preface the code with an explanation of what you had hoped it would do, and the general idea of the larger scope of which the code is only one element -- because you might be coding something one way that has a more elegant solution ( for example: bpy.ops.* vs lower level bpy calls)

Even if we can't help, or the problem has nothing to do with bpy / blender we tend to close the question after suggesting links for further reading. It isn't intended as an insult.

  • $\begingroup$ Okay. It's just so sad when a question gets closed or deleted with no answer simply because it's too specific, and I wanted to make sure that I stayed within the bounds so this doesn't happen. $\endgroup$
    – JMY1000
    Aug 14 '15 at 15:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .