semvec/pypi-packages huggingface dataset:
iac-bootstrap 1.0.4
Python package to automate deploiment of the infrastructures
Requires Python: >=3.6

# iac-bootstrap

iac-bootstrap is a package to make fast deployments of infrastructure,  
on cloud providers, like AWS, with IAC tools like Ansible and Terraform.  

The full [documentation](https://iac-bootstrap.readthedocs.io/en/latest/) is available on Readthedocs.


## installation

To install the package.
```
pip install --user iac_bootstrap==1.0.4
```

There is a [quickstart](https://iac-bootstrap.readthedocs.io/en/latest/quickstart/) you should follow to build your own customized infrastructure.

If you want to test our example to get an idea of how it works, you can follow our simple usage, described below.


## Simple usage

iac-bootstrap automates terraform initialization and deployment, although generating necessary files for ansible and launch playbooks.  

You can use the available example, and define your own `group` and `env` values,  
or use the example with "mygroup" and "myenv" already available.

```
cd examples/infra-base
ssh-keygen -f configs/mygroup/myenv/ssh/id_rsa
```

This generates the tfstate configuration
```
python -m iac_bootstrap.infra_bootstrap --account mygroup-myenv
```

This launches the terraform layers to build the infrastructure (vpc and autoscaling group)
```
python -m iac_bootstrap.infra_builder_terraform --account mygroup-myenv
```

This installs the Ansible role and launches the playbook, to install nginx
```
ansible-galaxy install wescale.nginx -p ./ansible/roles/external/
export ANSIBLE_CONFIG="$PWD/mygroup-myenv-ansible.cfg"

python -m iac_bootstrap.install_nginx --group mygroup --env myenv
```

.. Then you can destroy the infra when you have finished
```
python -m iac_bootstrap.infra_builder_terraform --account mygroup-myenv --action destroy

aws s3 rm s3://mygroup-myenv-eu-west-1-tfstate --recursive
python -m iac_bootstrap.infra_bootstrap --account mygroup-myenv --action destroy
```


## Features

Here are features for infra_builder_terraform script:

```
Builder Terraform Script:
optional arguments:
  -h, --help            show this help message and exit
  --account ACCOUNT     account <group>-<env>
  --action ACTION       plan apply or destroy
  --region REGION       eu-west-1 by default
  --layer LAYER         terraform layer
  --ignore              ignore layer
  --provider PROVIDER   cloud provider , by default aws
  --approve APPROVE     Auto-approve option ,set 'yes' to enable it
```

Here are features for infra_bootstrap script :

```
Boot Strap script

optional arguments:
  -h, --help           show this help message and exit
  --provider PROVIDER  provider aws
  --account ACCOUNT    account <group>-<env>
  --action ACTION      plan apply or destroy
  --region REGION      eu-west-1 by default
  --approve APPROVE    Auto-approve option ,set 'yes' to enable it
```

## license

[GNU GENERAL PUBLIC LICENSE](https://github.com/WeScale/iac-bootstrap/blob/master/LICENSE)
peerpy 1.2.2
p2p connection over TCP made dead simple!
Requires Python: >=3.6

# peerpy 1.0.0
## Discover and connect every device running python on a local network via TCP!

This module provides a high-level API for discovering and connecting multiple devices on a local network, without the headache of implementing python's built-in socket module!

## Installation

`pip install peerpy`

## Quick tour

Connecting two devices running python is as easy, reliable and painless as 8 lines of code!

Start by importing the `Peer` class, which automatically detects your device's local IP and run a socket server, listening on a given port:

```python
from peerpy import Peer
```

Start a peer object on the listening device:

```python
with Peer(port=54865) as peer:
    # let the program run until CTRL+C
    while True:
        time.sleep(1.)
```

Connect your second device to your listening device:

```python
with Peer(port=12152) as peer:
    connection = peer.connect("192.168.0.2:54865")

    if connection:
        connection.send(f"Hello world from {peer.address_name}!")
```

You can even add handlers which are executed on a separate thread on specific events, such as:

```python
def set_connection_handler(connection):
    connection.set_handler("data", lambda data: print(data))

with Peer(handlers={
    # called when socket server is listening
    "listen": lambda peer: print(peer.address_name),
    # called when socket has established a connection
    "connection": set_connection_handler,
    # called when socket server has stopped
    "stop": lambda peer: print("Peer stopped!")
}) as peer:
```

For more details on handlers and connections, please consider reading [the documentation](https://peerpy.readthedocs.io).

## Examples

To begin with this module, please consider reading [the examples](https://github.com/Rubilmax/peerpy/blob/master/examples/) given on this repository.

## Documentation

For further documentation, please [Read The Docs](https://peerpy.readthedocs.io)!
python-coinage 1.0.0
Cryptocurrency address validation module
Requires Python: >=3.7

# Coinage
![Travis](https://travis-ci.org/FranciscoDA/coinage.svg?branch=master)

Coinage is a python module for validating cryptocurrency addresses with different formats among different blockchain networks.

# Examples

```py
from coinage import BitcoinBlockchain, FailedValidation, FailedChecksumValidation

btc = BitcoinBlockchain()

try:
	valid = btc.validate('abcdef1qpzry9x8gf2tvdw0s3jn54khce6mua7lmqqqxw')
	if valid.is_from_main_net():
		print('this address looks good')
	else:
		print('this isn\'t a mainnet address')
except FailedChecksumValidation:
	print('you probably made a mistake when copying this address')
except FailedValidation:
	print('this isnt a bitcoin address')
```

Or:

```py
from coinage import BitcoinBlockchain, FailedValidation, FailedChecksumValidation

btc = BitcoinBlockchain()

result, details = btc.is_valid('abcdef1qpzry9x8gf2tvdw0s3jn54khce6mua7lmqqqxw')
if result:
	if details.is_from_main_net():
		print('this address looks good')
	else:
		print('this isn\'t a mainnet address')
else:
	print('this isnt a valid bitcoin address')
```

# Sources
[Bitcoin wiki page about Bech32](https://en.bitcoin.it/wiki/Bech32)

[BIP-0173](https://en.bitcoin.it/wiki/BIP_0173)

[EIP-55](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md)

[CashAddr Spec](https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/cashaddr.md)

[Coinaddr Python Module](https://pypi.org/project/coinaddr/)