Skip to main content

A hierarchical finite state machine library

Project description

gotstate

Security Quality Gate Status Tests Lint

A hierarchical finite state machine (HFSM) library for Python, focusing on reliability and ease of use.

Features

  • Hierarchical state machines with composite states
  • Type-safe state and event handling
  • Thread-safe event processing
  • Guard conditions and transition actions
  • State data management with lifecycle hooks
  • Timeout events
  • History states (both shallow and deep)
  • Error handling
  • Activation hooks for monitoring
  • Plugin system

Status

Version 1.0.2

Initial release!

Design Philosophy

gotstate is designed with the following principles:

  • Safety: Runtime validation and type checking
  • Clarity: Intuitive API design
  • Reliability: Built for real-world applications
  • Performance: Minimal overhead
  • Flexibility: Extensible through plugins

Installation

Install using pip:

pip install gotstate

Requirements

  • Python 3.8 or higher
  • See requirements.txt for full dependencies

Documentation

Documentation is available in the docs/ directory:

  • API Reference
  • Usage Guide
  • Examples

License

Licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please read our contributing guidelines in CONTRIBUTING.md.

Security

This package follows Python security best practices.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gotstate-1.0.4.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gotstate-1.0.4-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file gotstate-1.0.4.tar.gz.

File metadata

  • Download URL: gotstate-1.0.4.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gotstate-1.0.4.tar.gz
Algorithm Hash digest
SHA256 5f058e42d1a71e34caea06a71e855ed122ee738dedc5037f3a5a2ff02095f960
MD5 4ab6afebbc78e5fcf165970f7103e3e5
BLAKE2b-256 81800f9a50e98916a0082a48fddacb5cfc94987d1e1d5eb4dc9553c8fdf228b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for gotstate-1.0.4.tar.gz:

Publisher: publish.yml on Brad-Edwards/gotstate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gotstate-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: gotstate-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for gotstate-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 552798d864a92e9fd5808c58bd20a0a193e517c41153cc83965f6cb47a738914
MD5 5d6bfe8367d589f40e6d93e65945e0df
BLAKE2b-256 3bf52effe4719dd7e6f620432d795fda2a51195a14dd8123cd98432247a6933a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gotstate-1.0.4-py3-none-any.whl:

Publisher: publish.yml on Brad-Edwards/gotstate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page