Skip to main content

GinsFSM, a library to develop systems based on finite-state machines. Includes full async HTTP/WSGI/WinSocket/SockJS servers.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

GinsFSM

    This project is finalized.

    I'm re-writing the idea of ginsfsm in C language.

The name of the new project is Yuneta Simplified.

Key Concepts

Can you draw your development?

Can you view the behavior of your application in real time?

With this framework, you can!

GinsFSM is a Python library for developing systems based on finite-state machines. This model is especially useful for building networking and communication applications.

  • All objects, called gobjs, are instances of a class derived from ginsfsm.gobj.GObj.
  • Each GObj has an internal simple-machine that defines its behavior.
  • Communication between gobjs happens through events.

As a result, the system is fully asynchronous and event-driven.

All objects share a simple and consistent interface — just change the event name and the data payload.

Features

  • Fully asynchronous HTTP server
  • WSGI server
  • WinSocket server/client compatible with sockjs

You can run multiple WSGI applications simultaneously.

Project Scaffolding

GinsFSM includes a variety of scaffolds to help you generate new projects.

Similar to the Pyramid framework's pcreate / pserve commands,
GinsFSM provides gcreate / gserve commands for creating and running projects.

Using the gcreate command with the multi_pyramid_wsgi scaffold, you can generate a project with multiple WSGI applications —
one of which can be a Pyramid WSGI application.

GObj objects are Pyramid "location-aware" resources, and the object model is a hierarchical tree
making traversal dispatching a natural fit.

Support and Documentation

License

Copyright (c) 2012, Ginés Martínez Sánchez.
GinsFSM is released under the terms of the MIT License

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

ginsfsm-0.7.3.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

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

ginsfsm-0.7.3-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file ginsfsm-0.7.3.tar.gz.

File metadata

  • Download URL: ginsfsm-0.7.3.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.22.2 CPython/3.12.2 Linux/6.8.0-57-generic

File hashes

Hashes for ginsfsm-0.7.3.tar.gz
Algorithm Hash digest
SHA256 516574992c2fe03339fd0a59e0081ce762046dee833be20970e2a55090717392
MD5 6fcd17ae4b304a61194f02cfa105acd2
BLAKE2b-256 fb8a52e3e580ac99dba0c2760097bddb46443cee4c1ebcaa962ec4fe8b1379c6

See more details on using hashes here.

File details

Details for the file ginsfsm-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: ginsfsm-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.22.2 CPython/3.12.2 Linux/6.8.0-57-generic

File hashes

Hashes for ginsfsm-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 60860186012493ba56871fcccc95355ac99f6fd99b53cb9282c50ba1f63cffca
MD5 b14ad3529bf1e3506c71433e4f2173e8
BLAKE2b-256 2abc6f2c89f30e8be54beea7d35587b12c6cfa9ba6e9213db2662e028d37ac94

See more details on using hashes here.

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