zigrazor

ZigRazor

Posted on October 1, 2021

My Hacktoberfest Repos

Hacktoberfest

My Hacktoberfest Repos

šŸ‘‹šŸ» Hi everyone, and Happy Hacktoberfest!

This is my repos ready for the Hacktoberfest:

C++

Header-Only C++ library for Graph Representation and Algorithms with a simple interface.

GitHub logo ZigRazor / CXXGraph

Header-Only C++ Library for Graph Representation and Algorithms

CXXGraph

DOI

DOI

codecov CodeFactor

GitHub license GitHub release

Generic badge Generic badge Generic badge

Generic badge Generic badge

Introduction

CXXGraph is a comprehensive C++ library that manages graph algorithms. This header-only library serves as an alternative to the Boost Graph Library (BGL).

We are Looking for...

We are looking for:

  • A Web Developer for the development of the CXXGraph website. All documentation is currently hosted on this GitHub page.
  • Developers and Contributors to provide input. If you are new to the open-source world, we will guide you step by step!

If you are interested, please contact us at zigrazor@gmail.com or contribute to this project. We are waiting for you!

Roadmap

Completed Description Date of Completition
āœ”ļø Release 0.4.0 Oct 7, 2022
āœ”ļø Release 0.5.0 Mar 23, 2023
āœ”ļø First Stable Release 1.0.0 Mar 28, 2023
āœ”ļø Release 1.0.1 May 7, 2023
āœ”ļø Release 1.1.0 May 8, 2023
āœ”ļø Stable Release 2.0.0 Jun 1, 2023
āœ”ļø Stable Release 3.0.0 Nov 3, 2023
āœ”ļø Release 3.1.0 Jan 9,
ā€¦

A C++ Library to which implements the structures and algorithms for finite automata, pushdown automata, and Turing machines.

GitHub logo ZigRazor / CXXAutomata

A C++ library for simulating automata and Turing machines

CXXAutomata

A C++ library for simulating automata and Turing machines

Required Graphviz ( sudo apt-get install graphviz )

Required GoogleTest ( sudo apt install libgtest-dev build-essential cmake cd /usr/src/googletest sudo cmake . sudo cmake --build . --target install )

Inspired by: automata-lib




Python

A Python implementation of simply configurable State Machines.

GitHub logo ZigRazor / PyStateMachine

Python State Machine

PyStateMachine

python Python State Machine

CodeFactor Codacy Badge

DeepSource DeepSource

Introduction

PyStateMachine is a Framework that support state machines in Python

Requirements

  • Python3

How to Run

How do we import the framework?

  1. Insure that Python3 is installed:

  2. Install the PyStateMachines framework

    • pip3 install PyStateMachines

Example

After framework is installed, import and create a small example. Create xml file from sample with the State machine states.

myStateMachine.xml

<?xml version="1.0"?>
<x:States xmlns:x="pystatemachine:sm">
    <State>
        <Name>State1</Name>
        <Event>
            <Name>ToState2</Name>
            <ToState>State2</ToState>
        </Event>
    </State>
    <State>
        <Name>State2</Name>
        <Event>
            <Name>ToState3</Name>
            <ToState>State3</ToState>
        </Event>
    </State>
    <State>
        <Name>State3</Name>
        <Event>
            <Name>ToState1</Name>
            <ToState>State1</ToState>
        </Event>
    </State>
    <Initial_State>State1</Initial_State>
</x:States>

Create Python Script to run state machine pyStateMachine.py

# importing necessary packages
from StateMachine import StateMachine

"""Test StateMachine"""
sm = StateMachine("myStateMachine.xml")
sm.LoadStateMachine()

# print initial state
print(sm.get_current_state())  # current_state == State1

sm.InjectEvent("ToState2")
print(sm.get_current_state())  # current_state == State2

sm.InjectEvent("ToState3")
print(sm.get_current_state())  # current_state == State3

sm.InjectEvent("ToState1")
print(sm.get_current_state())  # current_state == State1

run Python script to execute state machine

python pyStateMachine.py

pyStateMachineUnitTest.py

## Test Suite
ā€¦

Happy Coding! šŸ’»

šŸ’– šŸ’Ŗ šŸ™… šŸš©
zigrazor
ZigRazor

Posted on October 1, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

My Hacktoberfest Repos
hacktoberfest My Hacktoberfest Repos

October 1, 2021