semvec/pypi-packages huggingface dataset:
logtube 1.0.1
Logtube Python SDK
Requires Python: >=3.6

# logtube-python

logtube python sdk

## 设置

```python

from src import logtube

logtube.setup({
    # 项目名，唯一标识一个项目
    "project": "eshop-id-service",
    # 环境名，用以区分不同环境
    "env": "dev",
    # 命令行输出
    "console": {
        "topics": ["*", "-debug"]  # 输出除了 debug 之外的所有主题
    },
    # 文件输出
    "file": {
        "topics": ["*", "-debug"],  # 输出除了 debug 之外的所有主题
        "dir": "logs",  # 设置日志输出的根目录
        "subdirs": {  # 设置子目录
            "xlog": ["*", "-debug"]  # 非调试日志输出到 `xlog` 子目录，其他日志进入 `others` 子目录
        }
    }
})
```

## 一般日志输出

第一个参数为关键字，可以用于为日志输出打一个关键字，鉴于日志量过大，info 日志必须通过关键字检索

```python

from src import logtube

logtube.debug("关键字", "文本")
logtube.info("关键字", "文本")
logtube.warn("关键字", "文本")
logtube.error("关键字", "文本")
logtube.fatal("关键字", "文本")
```

## Job 工具

针对任务类型的日志，Logtube 提供了工具类

```python

from src import logtube

j = logtube.job()
j.set_job_name("sleep-job-1m")  # 设置任务名，用于区分一类任务
j.set_job_id("xxxxx-xxxxx-xxxxx-xxxxx")  # 设置任务编号，用于追踪同一个任务
j.add_keyword("hello")  # 可以增加关键字
j.add_extra("key", "val")  # 可以增加附属键值对
j.mark_start()  # 标记任务开始

# ... 此处为耗时很久的业务代码

j.mark_end(True, "任务成功")  # 标记任务结束和任务结果，True 为成功，可以额外添加任意纯文本
# committer.mark_end(False, "任务失败，因为 xxx.xxxx")
```

## 许可证

Guo Y.K., MIT License
logtube-guoyk93 1.0.1
Logtube Python SDK
Requires Python: >=3.6

# logtube-python

logtube python sdk

## 设置

```python

from src import logtube

logtube.setup({
    # 项目名，唯一标识一个项目
    "project": "eshop-id-service",
    # 环境名，用以区分不同环境
    "env": "dev",
    # 命令行输出
    "console": {
        "topics": ["*", "-debug"]  # 输出除了 debug 之外的所有主题
    },
    # 文件输出
    "file": {
        "topics": ["*", "-debug"],  # 输出除了 debug 之外的所有主题
        "dir": "logs",  # 设置日志输出的根目录
        "subdirs": {  # 设置子目录
            "xlog": ["*", "-debug"]  # 非调试日志输出到 `xlog` 子目录，其他日志进入 `others` 子目录
        }
    }
})
```

## 一般日志输出

第一个参数为关键字，可以用于为日志输出打一个关键字，鉴于日志量过大，info 日志必须通过关键字检索

```python

from src import logtube

logtube.debug("关键字", "文本")
logtube.info("关键字", "文本")
logtube.warn("关键字", "文本")
logtube.error("关键字", "文本")
logtube.fatal("关键字", "文本")
```

## Job 工具

针对任务类型的日志，Logtube 提供了工具类

```python

from src import logtube

j = logtube.job()
j.set_job_name("sleep-job-1m")  # 设置任务名，用于区分一类任务
j.set_job_id("xxxxx-xxxxx-xxxxx-xxxxx")  # 设置任务编号，用于追踪同一个任务
j.add_keyword("hello")  # 可以增加关键字
j.add_extra("key", "val")  # 可以增加附属键值对
j.mark_start()  # 标记任务开始

# ... 此处为耗时很久的业务代码

j.mark_end(True, "任务成功")  # 标记任务结束和任务结果，True 为成功，可以额外添加任意纯文本
# committer.mark_end(False, "任务失败，因为 xxx.xxxx")
```

## 许可证

Guo Y.K., MIT License
fabsible 0.2.1
Ansible framework using object-oriented configuration
Requires Python: >=3.6

Fabsible
========

Fabsible is ansible framework which is object-oriented.

Getting started
---------------

Installation
############

Create python virtual env

```
python3 -m venv venv
. venv/bin/activate
```

Install fabsible

```
pip install fabsible
```


Configuration
-------------

TODO: creating inventory file

Init new project

```
fabsible-init -i libvirt-inventory.py
```

Create provisioning tasks and place them in `files/providers/<name>.yml`. Ex.

```
cat files/providers/libvirt.yml
- name: libvirt
  debug:
    msg: "Jeste provisione libvirte"

- include_role:
    name: exphost.create_user
  vars:
    ansible_user: root
    ansible_password: super_password
  loop: "{{ users }}"
  loop_control:
    loop_var: user
```

Create users

```
cat group_vars/all/users_admins.yml
users_admins:
  - user: torgiren
    group: wheel
    password: "XXX" #Password hash
    home: "/home/torgiren"
```

and add ssh-keys to `files/ssh-keys/<username>/<keyname>.pub`

add become password (TODO: this should be per user not per project)

```
cat become.yml
ansible_become_pass: anotherpassword
```

Run
---

`fabsible-play`