semvec/pypi-packages huggingface dataset:
Multi-Rotor-Enigma 0.1.5
An enhanced simulation of the enigma machine
License: MIT
Keywords: Enigma

Multi_Rotor_Enigma 

A simulation of the historic enigma machine, covering its flaws and improving the scope of the technique. Adding to the original Enigma, this technique can accept most characters, numbers and even spaces in the key. Moreover, each character in the string is capable of being encrypted unlike the original edition. 


This can be used for strong encryption

Also, the key length is not limited to just 5, as in a usual enigma machine, the user can create any n length key

To decrypt a message enter the decrypted message and use the same key length and key used for encryption

Usage

The module is easy to use.
To use the module after installing it, write the following code-

From Multi_Rotor_Enigma import Multi_Rotor_Enigma
print(Multi_Rotor_Enigma.Encrypt(msg,no. of rotors,key))

There is the main function Enigma which has 3 attributes- they are (in order)

message to encrypt (string)

number of rotors user wants (integer)

setting of rotors (string)

Note- The length of setting and number of rotors should be the same otherwise an error will occur
unredoable 0.0.5
Object-specific undoing and redoing functionality through wrapper class
License: MIT
Requires Python: >=3.6,<4.0
Keywords: state-management,frontend,web-development,gui,undoing,redoing

# __unredoable__
Python package providing object-specific undoing & redoing functionality through wrapper class

[![Build](https://github.com/w2sv/unredoable/actions/workflows/build.yaml/badge.svg)](https://github.com/w2sv/unredoable/actions/workflows/build.yaml)
[![codecov](https://codecov.io/gh/w2sv/unredoable/branch/master/graph/badge.svg?token=9EESND69PG)](https://codecov.io/gh/w2sv/unredoable)
[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)
![PyPI](https://img.shields.io/pypi/v/unredoable)
[![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://github.com/tterb/atomic-design-ui/blob/master/LICENSEs)

## Download
```
pip install unredoable
```

## Usage

```python
from unredoable import Unredoable

class StateManager:
    def __init__(self, state_variable):
        self.unredoable_state_variable = Unredoable(state_variable, max_stack_depths=10, craft_deep_copies=False)
        
        # state_variable may be of whatever type, whether custom or not, 
        # the sole restraint it's subject to, is that is needs to implement 
        # either __copy__ or __deepcopy__, depending on the passed 
        # 'craft_deep_copies' parameter
        
    def alter_state_variable(self):
        self.unredoable_state_variable.push_state()
        
        self.unredoable_state_variable.obj += 1

if __name__ == '__main__':
    manager = StateManager(69)
    
    manager.alter_state_variable()
    manager.alter_state_variable()
    
    manager.unredoable_state_variable.undo()  # unredoable_state_variable = 70
    manager.unredoable_state_variable.redo()  # unredoable_state_variable = 71
```


## Author
Janek Zangenberg

## License
[MIT](LICENSE)