Skip to content

Commit ad572a9

Browse files
committed
Merge branch 'master' into pymunk7
2 parents 19ac3e3 + 7c00c77 commit ad572a9

17 files changed

+60
-75
lines changed

CHANGELOG.rst

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,30 @@ Changelog
55
Breaking: At least one of the two bodies attached to constraint/join must be dynamic.
66
77
8-
.. Pymunk 6.12?????
9-
Changes....
8+
Pymunk 6.11.1 (2025-02-09)
9+
--------------------------
10+
11+
**Python 3.13 GC issue fix**
12+
13+
This is a patch update to Pymunk that removes debug logging. This should an
14+
issue with GC on Python 3.13.
15+
16+
Changes:
17+
- Remove debug logging
18+
1019

1120
Pymunk 6.11.0 (2025-01-18)
1221
--------------------------
1322

1423
**Debug draw for Pyglet 2.1**
1524

16-
This is a minor update to Pymunk that update the pyglet debug draw code to
25+
This is a minor update to Pymunk that update the Pyglet debug draw code to
1726
work with the newly released Pyglet 2.1. Note that this means Pyglet 2.0.x
1827
does not work anymore. The release also adds back pre-built wheels for Pypy
1928
with a workaround until Pypy make a new release.
2029

2130
Changes:
22-
- Support pyglet 2.1.x (this means Pyglet 2.0.x wont work)
31+
- Support Pyglet 2.1.x (this means Pyglet 2.0.x wont work)
2332
- Readded Pypy pre-built wheels
2433

2534

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ authors:
55
given-names: "Victor"
66
title: "Pymunk"
77
abstract: "A easy-to-use pythonic rigid body 2d physics library"
8-
version: 6.11.0
9-
date-released: 2025-01-18
8+
version: 6.11.1
9+
date-released: 2025-02-09
1010
url: "https://pymunk.org"

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ the Pymunk webpage for some examples.
1818

1919
2007 - 2025, Victor Blomqvist - vb@viblo.se, MIT License
2020

21-
This release is based on the latest Pymunk release (6.11.0),
21+
This release is based on the latest Pymunk release (6.11.1),
2222
using Chipmunk2D 7 rev dfc2fb8ca023ce6376fa2cf4a7f91c92ee08a970.
2323

2424

@@ -138,7 +138,7 @@ possible, usually `pip install` will take care of everything for you.
138138

139139
* GCC and friends (optional, you need it to compile Pymunk from source. On
140140
windows Visual Studio is required to compile)
141-
* Pygame (optional, you need it to run the Pygame based demos)
141+
* Pygame or Pygame-CE (optional, you need it to run the Pygame based demos)
142142
* Pyglet (optional, you need it to run the Pyglet based demos)
143143
* Matplotlib & Jupyter Notebook (optional, you need it to run the Matplotlib
144144
based demos)

docs/src/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
1111

1212
project = "Pymunk"
13-
copyright = "2013-2022, Victor Blomqvist"
13+
copyright = "2013-2025, Victor Blomqvist"
1414
author = "Victor Blomqvist"
1515

1616
# -- General configuration ---------------------------------------------------

docs/src/showcase.rst

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,18 @@ List of papers which has used or mentioned Pymunk:
350350

351351
.. (list made using "Chicago" style citation)
352352
353+
#. Liu, Daochang, Junyu Zhang, Anh-Dung Dinh, Eunbyung Park, Shichao Zhang, and Chang Xu.
354+
"Generative Physical AI in Vision: A Survey."
355+
arXiv preprint arXiv:2501.10928 (2025).
356+
357+
#. Liu, Shaowei, Zhongzheng Ren, Saurabh Gupta, and Shenlong Wang.
358+
"Physgen: Rigid-body physics-grounded image-to-video generation."
359+
In European Conference on Computer Vision, pp. 360-378. Springer, Cham, 2025.
360+
361+
#. Gu, Feida, Hongrui Sang, Yanmin Zhou, Jiajun Ma, Rong Jiang, Zhipeng Wang, and Bin He.
362+
"Learning Graph Dynamics with Interaction Effects Propagation for Deformable Linear Objects Shape Control."
363+
IEEE Transactions on Automation Science and Engineering (2025).
364+
353365
#. Zhong, Ninghan, Alessandro Potenza, and Stephen L. Smith.
354366
"Autonomous Navigation in Ice-Covered Waters with Learned Predictions on Ship-Ice Interactions."
355367
arXiv preprint arXiv:2409.11326 (2024).
@@ -426,9 +438,9 @@ List of papers which has used or mentioned Pymunk:
426438
"Deep Reinforcement Learning for 2D Physics-Based Object Manipulation in Clutter."
427439
arXiv preprint arXiv:2312.04570 (2023).
428440

429-
#. Sosa, Felix, Samuel J. Gershman, and Tomer D. Ullman.
430-
"Blending simulation and abstraction for physical reasoning."
431-
(2023).
441+
#. Sosa, Felix A., Samuel J. Gershman, and Tomer D. Ullman.
442+
"Blending simulation and abstraction for physical reasoning."
443+
Cognition 254 (2025): 105995..
432444

433445
#. Li, Shiqian, Kewen Wu, Chi Zhang, and Yixin Zhu.
434446
"I-PHYRE: Interactive Physical Reasoning."
@@ -761,7 +773,7 @@ List of papers which has used or mentioned Pymunk:
761773
"Dynamic Robot Path Planning Among Crowds in Emergency Situations."
762774

763775

764-
List last updated 2024-11-28. If something is missing or wrong, please contact
776+
List last updated 2025-01-26. If something is missing or wrong, please contact
765777
me!
766778

767779

pymunk/_callbacks.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,6 @@ def ext_cpBodyArbiterIteratorFunc(
299299
def ext_cpBodyConstraintIteratorFunc(
300300
cp_body: ffi.CData, cp_constraint: ffi.CData, _: ffi.CData
301301
) -> None:
302-
_logger.debug("bodyfree remove constraint %s %s", cp_body, cp_constraint)
303302
cp_space = lib.cpConstraintGetSpace(cp_constraint)
304303
if cp_space != ffi.NULL:
305304
lib.cpSpaceRemoveConstraint(cp_space, cp_constraint)
@@ -309,7 +308,6 @@ def ext_cpBodyConstraintIteratorFunc(
309308
def ext_cpBodyShapeIteratorFunc(
310309
cp_body: ffi.CData, cp_shape: ffi.CData, _: ffi.CData
311310
) -> None:
312-
_logger.debug("bodyfree remove shape %s %s", cp_body, cp_shape)
313311
cp_space = lib.cpShapeGetSpace(cp_shape)
314312
if cp_space != ffi.NULL:
315313
lib.cpSpaceRemoveShape(cp_space, cp_shape)

pymunk/_pyglet15_util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def __init__(self, **kwargs: Any) -> None:
6161
Typical usage::
6262
6363
>>> import pymunk
64-
>>> import pymunk.pygame_util
64+
>>> import pymunk.pyglet_util
6565
>>> s = pymunk.Space()
6666
>>> options = pymunk.pyglet_util.DrawOptions()
6767
>>> s.debug_draw(options)

pymunk/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
cp = _chipmunk_cffi.lib
3333
ffi = _chipmunk_cffi.ffi
3434

35-
version = "6.11.0"
35+
version = "6.11.1"
3636

3737
chipmunk_version = "%s-%s" % (
3838
ffi.string(cp.cpVersionString).decode("utf-8"),

pymunk/body.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
__docformat__ = "reStructuredText"
22

3-
import logging
43
from typing import ( # Literal,
54
TYPE_CHECKING,
65
Any,
@@ -31,8 +30,6 @@
3130
_PositionFunc = Callable[["Body", float], None]
3231
_VelocityFunc = Callable[["Body", Vec2d, float, float], None]
3332

34-
_logger = logging.getLogger(__name__)
35-
3633

3734
class Body(PickleMixin, TypingAttrMixing, object):
3835
"""A rigid body
@@ -199,8 +196,6 @@ def __init__(
199196
"""
200197

201198
def freebody(cp_body: ffi.CData) -> None:
202-
_logger.debug("bodyfree start %s", cp_body)
203-
204199
# remove all shapes on this body from the space
205200
lib.cpBodyEachShape(cp_body, lib.ext_cpBodyShapeIteratorFunc, ffi.NULL)
206201

@@ -210,13 +205,9 @@ def freebody(cp_body: ffi.CData) -> None:
210205
)
211206

212207
cp_space = lib.cpBodyGetSpace(cp_body)
213-
_logger.debug("bodyfree space %s", cp_space)
214208
# print(cp_space, cp_space == ffi.NULL)
215209
if cp_space != ffi.NULL:
216-
_logger.debug("bodyfree space remove body %s %s", cp_space, cp_body)
217210
lib.cpSpaceRemoveBody(cp_space, cp_body)
218-
219-
_logger.debug("bodyfree free %s", cp_body)
220211
lib.cpBodyFree(cp_body)
221212

222213
if body_type == Body.DYNAMIC:

pymunk/constraints.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@
6868
"SimpleMotor",
6969
]
7070

71-
import logging
7271
from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Tuple, Union
7372

7473
if TYPE_CHECKING:
@@ -80,8 +79,6 @@
8079
from ._typing_attr import TypingAttrMixing
8180
from .vec2d import Vec2d
8281

83-
_logger = logging.getLogger(__name__)
84-
8582
_TorqueFunc = Callable[["DampedRotarySpring", float], float]
8683
_ForceFunc = Callable[["DampedSpring", float], float]
8784

@@ -114,7 +111,6 @@ def constraintfree(cp_constraint: ffi.CData) -> None:
114111
if cp_space != ffi.NULL:
115112
lib.cpSpaceRemoveConstraint(cp_space, cp_constraint)
116113

117-
_logger.debug("constraintfree %s", cp_constraint)
118114
lib.cpConstraintFree(cp_constraint)
119115

120116
self._constraint = ffi.gc(_constraint, constraintfree)
@@ -453,7 +449,7 @@ def __init__(
453449
b: "Body",
454450
*args: Union[
455451
Tuple[float, float], Tuple[Tuple[float, float], Tuple[float, float]]
456-
]
452+
],
457453
) -> None:
458454
"""a and b are the two bodies to connect, and pivot is the point in
459455
world coordinates of the pivot.

0 commit comments

Comments
 (0)