semvec/pypi-packages huggingface dataset:
aCrypt 0.1.7
Ciphering made easy.
Requires Python: >=2.7

# aCrypt - Python
Ciphering made easy.

## Features
- Encode a string into numbers using a secret key
- Decode encoded strings into their original form using a secret key
- Generate a valid aCrypt key

## Usage
| Usage          | Params                   | Return Value      |
| :------------- | :----------------------- | :---------------- |
| `create_key()` | `None: None`             | `int: key`        |
| `cipher()`     | `str: message, int: key` | `str: ciphered`   |
| `decipher()`   | `str: message, int: key` | `str: deciphered` |

## Examples
Lets say you have private JSON data that you need to encode:
```python
# lets imagine this is the data
data = {
    "username": "ilovecats",
    "password": "meow123"
}
```

Of course though, writing this un-encoded data can be very unsafe. So the only way to protect it is to cipher it.
```python
from json import dumps, loads
from os import getenv

data = {
    "username": "ilovecats",
    "password": "meow123"
}

# turn the JSON into a string we can encode
data = dumps(data)

# using a key we can store in our environment variables, we can cipher it
encoded_data = cipher(data, os.getenv("CIPHER_KEY")) # you can also keep the key in a variable, thought this is unsafe as users can just use the key

# voila! The data has been ciphered:
print(encoded_data)
```

And to decipher the data and use it, you can do the reverse:

```python
from json import dumps, loads
from os import getenv

# decipher the data
decoded_data = decipher(encoded_data, os.getenv("CIPHER_KEY"))

# turn the string back into json data
data = loads(decoded_data)

# now you can use it!
print("Your username is" + data.username + "!")
```

## Credits
- Thank you to the repl.it community for providing such amazing services for free.
- Thank you to Atticus Kuhn for pointing out safety concerns on the project.
- Thank you to AmazingMech2418 (https://repl.it/@AmazingMech2418), for showing me the world of cryptography.
- Thank you StealthHydra179 (https://repl.it/@StealthHydra179), for being the only person who cared about programming in my school.
- Thank you Giothecoder (https://repl.it/@Giothecoder), for being there when I needed you most.


## Change Log
- 0.0.1 - Cipher was added, deciphering was unfinished
- 0.0.2 - Deciphering finished with lots of bugs
- 0.0.3 - Atticus Kuhn pointed out a safety bug, and thus it was patched
- 0.0.4 - Bugs fixes
- 0.0.5 - Added Credits
- 0.0.6 - AmazingMech2418 pointed out huge safety feature that should be added
- 0.0.7 - Bugs fixes
- 0.0.8 - Test Version
- 0.0.9 - Test Version
- 0.1.0 - Update 0.0.6 was revisited and implemented
- 0.1.1 - Added changelog
- 0.1.3 - Bug fixes
- 0.1.4 - Made key generation more efficient
- 0.1.5 - Added examples
grains-universal 3
Vertical app merge components for grains on all systems
Requires Python: >=3.6

****************
GRAINS_UNIVERSAL
****************
**Grains, execution modules, and state modules common to all systems**

INSTALLATION
============

Install with pip::

    pip install grains-universal

DEVELOPMENT INSTALLATION
========================


Clone the `grains-universal` repo and install with pip::

    git clone https://gitlab.com/saltstack/pop/grains-universal.git grains_universal
    pip install -e grains_universal

EXECUTION
=========
After installation the `grains` command should now be available

TESTING
=======
install `requirements-test.txt` with pip and run pytest::

    pip install -r grains-universal/requirements-test.txt
    pytest grains-universal/tests

VERTICAL APP-MERGING
====================
Instructions for extending grains-universal into an OS or distro specific pop project

Install pop::

    pip install --upgrade pop

Create a new directory for the project::

    mkdir idem-{specific_platform}
    cd idem-{specific_platform}


Use `pop-seed` to generate the structure of a project that extends `grains` and `idem`::

    pop-seed -t v idem-{specific_platform} -d grains exec states

* "-t v" specifies that this is a vertically app-merged project
*  "-d grains exec states" says that we want to implement the dynamic names of "grains", "exec", and "states"

Add "grains-universal" to the requirements.txt::

    echo grains-universal >> requirements.txt

And that's it!  Go to town making grains, execution modules, and state modules specific to your specific platform.
Follow the conventions you see in grains-universal.

For information about running idem states and execution modules check out
https://idem.readthedocs.io