Skip to content

Commit d1b712d

Browse files
committed
Merge branch 'main' into develop
2 parents 26aef73 + b31d830 commit d1b712d

File tree

5 files changed

+215
-118
lines changed

5 files changed

+215
-118
lines changed

docs/releases/3.0.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# StateMachine 3.0.0
22

3-
*Not released yet*
3+
*February 24, 2026*
44

55
```{seealso}
66
Upgrading from 2.x? See [](upgrade_2x_to_3.md) for a step-by-step

statemachine/locale/en/LC_MESSAGES/statemachine.po

Lines changed: 65 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
#
44
msgid ""
55
msgstr ""
6-
"Project-Id-Version: 2.4.0\n"
6+
"Project-Id-Version: 3.0.0\n"
77
"Report-Msgid-Bugs-To: fgmacedo@gmail.com\n"
8-
"POT-Creation-Date: 2026-02-13 18:28-0300\n"
9-
"PO-Revision-Date: 2024-06-07 17:41-0300\n"
8+
"POT-Creation-Date: 2026-02-24 14:31-0300\n"
9+
"PO-Revision-Date: 2026-02-24 14:31-0300\n"
1010
"Last-Translator: Fernando Macedo <fgmacedo@gmail.com>\n"
1111
"Language: en\n"
1212
"Language-Team: en <LL@li.org>\n"
@@ -16,92 +16,118 @@ msgstr ""
1616
"Content-Transfer-Encoding: 8bit\n"
1717
"Generated-By: Babel 2.16.0\n"
1818

19-
#: statemachine/callbacks.py:349 statemachine/callbacks.py:354
19+
#: statemachine/callbacks.py:404 statemachine/callbacks.py:409
2020
msgid "Did not found name '{}' from model or statemachine"
21-
msgstr ""
21+
msgstr "Did not found name '{}' from model or statemachine"
2222

2323
#: statemachine/dispatcher.py:126
2424
msgid "Failed to parse boolean expression '{}'"
25-
msgstr ""
25+
msgstr "Failed to parse boolean expression '{}'"
2626

27-
#: statemachine/event.py:90
27+
#: statemachine/event.py:121
2828
msgid "Cannot add callback '{}' to an event with no transitions."
29-
msgstr ""
29+
msgstr "Cannot add callback '{}' to an event with no transitions."
3030

31-
#: statemachine/event.py:123
31+
#: statemachine/event.py:154
3232
msgid "Event {} cannot be called without a SM instance"
33-
msgstr ""
33+
msgstr "Event {} cannot be called without a SM instance"
3434

35-
#: statemachine/exceptions.py:24
35+
#: statemachine/exceptions.py:25
3636
msgid "{!r} is not a valid state value."
37-
msgstr ""
37+
msgstr "{!r} is not a valid state value."
3838

39-
#: statemachine/exceptions.py:38
39+
#: statemachine/exceptions.py:40
4040
msgid "Can't {} when in {}."
41-
msgstr ""
42-
43-
#: statemachine/factory.py:73
44-
msgid "There are no states."
45-
msgstr ""
41+
msgstr "Can't {} when in {}."
4642

47-
#: statemachine/factory.py:76
48-
msgid "There are no events."
43+
#: statemachine/factory.py:79
44+
msgid ""
45+
"There should be one and only one initial state. Your currently have "
46+
"these: {0}"
4947
msgstr ""
48+
"There should be one and only one initial state. Your currently have "
49+
"these: {0}"
5050

51-
#: statemachine/factory.py:88
51+
#: statemachine/factory.py:160
5252
msgid ""
5353
"There should be one and only one initial state. You currently have these:"
5454
" {!r}"
5555
msgstr ""
56+
"There should be one and only one initial state. You currently have these:"
57+
" {!r}"
5658

57-
#: statemachine/factory.py:101
59+
#: statemachine/factory.py:176
5860
msgid "Cannot declare transitions from final state. Invalid state(s): {}"
59-
msgstr ""
61+
msgstr "Cannot declare transitions from final state. Invalid state(s): {}"
6062

61-
#: statemachine/factory.py:109
63+
#: statemachine/factory.py:187
6264
msgid ""
6365
"All non-final states should have at least one outgoing transition. These "
6466
"states have no outgoing transition: {!r}"
6567
msgstr ""
68+
"All non-final states should have at least one outgoing transition. These "
69+
"states have no outgoing transition: {!r}"
6670

67-
#: statemachine/factory.py:123
71+
#: statemachine/factory.py:201
6872
msgid ""
6973
"All non-final states should have at least one path to a final state. "
7074
"These states have no path to a final state: {!r}"
7175
msgstr ""
76+
"All non-final states should have at least one path to a final state. "
77+
"These states have no path to a final state: {!r}"
7278

73-
#: statemachine/factory.py:147
79+
#: statemachine/factory.py:214
7480
msgid ""
7581
"There are unreachable states. The statemachine graph should have a single"
7682
" component. Disconnected states: {}"
7783
msgstr ""
84+
"There are unreachable states. The statemachine graph should have a single"
85+
" component. Disconnected states: {}"
7886

79-
#: statemachine/factory.py:253
80-
msgid "An event in the '{}' has no id."
87+
#: statemachine/factory.py:251
88+
msgid ""
89+
"Invalid entry in 'listeners': {!r}. Expected a class, callable, or "
90+
"listener instance."
8191
msgstr ""
92+
"Invalid entry in 'listeners': {!r}. Expected a class, callable, or "
93+
"listener instance."
94+
95+
#: statemachine/factory.py:351
96+
msgid "An event in the '{}' has no id."
97+
msgstr "An event in the '{}' has no id."
8298

8399
#: statemachine/mixins.py:28
84100
msgid "{!r} is not a valid state machine name."
85-
msgstr ""
101+
msgstr "{!r} is not a valid state machine name."
102+
103+
#: statemachine/state.py:246
104+
msgid "'donedata' can only be specified on final states."
105+
msgstr "'donedata' can only be specified on final states."
86106

87-
#: statemachine/state.py:194
107+
#: statemachine/state.py:304
88108
msgid "State overriding is not allowed. Trying to add '{}' to {}"
89-
msgstr ""
109+
msgstr "State overriding is not allowed. Trying to add '{}' to {}"
90110

91-
#: statemachine/statemachine.py:89
111+
#: statemachine/statemachine.py:158
92112
msgid "There are no states or transitions."
93-
msgstr ""
113+
msgstr "There are no states or transitions."
94114

95-
#: statemachine/statemachine.py:277
115+
#: statemachine/statemachine.py:431
96116
msgid ""
97117
"There's no current state set. In async code, did you activate the initial"
98118
" state? (e.g., `await sm.activate_initial_state()`)"
99119
msgstr ""
120+
"There's no current state set. In async code, did you activate the initial"
121+
" state? (e.g., `await sm.activate_initial_state()`)"
100122

101-
#: statemachine/transition_mixin.py:15
102-
msgid "{} only supports the decorator syntax to register callbacks."
123+
#: statemachine/transition.py:74
124+
msgid ""
125+
"Not a valid internal transition from source {source!r}, target {target!r}"
126+
" should be self or a descendant."
103127
msgstr ""
128+
"Not a valid internal transition from source {source!r}, target {target!r}"
129+
" should be self or a descendant."
104130

105-
#: statemachine/engines/async_.py:18
106-
msgid "Only RTC is supported on async engine"
107-
msgstr ""
131+
#: statemachine/transition_mixin.py:19
132+
msgid "{} only supports the decorator syntax to register callbacks."
133+
msgstr "{} only supports the decorator syntax to register callbacks."

statemachine/locale/hi_IN/LC_MESSAGES/statemachine.po

Lines changed: 51 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ msgid ""
55
msgstr ""
66
"Project-Id-Version: 2.4.0\n"
77
"Report-Msgid-Bugs-To: fgmacedo@gmail.com\n"
8-
"POT-Creation-Date: 2026-02-13 18:28-0300\n"
8+
"POT-Creation-Date: 2026-02-24 14:31-0300\n"
99
"PO-Revision-Date: 2024-06-07 17:41-0300\n"
1010
"Last-Translator: Fernando Macedo <fgmacedo@gmail.com>\n"
1111
"Language: hi_IN\n"
@@ -16,104 +16,129 @@ msgstr ""
1616
"Content-Transfer-Encoding: 8bit\n"
1717
"Generated-By: Babel 2.16.0\n"
1818

19-
#: statemachine/callbacks.py:349 statemachine/callbacks.py:354
19+
#: statemachine/callbacks.py:404 statemachine/callbacks.py:409
2020
msgid "Did not found name '{}' from model or statemachine"
2121
msgstr "मॉडल या स्टेटमशीन में नाम '{}' नहीं मिला"
2222

2323
#: statemachine/dispatcher.py:126
2424
msgid "Failed to parse boolean expression '{}'"
2525
msgstr "बूलियन अभिव्यक्ति '{}' को पार्स करने में विफल रहा"
2626

27-
#: statemachine/event.py:90
27+
#: statemachine/event.py:121
2828
msgid "Cannot add callback '{}' to an event with no transitions."
2929
msgstr "बिना ट्रांज़िशन वाले इवेंट में कॉलबैक '{}' नहीं जोड़ सकते।"
3030

31-
#: statemachine/event.py:123
31+
#: statemachine/event.py:154
3232
msgid "Event {} cannot be called without a SM instance"
3333
msgstr "इवेंट {} को SM इंस्टेंस के बिना कॉल नहीं किया जा सकता"
3434

35-
#: statemachine/exceptions.py:24
35+
#: statemachine/exceptions.py:25
3636
msgid "{!r} is not a valid state value."
3737
msgstr "{!r} एक मान्य स्टेट मान नहीं है।"
3838

39-
#: statemachine/exceptions.py:38
39+
#: statemachine/exceptions.py:40
4040
msgid "Can't {} when in {}."
4141
msgstr "{} स्थिति में {} नहीं कर सकते।"
4242

43-
#: statemachine/factory.py:73
44-
msgid "There are no states."
45-
msgstr "कोई स्टेट नहीं है।"
46-
47-
#: statemachine/factory.py:76
48-
msgid "There are no events."
49-
msgstr "कोई इवेंट नहीं है।"
43+
#: statemachine/factory.py:79
44+
msgid ""
45+
"There should be one and only one initial state. Your currently have "
46+
"these: {0}"
47+
msgstr ""
48+
"एक और केवल एक प्रारंभिक स्टेट होना चाहिए। वर्तमान में आपके पास ये हैं: "
49+
"{0}"
5050

51-
#: statemachine/factory.py:88
51+
#: statemachine/factory.py:160
5252
msgid ""
5353
"There should be one and only one initial state. You currently have these:"
5454
" {!r}"
5555
msgstr ""
5656
"एक और केवल एक प्रारंभिक स्टेट होना चाहिए। वर्तमान में आपके पास ये हैं: "
5757
"{!r}"
5858

59-
#: statemachine/factory.py:101
59+
#: statemachine/factory.py:176
6060
msgid "Cannot declare transitions from final state. Invalid state(s): {}"
6161
msgstr "अंतिम स्टेट से ट्रांज़िशन घोषित नहीं कर सकते। अमान्य स्टेट: {}"
6262

63-
#: statemachine/factory.py:109
63+
#: statemachine/factory.py:187
6464
msgid ""
6565
"All non-final states should have at least one outgoing transition. These "
6666
"states have no outgoing transition: {!r}"
6767
msgstr ""
6868
"सभी गैर-अंतिम स्टेट में कम से कम एक आउटगोइंग ट्रांज़िशन होना चाहिए। इन "
6969
"स्टेट में कोई आउटगोइंग ट्रांज़िशन नहीं है: {!r}"
7070

71-
#: statemachine/factory.py:123
71+
#: statemachine/factory.py:201
7272
msgid ""
7373
"All non-final states should have at least one path to a final state. "
7474
"These states have no path to a final state: {!r}"
7575
msgstr ""
7676
"सभी गैर-अंतिम स्टेट में अंतिम स्टेट तक कम से कम एक पथ होना चाहिए। इन "
7777
"स्टेट में अंतिम स्टेट तक कोई पथ नहीं है: {!r}"
7878

79-
#: statemachine/factory.py:147
79+
#: statemachine/factory.py:214
8080
msgid ""
8181
"There are unreachable states. The statemachine graph should have a single"
8282
" component. Disconnected states: {}"
8383
msgstr ""
8484
"कुछ स्टेट पहुंच योग्य नहीं हैं। स्टेटमशीन ग्राफ में एक ही घटक होना चाहिए।"
8585
" डिस्कनेक्टेड स्टेट: {}"
8686

87-
#: statemachine/factory.py:253
87+
#: statemachine/factory.py:251
88+
msgid ""
89+
"Invalid entry in 'listeners': {!r}. Expected a class, callable, or "
90+
"listener instance."
91+
msgstr ""
92+
"'listeners' में अमान्य प्रविष्टि: {!r}। एक क्लास, कॉलेबल, या लिसनर "
93+
"इंस्टेंस अपेक्षित है।"
94+
95+
#: statemachine/factory.py:351
8896
msgid "An event in the '{}' has no id."
8997
msgstr "'{}' में एक इवेंट का आईडी नहीं है।"
9098

9199
#: statemachine/mixins.py:28
92100
msgid "{!r} is not a valid state machine name."
93101
msgstr "{!r} एक मान्य स्टेटमशीन नाम नहीं है।"
94102

95-
#: statemachine/state.py:194
103+
#: statemachine/state.py:246
104+
msgid "'donedata' can only be specified on final states."
105+
msgstr "'donedata' केवल अंतिम स्टेट पर निर्दिष्ट किया जा सकता है।"
106+
107+
#: statemachine/state.py:304
96108
msgid "State overriding is not allowed. Trying to add '{}' to {}"
97109
msgstr ""
98110
"स्टेट ओवरराइड करना अनुमति नहीं है। '{}' को {} में जोड़ने की कोशिश कर रहे "
99111
"हैं"
100112

101-
#: statemachine/statemachine.py:89
113+
#: statemachine/statemachine.py:158
102114
msgid "There are no states or transitions."
103115
msgstr "कोई स्टेट या ट्रांज़िशन नहीं हैं।"
104116

105-
#: statemachine/statemachine.py:277
117+
#: statemachine/statemachine.py:431
106118
msgid ""
107119
"There's no current state set. In async code, did you activate the initial"
108120
" state? (e.g., `await sm.activate_initial_state()`)"
109121
msgstr ""
110122
"कोई वर्तमान स्टेट सेट नहीं है। असिंक्रोनस कोड में, क्या आपने प्रारंभिक "
111123
"स्टेट को सक्रिय किया? (उदाहरण: `await sm.activate_initial_state()`)"
112124

113-
#: statemachine/transition_mixin.py:15
125+
#: statemachine/transition.py:74
126+
msgid ""
127+
"Not a valid internal transition from source {source!r}, target {target!r}"
128+
" should be self or a descendant."
129+
msgstr ""
130+
"स्रोत {source!r} से अमान्य आंतरिक ट्रांज़िशन, लक्ष्य {target!r} स्वयं या "
131+
"एक वंशज होना चाहिए।"
132+
133+
#: statemachine/transition_mixin.py:19
114134
msgid "{} only supports the decorator syntax to register callbacks."
115135
msgstr "{} केवल कॉलबैक रजिस्टर करने के लिए डेकोरेटर सिंटैक्स का समर्थन करता है।"
116136

117-
#: statemachine/engines/async_.py:18
118-
msgid "Only RTC is supported on async engine"
119-
msgstr "असिंक्रोनस इंजन पर केवल RTC समर्थित है"
137+
#~ msgid "There are no states."
138+
#~ msgstr "कोई स्टेट नहीं है।"
139+
140+
#~ msgid "There are no events."
141+
#~ msgstr "कोई इवेंट नहीं है।"
142+
143+
#~ msgid "Only RTC is supported on async engine"
144+
#~ msgstr "असिंक्रोनस इंजन पर केवल RTC समर्थित है"

0 commit comments

Comments
 (0)