semvec/pypi-packages huggingface dataset:
threemystic-cloud-cmdb 0.1.11
A lightweight CMDB to help you track your cloud resources from various providers
Requires Python: >=3.8

# 3mystic_cloud_cmdb
A Lightweight Multi Cloud CMDB (Configuration management database)
Currently supports AWS/Azure

The goal of this project is to help you manage the inventory and some base configuration around them. You cannot manage and secure resources you do not know about.

This project is currently in beta, along with the other projects. Once the other projects come out of beta this one will as well. However, this is also, the most stable of the project. I am trying not to change things that would break from version to version. So if you would like to use something here, it should be relatively safe. I will try to call out breaking changes. The connection for both AWS and Azure does currently work. So if you have issues please create an issue.

While in beta not all datasets might be working.

# Install

## pip

The latest version of this project is currently being pushed to
https://pypi.org/project/threemystic-cloud-cmdb/

pip install threemystic-cloud-cmdb

If you would prefer to install directly from GitHub you need to install Hatch.
Please refer to the section below for that.

Once hatch is installed you can use pip

pip install https://github.com/3MysticApes/3mystic_cloud_cmdb

## Hatch
This project is packaged using Hatch. If you need to install Hatch please refer to their documentation
https://hatch.pypa.io/latest/install/

# Setup

Once installed please run 
3mystic_cloud_cmdb -c

# Usage

usage: 3mystic_cloud_cmdb [-h] [-v] [--version] [--config] [--generate] [--provider {aws,azure}]

One Action is required

options:</br>
  -h, --help            show this help message and exit</br>
  -v, --verbose         Verbose output</br>
  --version             Action: outputs the versions of the app being used.</br>
  --config, -c          Action: This is so you can setup the data client</br>
  --data, -d            Action: Pull the various Data from the provider</br>
  --provider {aws,azure}, -p {aws,azure} Provider: This is to set the provider that should be used</br>

The --provider/-p is only reqired if you do not set a default provider with the config.

To see the various data options you can run 
3mystic_cloud_data_client --generate/-g

That will list all current options for pulling datasets for. 

# Contribute
You need to install Hatch. Please see the previous Hatch section under install.

Once you download the project you can do the following
You should be able to run the following command in the root directory for a general status
hatch status

Then from the root directory you can run
pip install ./

I would suggest while you are debugging issues to install it with the command below. Once you are done with your development you can uninstall. This allows you to make edits and test easier.
pip install -e ./
https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-e
protomodel 0.0.13
Python Library to generate proto buffer code from python using type annotations
Requires Python: >=3.10,<4.0



# Protomodel
Python Library to generate proto buffer code from python using type annotations

## Installation
### Create a virtual enviroment (Optional)
```bash
python -m venv venv
source venv/bin/activate # venv/Scripts/activate on Windows
```
### Install package (require python ^3.10 version)
```bash
pip install protomodel
```
## Example
Create a python file and add the following code:
```python
from protomodel import message, service, rpc


@message
class HelloRequest:
    name: str

@message
class HelloReply:
    message: str

@service
class Greeter:

    @rpc
    def say_hello(hello_request: HelloRequest) -> HelloReply:
        pass

```

## Generate file

Run the following command to generate a proto buffer file:
```bash
python -m protomodel generate --python_file=hello.py --proto_name=hello.proto
```


And then you will get the following result:
```proto
syntax = "proto3";

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}
```

Add a package name:
```bash
python -m protomodel generate --python_file=hello.py \
--proto_name=hello.proto --package_name=my_package_name
```

```proto
syntax = "proto3";

package my_package_name;

...
```

## Adding another types
### Python Code:
```python
@message
class Item:
    id: int
    name: str
    description: str
    price: float
    enabled: bool

@message
class ItemsList:
    items: list[Item]
```

### Result:
```proto
message Item {
  int32 id = 1;
  string name = 2;
  string description = 3;
  double price = 4;
  bool enabled = 5;
}

message ItemsList {
  repeated Item items = 1;
}
```
defcli 0.0.2
def your CLIs
Requires Python: >=3.10

`def` your CLIs.

Use `@subcommand` on any function to add a subcommand to your cli. The
function's arguments become the arguments to the subcommand. Uses argparse
behind the scenes.

```python
import defcli

@defcli.subcommand
def positional_integer(num: int):
    print(f"I like to add five: {num + 5}")

defcli.run()
```

```
$ python3 main.py positional_integer 7
I like to add five: 12
```

Or use named arguments.

```python
import defcli

@defcli.subcommand
def named_string(*, name):
    print(f"Hello, {name}!")

defcli.run()
```

```
$ python3 main.py named_string --name Fred
Hello, Fred!
```

Named booleans are automatically converted to flags.

```python
import defcli

@defcli.subcommand
def named_bool(has_something=False):
    if has_something:
        print("Got it!")
    else:
        print("We're empty-handed")

# Pass arguments to defcli.run instead of parsing sys.argv
defcli.run(["named_bool", "--has_something"])
```

```
$ python3 main.py
Got it!
```

## Future
 - [ ] Allow `@subcommand` to take a parameter to allow the same program to
       define multiple CLI's.
 - [ ] Fix bugs (there are many...)
ipcs 0.2.0
Simple IPC server/client
Requires Python: >=3.10
Keywords: ipc,networking

[![PyPI](https://img.shields.io/pypi/v/ipcs)](https://pypi.org/project/ipcs/) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ipcs) ![PyPI - Downloads](https://img.shields.io/pypi/dm/ipcs) ![PyPI - License](https://img.shields.io/pypi/l/ipcs) [![Documentation Status](https://readthedocs.org/projects/ipcs/badge/?version=latest)](https://ipcs.readthedocs.io/en/latest/?badge=latest) [![Buy Me a Coffee](https://img.shields.io/badge/-tasuren-E9EEF3?label=Buy%20Me%20a%20Coffee&logo=buymeacoffee)](https://www.buymeacoffee.com/tasuren)
# ipcs
A library for Python for IPC.  
(Although it is written as IPC, it can also be used for communication with an external server.)

## Installation
`$ pip install ipcs`

## Examples
Run `ipcs-server` and run following code.
### Client A
```python
# Client A

from ipcs import Client, Request

client = Client("a")

@client.route()
async def hello(request: Request, word: str):
    print("Hello, %s!" % word)

client.run("ws://localhost/", port=8080)
```
### Client B
```python
# Client B

from ipcs import Client

client = Client("b")

@client.listen()
async def on_ready():
    # Run client a's hello str to say greetings to world.
    await client.request("a", "hello", "World")
    # or `await client.connections.a.request("hello", "World")`

client.run("ws://localhost/", port=8080)
```

## License
The license is MIT and details can be found [here](https://github.com/tasuren/ipcs/blob/main/LICENSE).

## Documentation
Documentation is avaliable [here](https://ipcs.readthedocs.io/en/latest/).