54 Commits

Author SHA1 Message Date
Sybren A. Stüvel
58d0b0e4b4 Py Docs: Gotcha chapter on threading
Update the Python API documentation about crashes with multi-threaded
code.

- Move the "threading gotcha" into a file of its own. That way it's
  immediately clear from looking at the Gotcha table of contents that
  threading is not supported.
- Simplify the example code, so that it doesn't access `bpy`.
  Apparently the problem is much wider than just multi-threaded access
  to `bpy`, and involves _all_ Python threads, regardless of what they
  do / access.
- Add some more explanation and move some text from the bottom to the
  top, so that the first-read part (when reading top to bottom) has
  most of the information.

Pull Request: https://projects.blender.org/blender/blender/pulls/139279
2025-05-22 16:23:23 +02:00
Bastien Montagne
b1d044bfb8 Merge branch 'blender-v4.3-release' 2024-11-11 16:17:04 +01:00
Bastien Montagne
69a7948575 Doc: Py API: Add more info about UNDO operator option.
Essentially, any operator modifying Blender data should enable this
`UNDO` option, else bad things (corruption, crashes...) are likely to
happen.

* Added a new Operator example to explain this topic.
* Updated some existing Operator examples that were not correct anymore.
* Added a new small section in the gotchas page linking to it.
* Added also short reminder about this in the `UNDO` 'tooltip'
  description itself.

Related to #77557.
2024-11-11 16:13:37 +01:00
Bastien Montagne
d5c50fc366 API docs: Split 'Gotchas' page, add some info about python instances and subclasses.
This PR:
* Splits the `Gotchas` page into several sub-sections. This was getting too big and hard to navigate.
* Adds some information regarding Python instances life-time of objects wrapping Blender internal data.
* Adds some information about usage of constructors and destructors for sub-classes of Blender-defined types.

Pull Request: https://projects.blender.org/blender/blender/pulls/129814
2024-11-10 18:40:14 +01:00
Campbell Barton
7eb0b6cce9 Docs: remove references to "tessface" 2023-09-13 13:31:34 +10:00
Campbell Barton
09a2b5c70f Docs: note that renaming data-blocks sorted them which impacts iteration
Address issue raised in #107027.
2023-04-21 20:36:29 +10:00
Bastien Montagne
429771fed5 Add 'work around' to accessing data from volatile iterators in py API.
Re T102550.
2022-11-30 17:04:37 +01:00
Julian Eisel
00d2bda241 Py Docs: Document delayed setting of UI data
Blender may not apply certain UI data changes immediately when done via BPY.
This is a rather typical gotcha, better to have it documented.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D15614
2022-09-01 15:03:51 +02:00
Aaron Carlisle
adcce654e3 Cleanup: Use correct capitalization of "F-Curve" 2022-04-18 20:17:41 -04:00
Myles Walcott
880e85fc80 Cleanup: Grammar in doc/python_api
* Its -> It's
* Scripts -> Script's
* then -> than

Several phrasing grammar fixes.

Reviewed By: Blendify

Differential Revision: https://developer.blender.org/D14021
2022-02-07 14:28:12 -05:00
Hans Goudey
46475b8e11 Cleanup: Grammar: its self vs. itself 2022-01-23 22:34:56 -06:00
luzpaz
dea26253a0 cleanup: fix typos in comments and docs
Followup to https://developer.blender.org/D10288

Reviewed By: Blendify

Differential Revision: https://developer.blender.org/D10346
2021-11-16 18:45:10 -05:00
Campbell Barton
7ccd19fc12 PyAPI: update docs to include poll_message_set reference
Part of D9738
2021-04-20 12:29:04 +10:00
Campbell Barton
28ebe827e6 Cleanup: trailing space 2020-10-02 11:59:16 +10:00
Bastien Montagne
211d213160 API doc: Gotcha's: Add section about abusing RNA properties callbacks.
Especially with new undo/redo it is even less recommended to perform
complex operations in those callbacks, they should remain as fast and
localized as possible.

Also updated the section about undo/redo a bit.
2020-09-14 11:02:52 +02:00
Tobias Heinke
23f8ab4250 API docs: intro overhaul
- Update terminology, spelling, formatting.
- Rename screen to workspace.
- Update for 2.8 UI changes.
2020-06-23 23:13:10 +10:00
Campbell Barton
3d3a91103b Doc: remove MeshTessFace reference 2020-03-24 16:26:07 +11:00
Brecht Van Lommel
604fdb6e85 Spelling fixes in comments and descriptions, patch by luzpaz
Differential Revision: https://developer.blender.org/D3744
2019-07-31 14:27:35 +02:00
Bastien Montagne
33e8db94b1 Fix (unreported) missing updates in scripts/docs after scene.update() removal.
This should really have been done together with API changes, simple
usage of grep does the trick to catch most places needing updates.
2019-06-04 14:39:51 +02:00
Bastien Montagne
8ba1c3072c API Doc: Gotcha: add section about 'exceptions to the rules' known crashing cases.
As exposed in T62406, we can have some rare cases of crashes due to
memory re-allocation happening outside of expected scenarii.

Ideally this should be re-designed, but at least keep track of those
known exceptions to general rules...
2019-03-12 14:12:46 +01:00
Bastien Montagne
49c100e56c API doc: info_gotcha: extend description of issues related to memory changes.
* Added a TL;DR first paragraph summarizing that one shall not keep any
reference to Blender data when modifying its container.

* Added some info about fact that adding items to some data containers
(like Collection) can also invalidate existing items (due to array
re-allocation).

* Added a Do/Don't example which shows a crash after adding some items
to a collection.

Related to T61297.
2019-02-18 14:36:16 +01:00
Bastien Montagne
9299073d57 Cleanup: API doc 'info_gotcha': typos. 2019-02-18 14:36:16 +01:00
Campbell Barton
f81aeac2bc Docs: rename group -> collection 2018-11-30 09:10:40 +11:00
Campbell Barton
6af997710b Merge branch 'master' into blender2.8 2018-11-30 08:39:59 +11:00
Campbell Barton
8ac2d85d2f Cleanup: trailing space 2018-11-30 08:38:25 +11:00
Brecht Van Lommel
e65784a051 Python API: add loop triangles access, remove tessfaces.
Loop triangles are tessellated triangles create from polygons, for renderers
or exporters that need to match Blender's polygon tesselation exactly. These
are a read-only runtime cache.

Tessfaces are a legacy data structure from before Blender supported n-gons,
and were already mostly removed from the C code.

Details on porting code to loop triangles is in the release notes.

Differential Revision: https://developer.blender.org/D3539
2018-10-10 17:43:44 +02:00
Brecht Van Lommel
4da2acae3a Spelling fixes in comments and descriptions, patch by luzpaz.
Differential Revision: https://developer.blender.org/D3668
2018-09-03 16:55:01 +02:00
Aaron Carlisle
cf9a6b416c API: Fix Links
Self-explanatory. to find broken links run `sphinx-build -b linkcheck sphinx-in sphinx-out`

Reviewers: mont29

Tags: #bf_blender, #python, #infrastructure:_websites

Differential Revision: https://developer.blender.org/D2297
2016-10-25 17:34:01 +02:00
Sybren A. Stüvel
d4a9da28e8 Doc fix: rather then -> rather than 2015-08-05 12:48:04 +02:00
Campbell Barton
532b735ee8 Docs; Py API gotcha's section
Minor corrections and cleanup
2015-07-12 20:50:44 +10:00
Gaia Clary
6fbf05f326 Make python gotchas more clear (regarding handling of stale data) 2015-04-13 11:00:22 +02:00
Campbell Barton
5d5b0db724 API Docs: typos 2014-08-06 02:12:52 +10:00
Campbell Barton
f3ad5bd3ff rename references to faces in docs. 2013-05-28 13:58:56 +00:00
Campbell Barton
4fd9df25c6 Add 2 documents to the python api reference.
- Blender/Python Addon Tutorial: a step by step guide on how to write an addon from scratch

- Blender/Python API Reference Usage: examples of how to use the API reference docs

Thanks to John Nyquist for editing these docs and giving feedback.
2012-12-07 05:27:09 +00:00
Campbell Barton
57d7c1f226 pydna experimental ctypes DNA api was broken with more recent python versions, and some minor doc edits. 2012-12-05 03:38:01 +00:00
Campbell Barton
ca25fd0307 fix [#33389] Curve points restricted to 0..1 range,
also added note on python3.3's faulthandler module.
2012-12-03 07:10:31 +00:00
Campbell Barton
955b5db5e9 build fix: recent commit broke building on 64bit linux 2012-11-12 03:37:28 +00:00
Campbell Barton
d22c5d4341 update to python api Gotcha docs to reflect changes to the api. also add a section about modifying linked library data. 2012-11-12 03:23:47 +00:00
Campbell Barton
3ec93e8c35 doc type correction 2012-08-22 15:04:11 +00:00
Campbell Barton
1642e2888c rename Mesh.uv_loop_layers --> uv_layers
add filtering for document generator to support --partial bpy.types.SomeType
2012-04-22 23:51:50 +00:00
Howard Trickey
ef1d3a3993 Fixed a couple of typos in the Python API docs 2012-03-23 14:29:59 +00:00
Campbell Barton
174a46361f doc cleanup: minor corrections and improvements to docstrings + recent doc changes. 2012-03-23 01:55:38 +00:00
Campbell Barton
8e2efc1dbf rna/python api change: rename Mesh.faces --> tessfaces, since existing scripts are using this to modify the mesh and its confusing that the edits are not kept.
This also makes it clearer that the faces are for tessellated results only.

Added a section on the Gotcha's about upgrading scripts, the pros and cons of MeshTessFace/MeshPoly/BMFace.
and spesifically how to upgrade importers and exporters for 2.63+.
2012-03-23 00:28:29 +00:00
Campbell Barton
5af9e8d5ca remove section in gotcha's doc about matrix col/row order since this has been changed. 2012-02-17 20:41:41 +00:00
Campbell Barton
c6c6a3578b tab -> spaces 2011-11-18 04:55:43 +00:00
Campbell Barton
e9be8b4a0a document py gotchas
- dont assume you get the data names you ask for
- beware of collisions with library names
- beware of py modules calling sys.exit
2011-11-18 04:48:27 +00:00
Campbell Barton
2dc6ca49b3 py docs:
added python doc section on script performance and a note on relative file paths in the gotcha's page.
also added script for spell checking py comments.
2011-10-17 10:43:55 +00:00
Campbell Barton
1e6dbb1a4d added section about editmode switching to gotchas 2011-09-10 23:06:44 +00:00
Campbell Barton
e883de2739 spelling corrections from Philippe Casteleyn 2011-09-10 14:28:13 +00:00
Campbell Barton
909d74d124 - use python convention for headings
- use implicit examples rather than .. code-block::
2011-08-27 08:09:12 +00:00