python-statemachine
Expressive statecharts and FSMs for modern Python.
파일 탐색기
최종 버전 다운로드 (.zip)- pages.yml
- python-package.yml
- release.yml
- FUNDING.yml
- ISSUE_TEMPLATE.md
- custom_machine.css
- coming_from_state_pattern.md
- coming_from_transitions.md
- _oc_machine_processing.svg
- internal_transition_sc.png
- lab_approval_machine_accepted.png
- oc_machine_processing.svg
- python-statemachine.png
- readme_trafficlightmachine.png
- test_state_machine_internal.png
- traffic_light_machine.png
- formats.md
- index.md
- json_schema.md
- security.md
- 0.1.0.md
- 0.2.0.md
- 0.3.0.md
- 0.4.2.md
- 0.5.0.md
- 0.5.1.md
- 0.6.0.md
- 0.6.1.md
- 0.6.2.md
- 0.7.0.md
- 0.7.1.md
- 0.8.0.md
- 0.9.0.md
- 1.0.0.md
- 1.0.1.md
- 1.0.2.md
- 1.0.3.md
- 2.0.0.md
- 2.1.0.md
- 2.1.1.md
- 2.1.2.md
- 2.2.0.md
- 2.3.0.md
- 2.3.1.md
- 2.3.2.md
- 2.3.3.md
- 2.3.4.md
- 2.3.5.md
- 2.3.6.md
- 2.4.0.md
- 2.5.0.md
- 2.6.0.md
- 3.0.0.md
- 3.1.0.md
- 3.1.1.md
- 3.1.2.md
- 3.2.0.md
- 3.2.1.md
- index.md
- upgrade_2x_to_3.md
- actions.md
- api.md
- async.md
- authors.md
- behaviour.md
- concepts.md
- conf.py
- contributing.md
- diagram.md
- error_handling.md
- events.md
- guards.md
- index.md
- installation.md
- integrations.md
- invoke.md
- listeners.md
- models.md
- processing_model.md
- statechart.md
- states.md
- timeout.md
- transitions.md
- tutorial.md
- validations.md
- weighted_transitions.md
- __init__.py
- dot.py
- mermaid.py
- table.py
- __init__.py
- __main__.py
- extract.py
- formatter.py
- model.py
- sphinx_ext.py
- __init__.py
- timeout.py
- weighted.py
- __init__.py
- async_.py
- base.py
- sync.py
- __init__.py
- reader.py
- statechart.schema.json
- __init__.py
- processor.py
- reader.py
- __init__.py
- reader.py
- __init__.py
- actions.py
- builder.py
- class_factory.py
- evaluators.py
- interpreter.py
- invoke.py
- loader.py
- model.py
- native.py
- ports.py
- system_variables.py
- validation.py
- statemachine.po
- statemachine.po
- statemachine.po
- statemachine.po
- __init__.py
- callbacks.py
- configuration.py
- dispatcher.py
- event.py
- event_data.py
- events.py
- exceptions.py
- factory.py
- graph.py
- i18n.py
- invoke.py
- mixins.py
- model.py
- orderedset.py
- py.typed
- registry.py
- signature.py
- spec_parser.py
- state.py
- statemachine.py
- states.py
- transition.py
- transition_list.py
- transition_mixin.py
- utils.py
- __init__,.py
- settings.py
- wsgi.py
- __init__.py
- apps.py
- models.py
- statemachines.py
- tests.py
- app.py
- manage.py
- __init__.py
- ai_shell_machine.py
- air_conditioner_machine.py
- all_actions_machine.py
- async_guess_the_number_machine.py
- async_without_loop_machine.py
- enum_campaign_machine.py
- guess_the_number_machine.py
- lor_machine.py
- order_control_machine.py
- order_control_rich_model_machine.py
- persistent_model_machine.py
- README.rst
- recursive_event_machine.py
- reusing_transitions_machine.py
- sqlite_persistent_model_machine.py
- statechart_cleanup_machine.py
- statechart_compound_machine.py
- statechart_delayed_machine.py
- statechart_error_handling_machine.py
- statechart_eventless_machine.py
- statechart_history_machine.py
- statechart_in_condition_machine.py
- statechart_parallel_machine.py
- traffic_light_machine.py
- user_machine.py
- weighted_idle_machine.py
- order_pipeline.json
- order_pipeline.yaml
- telemetry.json
- telemetry.yaml
- guarded_counter.json
- guarded_counter.scxml
- guarded_counter.yaml
- invoke_child.json
- invoke_child.scxml
- invoke_child.yaml
- system_event.json
- system_event.scxml
- system_event.yaml
- w3c_test147_if.json
- w3c_test147_if.scxml
- w3c_test147_if.yaml
- w3c_test155_foreach.json
- w3c_test155_foreach.scxml
- w3c_test155_foreach.yaml
- __init__.py
- test_format_parity.py
- test_guards_parity.py
- test_interpreter.py
- test_loader.py
- test_model.py
- test_native.py
- test_native_behavior.py
- test_native_invoke.py
- test_ports.py
- test_readers.py
- test_security.py
- test_validation.py
- __init__.py
- middle_earth_journey.py
- middle_earth_journey_two_compounds.py
- middle_earth_journey_with_finals.py
- moria_expedition.py
- moria_expedition_with_escape.py
- quest_for_erebor.py
- shire_to_rivendell.py
- __init__.py
- destroy_the_ring.py
- destroy_the_ring_simple.py
- nested_quest_donedata.py
- quest_for_erebor_done_convention.py
- quest_for_erebor_explicit_id.py
- quest_for_erebor_multi_word.py
- quest_for_erebor_with_event.py
- __init__.py
- error_convention_event.py
- error_convention_transition_list.py
- error_in_action_sc.py
- error_in_action_sm_with_flag.py
- error_in_after_sc.py
- error_in_error_handler_sc.py
- error_in_guard_sc.py
- error_in_guard_sm.py
- error_in_on_enter_sc.py
- __init__.py
- auto_advance.py
- beacon_chain.py
- beacon_chain_lighting.py
- coordinated_advance.py
- ring_corruption.py
- ring_corruption_with_bear_ring.py
- ring_corruption_with_tick.py
- __init__.py
- deep_memory_of_moria.py
- gollum_personality.py
- gollum_personality_default_gollum.py
- gollum_personality_with_default.py
- shallow_moria.py
- __init__.py
- combined_guard.py
- descendant_check.py
- eventless_in.py
- fellowship.py
- fellowship_coordination.py
- gate_of_moria.py
- __init__.py
- session.py
- session_with_done_state.py
- two_towers.py
- war_of_the_ring.py
- war_with_exit.py
- __init__.py
- multi_validator.py
- order_validation.py
- order_validation_no_error_events.py
- validator_fallthrough.py
- validator_with_cond.py
- validator_with_error_transition.py
- __init__.py
- campaign_machine.py
- campaign_machine_with_validator.py
- campaign_machine_with_values.py
- reverse_traffic_light.py
- __init__.py
- showcase_actions.py
- showcase_compound.py
- showcase_deep_history.py
- showcase_guards.py
- showcase_history.py
- showcase_internal.py
- showcase_parallel.py
- showcase_parallel_compound.py
- showcase_self_transition.py
- showcase_simple.py
- transition_from_any.py
- tutorial_coffee_order.py
- test144.scxml
- test145.scxml
- test147.scxml
- test148.scxml
- test149.scxml
- test150.scxml
- test151.scxml
- test152.scxml
- test153.scxml
- test155.scxml
- test156.scxml
- test158.scxml
- test159.scxml
- test172.scxml
- test173.scxml
- test174.scxml
- test175.scxml
- test176.scxml
- test179.scxml
- test183.scxml
- test185.scxml
- test186.scxml
- test187.scxml
- test189.scxml
- test190.scxml
- test191.scxml
- test192.scxml
- test194.scxml
- test198.scxml
- test199.scxml
- test200.scxml
- test205.scxml
- test207.scxml
- test208.scxml
- test210.scxml
- test215.scxml
- test216.scxml
- test216sub1.scxml
- test220.scxml
- test223.scxml
- test224.scxml
- test225.scxml
- test226.scxml
- test226sub1.scxml
- test228.scxml
- test229.scxml
- test232.scxml
- test233.scxml
- test234.scxml
- test235.scxml
- test236.scxml
- test237.scxml
- test239.scxml
- test239sub1.scxml
- test240.scxml
- test241.scxml
- test242.scxml
- test242sub1.scxml
- test243.scxml
- test244.scxml
- test245.scxml
- test247.scxml
- test252.scxml
- test253.scxml
- test276.scxml
- test276sub1.scxml
- test277.scxml
- test279.scxml
- test280.scxml
- test286.scxml
- test287.scxml
- test294.scxml
- test298.scxml
- test302.scxml
- test303.scxml
- test304.scxml
- test309.scxml
- test310.scxml
- test311.scxml
- test312.scxml
- test318.scxml
- test319.scxml
- test321.scxml
- test322.scxml
- test323.scxml
- test324.scxml
- test325.scxml
- test326.scxml
- test329.scxml
- test330.scxml
- test331.scxml
- test332.scxml
- test333.scxml
- test335.scxml
- test336.scxml
- test337.scxml
- test338.scxml
- test339.scxml
- test342.scxml
- test343.scxml
- test344.scxml
- test346.scxml
- test347.scxml
- test348.scxml
- test349.scxml
- test350.scxml
- test351.scxml
- test352.scxml
- test354.scxml
- test355.scxml
- test364.scxml
- test372.scxml
- test375.scxml
- test376.scxml
- test377.scxml
- test378.scxml
- test387.scxml
- test388.scxml
- test396.scxml
- test399.scxml
- test401.scxml
- test402.scxml
- test403a.scxml
- test403b.scxml
- test403c.scxml
- test404.scxml
- test405.scxml
- test406.scxml
- test407.scxml
- test409.scxml
- test411.scxml
- test412.scxml
- test413.scxml
- test416.scxml
- test417.scxml
- test419.scxml
- test421.scxml
- test422.scxml
- test423.scxml
- test487.scxml
- test488.scxml
- test495.scxml
- test496.scxml
- test500.scxml
- test501.scxml
- test503.scxml
- test504.scxml
- test505.scxml
- test506.scxml
- test521.scxml
- test525.scxml
- test527.scxml
- test528.scxml
- test529.scxml
- test530.scxml
- test533.scxml
- test550.scxml
- test551.scxml
- test552.scxml
- test552.txt
- test553.scxml
- test554.scxml
- test570.scxml
- test576.scxml
- test579.scxml
- test580.scxml
- test193.scxml
- test201.scxml
- test278.scxml
- test444.scxml
- test445.scxml
- test446.scxml
- test446.txt
- test448.scxml
- test449.scxml
- test451.scxml
- test452.scxml
- test453.scxml
- test456.scxml
- test457.scxml
- test459.scxml
- test460.scxml
- test509.scxml
- test510.scxml
- test518.scxml
- test519.scxml
- test520.scxml
- test522.scxml
- test531.scxml
- test532.scxml
- test534.scxml
- test557.scxml
- test557.txt
- test558.scxml
- test558.txt
- test560.scxml
- test561.scxml
- test562.scxml
- test567.scxml
- test569.scxml
- test577.scxml
- test578.scxml
- LICENSE
- __init__.py
- _harness.py
- conftest.py
- test_microwave.py
- test_scxml_cases.py
- __init__.py
- issue308.md
- issue384_multiple_observers.md
- issue449.md
- test_issue434.py
- test_issue480.py
- test_issue509.py
- __init__.py
- conftest.py
- helpers.py
- models.py
- scrape_images.py
- test_actions.py
- test_api_contract.py
- test_async.py
- test_async_futures.py
- test_callbacks.py
- test_callbacks_isolation.py
- test_class_listeners.py
- test_conditions_algebra.py
- test_configuration.py
- test_contrib_diagram.py
- test_contrib_timeout.py
- test_copy.py
- test_dispatcher.py
- test_error_execution.py
- test_events.py
- test_examples.py
- test_fellowship_quest.py
- test_invoke.py
- test_io.py
- test_listener.py
- test_mermaid_renderer.py
- test_mixins.py
- test_mock_compatibility.py
- test_multiple_destinations.py
- test_optional_pydot.py
- test_profiling.py
- test_registry.py
- test_rtc.py
- test_scxml_datamodel.py
- test_scxml_units.py
- test_signature.py
- test_signature_positional_only.py
- test_spec_parser.py
- test_spec_parser_values.py
- test_state.py
- test_state_callbacks.py
- test_statechart_compound.py
- test_statechart_delayed.py
- test_statechart_donedata.py
- test_statechart_error.py
- test_statechart_eventless.py
- test_statechart_history.py
- test_statechart_in_condition.py
- test_statechart_parallel.py
- test_statemachine.py
- test_statemachine_bounded_transitions.py
- test_statemachine_compat.py
- test_statemachine_inheritance.py
- test_threading.py
- test_transition_list.py
- test_transition_table.py
- test_transitions.py
- test_translation_names.py
- test_validators.py
- test_weighted_transitions.py
- .git-blame-ignore-revs
- .gitignore
- .pre-commit-config.yaml
- .readthedocs.yaml
- AGENTS.md
- CLAUDE.md
- conftest.py
- contributing.md
- LICENSE
- pyproject.toml
- README.md
- uv.lock
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/fgmacedo/python-statemachine
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd python-statemachine
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. 공식 설치 스크립트
쉬움 추천사전 준비물
- Python 3 pip 명령어를 쓰려면 Python이 필요합니다.
pip install python-statemachine
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install python-statemachine[diagrams]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install python-statemachine[io]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
3. Python
쉬움사전 준비물
pip install python-statemachine
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install python-statemachine[diagrams]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
pip install python-statemachine[io]
PyPI에 배포된 패키지를 바로 설치합니다. 소스 클론이 필요 없습니다.
에러 메시지 없이 실행되고 터미널에 안내 문구가 출력되면 정상입니다.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
