Skip to content

Commit 19aa963

Browse files
committed
Pytomatas v.1.0.0
Simulates Automatons Acceptors DFA, NFA, PDA and Turing Machines
1 parent def8f0f commit 19aa963

24 files changed

+64
-64
lines changed

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
MIT License
22

33
Copyright (c) 2023 Alejandro Ramos @arhcoder
4-
Pytomata Project
4+
Pytomatas Project
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

README.md

+25-25
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# 🤖 Pytomata
1+
# 🤖 Pytomatas
22

3-
**📌 Version 1.6.0**
3+
**📌 Version 1.0.0**
44

55
<hr>
66

7-
Pytomata allows to simulate Acceptor Automata in the console with Python, implementing its characteristics using different definitions (mathematics included), with the following types:
7+
Pytomatas allows to simulate Acceptor Automata in the console with Python, implementing its characteristics using different definitions (mathematics included), with the following types:
88

9-
* **[DFA](https://github.com/arhcoder/Pytomata/blob/master/docs/dfa.md "DFA") (Deterministic Finite Automaton)**;
10-
* **[NFA](https://github.com/arhcoder/Pytomata/blob/master/docs/nfa.md "NFA") (Non-deterministic Finite Automaton)**;
11-
* **[PDA](https://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA") (Push-Down Automaton)**;
12-
* **[TM](https://github.com/arhcoder/Pytomata/blob/master/docs/tm.md "TM") (Turing Machine)**;
9+
* **[DFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/dfa.md "DFA") (Deterministic Finite Automaton)**;
10+
* **[NFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/nfa.md "NFA") (Non-deterministic Finite Automaton)**;
11+
* **[PDA](https://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA") (Push-Down Automaton)**;
12+
* **[TM](https://github.com/arhcoder/Pytomatas/blob/master/docs/tm.md "TM") (Turing Machine)**;
1313

1414
What can do?
1515

@@ -28,11 +28,11 @@ What can do?
2828
- **🧿 [Second implementation](#-second-implementation)**;
2929
- **📓 [Documentation](#-documentation)**;
3030
- **📚 [Examples](#-examples)**;
31-
- **🤖 [DFA](https://github.com/arhcoder/Pytomata/blob/master/docs/dfa.md "DFA")**;
32-
- **🤖 [NFA](https://github.com/arhcoder/Pytomata/blob/master/docs/nfa.md "NFA")**;
33-
- **🤖 [PDA](https://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA")**;
34-
- **🤖 [TM](https://github.com/arhcoder/Pytomata/blob/master/docs/tm.md "TM")**;
35-
- **🔐 [Safebox](https://github.com/arhcoder/Pytomata/blob/master/docs/xsafebox.md)**;
31+
- **🤖 [DFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/dfa.md "DFA")**;
32+
- **🤖 [NFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/nfa.md "NFA")**;
33+
- **🤖 [PDA](https://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA")**;
34+
- **🤖 [TM](https://github.com/arhcoder/Pytomatas/blob/master/docs/tm.md "TM")**;
35+
- **🔐 [Safebox](https://github.com/arhcoder/Pytomatas/blob/master/docs/xsafebox.md)**;
3636
- **📁 [Repository](#-repository)**;
3737
- **[Contributing](#-contributing)**;
3838
- **📜 [License](#-license)**;
@@ -41,10 +41,10 @@ What can do?
4141

4242
## 🛠 Installation
4343

44-
You can install Pytomata using pip:
44+
You can install Pytomatas using pip:
4545

4646
```bash
47-
pip install pytomata
47+
pip install pytomatas
4848
```
4949

5050
<br>
@@ -62,7 +62,7 @@ Example of a DFA implementation...
6262
**1. Creating empty automata and then give the data:**
6363

6464
```python
65-
from pytomata import DFA
65+
from pytomatas import DFA
6666

6767
# Creates a DFA called "my_dfa":
6868
my_dfa = DFA()
@@ -111,7 +111,7 @@ my_dfa.accepts(word, stepByStep=True)
111111
**2. Creating the automata passing the data:**
112112

113113
```python
114-
from pytomata import DFA
114+
from pytomatas import DFA
115115

116116
# Declare the States:
117117
Q = {"q0", "qa", "q1", "qb", "q2", "qf", "qx"}
@@ -163,39 +163,39 @@ my_dfa.accepts(word, stepByStep=True)
163163

164164
## 📓 Documentation
165165

166-
Go to **[THIS LINK](http://github.com/arhcoder/Pytomata/blob/master/docs/automatas.md "THIS LINK")** to see the documentation on all the features of the different types of automata, the functions they have, and examples of their implementation.
166+
Go to **[THIS LINK](http://github.com/arhcoder/Pytomatas/blob/master/docs/automatas.md "THIS LINK")** to see the documentation on all the features of the different types of automata, the functions they have, and examples of their implementation.
167167

168168
<br>
169169

170170
## 📚 Examples
171171

172-
1. **[DFA (Deterministic Finite Automaton)](https://github.com/arhcoder/Pytomata/blob/master/docs/dfa.md "DFA").**
172+
1. **[DFA (Deterministic Finite Automaton)](https://github.com/arhcoder/Pytomatas/blob/master/docs/dfa.md "DFA").**
173173

174-
2. **[NFA (Non-deterministic Finite Automaton)](https://github.com/arhcoder/Pytomata/blob/master/docs/nfa.md "NFA").**
174+
2. **[NFA (Non-deterministic Finite Automaton)](https://github.com/arhcoder/Pytomatas/blob/master/docs/nfa.md "NFA").**
175175

176-
3. **[PDA (Push-Down Automaton)](https://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA").**
176+
3. **[PDA (Push-Down Automaton)](https://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA").**
177177

178-
4. **[TM (Turing Machine)](https://github.com/arhcoder/Pytomata/blob/master/docs/tm.md "TM").**
178+
4. **[TM (Turing Machine)](https://github.com/arhcoder/Pytomatas/blob/master/docs/tm.md "TM").**
179179

180-
5. **[Safebox Automata Implementation Project](https://github.com/arhcoder/Pytomata/blob/master/docs/xsafebox.md).**
180+
5. **[Safebox Automata Implementation Project](https://github.com/arhcoder/Pytomatas/blob/master/docs/xsafebox.md).**
181181

182182
<br>
183183

184184
## 📁 Repository
185185

186-
Go to **[THIS LINK](https://github.com/arhcoder/Pytomata)** to check out the source code.
186+
Go to **[THIS LINK](https://github.com/arhcoder/Pytomatas)** to check out the source code.
187187

188188
<br>
189189

190190
## ✍ Contributing
191191

192-
Contributions are welcome! If you encounter any issues, have suggestions, or would like to contribute to the project, please feel free to open an issue or submit a pull request on **[this repository](https://github.com/arhcoder/Pytomata)**.
192+
Contributions are welcome! If you encounter any issues, have suggestions, or would like to contribute to the project, please feel free to open an issue or submit a pull request on **[this repository](https://github.com/arhcoder/Pytomatas)**.
193193

194194
<br>
195195

196196
## 📜 License
197197

198-
This project is licensed under the MIT License - see the **[LICENSE](https://github.com/arhcoder/Pytomata/blob/master/LICENSE)** file for details.
198+
This project is licensed under the MIT License - see the **[LICENSE](https://github.com/arhcoder/Pytomatas/blob/master/LICENSE)** file for details.
199199

200200
<hr>
201201

docs/automatas.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# 🤖 Pytomata
1+
# 🤖 Pytomatas
22

33
**📓 Documentation**
44

55
<hr>
66

7-
Pytomata allows to simulate Acceptor Automata in the console with Python, implementing its characteristics using different definitions (mathematics included), with the following types:
7+
Pytomatas allows to simulate Acceptor Automata in the console with Python, implementing its characteristics using different definitions (mathematics included), with the following types:
88

9-
* **[DFA](https://github.com/arhcoder/Pytomata/blob/master/docs/dfa.md "DFA") (Deterministic Finite Automaton)**;
10-
* **[NFA](https://github.com/arhcoder/Pytomata/blob/master/docs/nfa.md "NFA") (Non-deterministic Finite Automaton)**;
11-
* **[PDA](https://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA") (Push-Down Automaton)**;
12-
* **[TM](https://github.com/arhcoder/Pytomata/blob/master/docs/tm.md "TM") (Turing Machine)**;
9+
* **[DFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/dfa.md "DFA") (Deterministic Finite Automaton)**;
10+
* **[NFA](https://github.com/arhcoder/Pytomatas/blob/master/docs/nfa.md "NFA") (Non-deterministic Finite Automaton)**;
11+
* **[PDA](https://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA") (Push-Down Automaton)**;
12+
* **[TM](https://github.com/arhcoder/Pytomatas/blob/master/docs/tm.md "TM") (Turing Machine)**;
1313

1414
What can do?
1515

@@ -25,11 +25,11 @@ What can do?
2525
- **🛠 [README for USER](https://github.com/arhcoder/arhcoder#readme)**;
2626

2727
- **📄 [DOCUMENTATION FOR DEV](#)**;
28-
- **[DFA Class & Examples](http://github.com/arhcoder/Pytomata/blob/master/docs/dfa.md "DFA Class & Examples")**;
29-
- **[NFA Class & Examples](http://github.com/arhcoder/Pytomata/blob/master/docs/nfa.md "NFA Class & Examples")**;
30-
- **[PDA Class & Examples](http://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA Class & Examples")**;
31-
- **[TM Class & Examples](http://github.com/arhcoder/Pytomata/blob/master/docs/pda.md "PDA Class & Examples")**;
32-
- **[Safebox Example Project](http://github.com/arhcoder/Pytomata/blob/master/docs/xsafebox.md "Safebox Example Project")**;
28+
- **[DFA Class & Examples](http://github.com/arhcoder/Pytomatas/blob/master/docs/dfa.md "DFA Class & Examples")**;
29+
- **[NFA Class & Examples](http://github.com/arhcoder/Pytomatas/blob/master/docs/nfa.md "NFA Class & Examples")**;
30+
- **[PDA Class & Examples](http://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA Class & Examples")**;
31+
- **[TM Class & Examples](http://github.com/arhcoder/Pytomatas/blob/master/docs/pda.md "PDA Class & Examples")**;
32+
- **[Safebox Example Project](http://github.com/arhcoder/Pytomatas/blob/master/docs/xsafebox.md "Safebox Example Project")**;
3333

3434
<hr>
3535

docs/dfa.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ Example: `{"q1, "q2", "qf"}`
147147
📌 **First example:**
148148

149149
```python
150-
from pytomata.dfa import DFA
150+
from pytomatas.dfa import DFA
151151

152152
# First example of DFA Automata instance:
153153
# Language of the Automata:
@@ -180,7 +180,7 @@ while True:
180180
**📌 Second example:**
181181

182182
```python
183-
from pytomata.dfa import DFA
183+
from pytomatas.dfa import DFA
184184

185185
# Second example of DFA Automata instance:
186186
# Language of the Automata:

docs/nfa.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ Example: `{"q1, "q2", "qf"}`
149149
📌 **First example:**
150150

151151
```python
152-
from pytomata.nfa import NFA
152+
from pytomatas.nfa import NFA
153153

154154
# Second example of NFA Automata instance:
155155
# Language of the Automata:
@@ -182,7 +182,7 @@ while True:
182182
**📌 Second example:**
183183

184184
```python
185-
from pytomata.nfa import NFA
185+
from pytomatas.nfa import NFA
186186

187187
# Second example of NFA Automata instance:
188188
# Language of the Automata:

docs/pda.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ If you put: `["1", "2", "Z"]`: `"1"` is on the top, and `"Z"` in the bottom.
179179
📌 **First example:**
180180

181181
```python
182-
from pytomata.pda import PDA
182+
from pytomatas.pda import PDA
183183

184184
# First example of PDA Automata instance:
185185
# Language of the Automata:
@@ -216,7 +216,7 @@ while True:
216216
**📌 Second example:**
217217

218218
```python
219-
from pytomata.pda import PDA
219+
from pytomatas.pda import PDA
220220

221221
# Second example of PDA Automata instance:
222222
# Language of the Automata:

docs/tm.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ Example: `{"q1, "q2", "qf"}`
153153
📌 **First example:**
154154

155155
```python
156-
from pytomata.tm import TM
156+
from pytomatas.tm import TM
157157

158158
# First example of TM Automata instance:
159159
# Language of the Automata:
@@ -220,7 +220,7 @@ while True:
220220
**📌 Second example:**
221221

222222
```python
223-
from pytomata.tm import TM
223+
from pytomatas.tm import TM
224224

225225
# Second example of TM Automata instance:
226226
# Language of the Automata:

docs/xsafebox.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
## 🔐 Safebox Automata
22

3-
### Project implementation for Pytomata
3+
### Project implementation for Pytomatas
44

55
<hr>
66

7-
This is a sample project that uses automata from the Pytomata library (this library), to do two things:
7+
This is a sample project that uses automata from the Pytomatas library (this library), to do two things:
88

99
1. Using an **algorithm, it automatically creates an automaton (DFA)** using the features of this library. Based on creating a safebox password, **the algorithm designs the automaton that would simulate said safe,** and through the library it **implements it** autonomously **and simulates it.** The generated automata understands the letters ***"L"*** and ***"R"*** as language, which are used to represent the password, which must be included in the **string accepted by the automaton, to open the safe.** The algorithm recieves a safebox password (like "LLRRRRLLLLRRRR") and creates the automata for the language that includes the password as substring.
1010

@@ -15,7 +15,7 @@ This is a sample project that uses automata from the Pytomata library (this libr
1515
#### 🎨 1. Automata Safebox Generator:
1616

1717
```python
18-
from pytomata.dfa import DFA
18+
from pytomatas.dfa import DFA
1919
# import os
2020

2121
'''
@@ -258,7 +258,7 @@ if __name__ == "__main__":
258258
#### 🔍 2. Automata Safebox Password Validator:
259259

260260
```python
261-
from pytomata.pda import PDA
261+
from pytomatas.pda import PDA
262262
# import os
263263

264264
def validatePassword(password: str):

examples/dfa-example-1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.dfa import DFA
1+
from pytomatas.dfa import DFA
22

33
# First example of DFA Automata instance:
44
# Language of the Automata:

examples/dfa-example-2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.dfa import DFA
1+
from pytomatas.dfa import DFA
22

33
# Second example of DFA Automata instance:
44
# Language of the Automata:

examples/nfa-example-1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.nfa import NFA
1+
from pytomatas.nfa import NFA
22

33
# Second example of NFA Automata instance:
44
# Language of the Automata:

examples/nfa-example-2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.nfa import NFA
1+
from pytomatas.nfa import NFA
22

33
# Second example of NFA Automata instance:
44
# Language of the Automata:

examples/pda-example-1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.pda import PDA
1+
from pytomatas.pda import PDA
22

33
# First example of PDA Automata instance:
44
# Language of the Automata:

examples/pda-example-2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.pda import PDA
1+
from pytomatas.pda import PDA
22

33
# Second example of PDA Automata instance:
44
# Language of the Automata:

examples/tm-example-1.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.tm import TM
1+
from pytomatas.tm import TM
22

33
# First example of TM Automata instance:
44
# Language of the Automata:

examples/tm-example-2.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.tm import TM
1+
from pytomatas.tm import TM
22

33
# Second example of TM Automata instance:
44
# Language of the Automata:

project/safebox-generator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.dfa import DFA
1+
from pytomatas.dfa import DFA
22
# import os
33

44
'''

project/safebox-validator.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from pytomata.pda import PDA
1+
from pytomatas.pda import PDA
22
# import os
33

44
def validatePassword(password: str):

setup.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,20 @@
77
long_description = readme.read()
88

99
setup(
10-
name="Pytomata",
11-
version="1.6.0",
10+
name="Pytomatas",
11+
version="1.0.0",
1212
author="arhcoder",
1313
author_email="arhcoder@gmail.com",
1414
description="Simulates Automatons Acceptors DFA, NFA, PDA and Turing Machines",
1515
long_description=long_description,
1616
long_description_content_type="text/markdown",
17-
url="https://github.com/arhcoder/Pytomata",
17+
url="https://github.com/arhcoder/Pytomatas",
1818
license="MIT License",
1919
packages=find_packages(),
2020
include_package_data=True,
2121
project_urls={
22-
"Bug Tracker": "https://github.com/arhcoder/Pytomata/issues",
23-
"Contribution": "https://github.com/arhcoder/Pytomata/pulls"
22+
"Bug Tracker": "https://github.com/arhcoder/Pytomatas/issues",
23+
"Contribution": "https://github.com/arhcoder/Pytomatas/pulls"
2424
},
2525
classifiers=[
2626
"Programming Language :: Python :: 3",
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)