Metadata-Version: 2.1
Name: cellular-automata-class
Version: 0.0.4
Summary: An expandable cell class intended for constructing Cellular Automata
Home-page: https://github.com/ceferisbarov/cellular-automata-class
Author: Jafar Isbarov
Author-email: cefer.isbarov@gmail.com
License: UNKNOWN
Project-URL: Bug Tracker, https://github.com/ceferisbarov/cellular-automata-class/issues
Description: # Cell class for Cellular Automata
        https://test.pypi.org/project/cellular-automata-class/
        # Installation
        `pip install cellular-automata-class`
        
        # Usage
        Import the class as:
        ```python
        from cellular_automata_class import cell
        ```
        It can be used to set up a lattice:
        ```python
        def set_lattice(length, choice):
            '''
            Given the choice of lattice pattern, sets a 2 dimensional, finite lattice,
            digits of which store a cell each
            '''
          
            lattice = []
            for n in range(length):
                lattice.append([])
            
            for x in range(length):
                for y in range(length):
                    lattice[x] += [Cell(1,x,y) if x == math.floor(length/2) else Cell(0,x,y)]
        
            return lattice
        ```
        In order to "play" the lattice, we need to iterate through the whole lattice calling `cell.evaluate()` method:
        ```python
        def play(lattice, evaluation_count):
        
            for n in range(evaluation_count): 
                lattice_copy = copy.deepcopy(lattice)
                for x in lattice:
                    for y in x:
                        y.evaluate(lattice_copy)
        ```
        The class can be expanded in various ways. E.g. we can add stochastic element to it, we can add new neighborhood types, etc.
        
        # Troubleshooting
        
        # Contribute
        
        # References
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
