pytronic


Namepytronic JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-07-13 18:30:52
maintainerNone
docs_urlNone
authorSamuel Sublate
requires_python<4.0,>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pytronic Framework 🤖

**Pytronic** é um framework de automação robusto, projetado para executar processos repetitivos com eficiência e confiabilidade, utilizando persistência de dados e tentativas automáticas. Ideal para qualquer tipo de automação RPA.

## Tecnologias Utilizadas 🚀

- **Python** ^3.12
- **Blue** (formatação de código)
- **Pytest** (testes)
- **Taskipy** (gerenciamento de tarefas)
- **PyAutoGUI** (automação de interface gráfica)
- **SQLmodel** (mapeamento objeto-relacional)

## Requisitos 📋

- Python 3.12 ou superior
- Poetry

## Documentação de Desenvolvimento 💻

### 1. Instale o Poetry
Se você ainda não tem o Poetry instalado, siga as instruções [aqui](https://python-poetry.org/docs/#installation) para instalar.

### 2. Clone o Repositório 🧩
```sh
git clone https://github.com/seu-usuario/pytronic.git
cd pytronic
```

### 3. Instale as Dependências 📦
```sh
poetry install
```

### 4. Ative o Ambiente Virtual do Poetry 🌟
Para facilitar o uso dos comandos do Taskipy, ative o ambiente virtual do Poetry:
```sh
poetry shell
```
💡 **Dica:** Se você não ativar o `poetry shell`, será necessário prefixar os comandos do Taskipy com `poetry run`. Por exemplo: `poetry run task lint`.

### 5. Rodando as Tarefas 🔧
#### Comandos de Desenvolvimento (`task`)
Os comandos `task` são específicos para o desenvolvimento do pacote e ajudam a manter a qualidade e a consistência do código.

- **Linting:** Verifica a formatação do código
    ```sh
    task lint
    ```

- **Testes:** Executa os testes
    ```sh
    task test
    ```

- **Pipeline:** Executa linting e testes
    ```sh
    task pipeline
    ```

### Comandos de Uso do Framework (`pytronic`)
Os comandos `pytronic` são usados para interagir com o framework Pytronic, permitindo inicializar projetos, criar bots e executá-los.

#### Comando `start`
Inicializa a estrutura básica do projeto:
```sh
pytronic start
```
- **O que faz:** Cria a pasta `bots` e adiciona um bot de exemplo.
- **Exemplo de uso:**
    ```sh
    pytronic start
    ```

#### Comando `createbot`
Cria um novo bot com o nome especificado:
```sh
pytronic createbot --name ExampleBot
```
- **O que faz:** Gera automaticamente a estrutura de diretórios e arquivos necessários, utilizando templates.
- **Exemplo de uso:**
    ```sh
    pytronic createbot --name ExampleBot
    ```
    ```sh
    pytronic createbot ExampleBot
    ```

#### Comando `run`
Executa um bot especificado, identificando a classe do bot pelo nome da pasta e carregando a tarefa a ser executada:
```sh
pytronic run --bot ExampleBot --task '{"key": "value"}'
```
- **O que faz:** Carrega o bot correspondente pelo nome da pasta e executa a tarefa dinamicamente. Se a opção `--task` não for informada, o comando carrega a tarefa do arquivo `task.json` dentro da pasta do bot criado.
- **Exemplos de uso:**
    ```sh
    pytronic run --bot ExampleBot --task '{"key": "value"}'
    ```
    ```sh
    pytronic run --bot ExampleBot --task /caminho/para/task.json
    ```
    ```sh
    pytronic run ExampleBot --task '{"key": "value"}'
    ```
    ```sh
    pytronic run ExampleBot
    ```

## Integração Contínua com GitHub Actions ⚙️
O projeto Pytronic utiliza GitHub Actions para automação do pipeline de linting e testes. Toda vez que uma nova branch é criada ou um pull request é aberto, a pipeline é executada para garantir a qualidade do código. As etapas incluem:

1. **Linting:** Verifica a formatação do código para garantir a conformidade com os padrões estabelecidos.
2. **Testes:** Executa a suíte de testes para assegurar que todas as funcionalidades estão funcionando conforme esperado.

Além disso, sempre que novos commits são sincronizados com uma branch que já possui um pull request aberto, a pipeline é acionada novamente. Isso garante que todas as alterações submetidas passam pelas verificações de qualidade.

## Suporte 🌐
Este projeto pode ser executado tanto no Linux quanto no Windows. Atenção: Implementações que utilizam o PyAutoGUI só funcionarão em ambientes que tenham uma interface gráfica (que renderize um desktop no monitor). Caso contrário, o PyAutoGUI não funcionará. Se você encontrar algum problema, sinta-se à vontade para abrir uma issue no repositório.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pytronic",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": null,
    "author": "Samuel Sublate",
    "author_email": "samuelsublate.dev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/33/cc/615a76ec96779751440c26a286751510304ea56732a709f7fc7a987df0fc/pytronic-0.1.3.tar.gz",
    "platform": null,
    "description": "# Pytronic Framework \ud83e\udd16\n\n**Pytronic** \u00e9 um framework de automa\u00e7\u00e3o robusto, projetado para executar processos repetitivos com efici\u00eancia e confiabilidade, utilizando persist\u00eancia de dados e tentativas autom\u00e1ticas. Ideal para qualquer tipo de automa\u00e7\u00e3o RPA.\n\n## Tecnologias Utilizadas \ud83d\ude80\n\n- **Python** ^3.12\n- **Blue** (formata\u00e7\u00e3o de c\u00f3digo)\n- **Pytest** (testes)\n- **Taskipy** (gerenciamento de tarefas)\n- **PyAutoGUI** (automa\u00e7\u00e3o de interface gr\u00e1fica)\n- **SQLmodel** (mapeamento objeto-relacional)\n\n## Requisitos \ud83d\udccb\n\n- Python 3.12 ou superior\n- Poetry\n\n## Documenta\u00e7\u00e3o de Desenvolvimento \ud83d\udcbb\n\n### 1. Instale o Poetry\nSe voc\u00ea ainda n\u00e3o tem o Poetry instalado, siga as instru\u00e7\u00f5es [aqui](https://python-poetry.org/docs/#installation) para instalar.\n\n### 2. Clone o Reposit\u00f3rio \ud83e\udde9\n```sh\ngit clone https://github.com/seu-usuario/pytronic.git\ncd pytronic\n```\n\n### 3. Instale as Depend\u00eancias \ud83d\udce6\n```sh\npoetry install\n```\n\n### 4. Ative o Ambiente Virtual do Poetry \ud83c\udf1f\nPara facilitar o uso dos comandos do Taskipy, ative o ambiente virtual do Poetry:\n```sh\npoetry shell\n```\n\ud83d\udca1 **Dica:** Se voc\u00ea n\u00e3o ativar o `poetry shell`, ser\u00e1 necess\u00e1rio prefixar os comandos do Taskipy com `poetry run`. Por exemplo: `poetry run task lint`.\n\n### 5. Rodando as Tarefas \ud83d\udd27\n#### Comandos de Desenvolvimento (`task`)\nOs comandos `task` s\u00e3o espec\u00edficos para o desenvolvimento do pacote e ajudam a manter a qualidade e a consist\u00eancia do c\u00f3digo.\n\n- **Linting:** Verifica a formata\u00e7\u00e3o do c\u00f3digo\n    ```sh\n    task lint\n    ```\n\n- **Testes:** Executa os testes\n    ```sh\n    task test\n    ```\n\n- **Pipeline:** Executa linting e testes\n    ```sh\n    task pipeline\n    ```\n\n### Comandos de Uso do Framework (`pytronic`)\nOs comandos `pytronic` s\u00e3o usados para interagir com o framework Pytronic, permitindo inicializar projetos, criar bots e execut\u00e1-los.\n\n#### Comando `start`\nInicializa a estrutura b\u00e1sica do projeto:\n```sh\npytronic start\n```\n- **O que faz:** Cria a pasta `bots` e adiciona um bot de exemplo.\n- **Exemplo de uso:**\n    ```sh\n    pytronic start\n    ```\n\n#### Comando `createbot`\nCria um novo bot com o nome especificado:\n```sh\npytronic createbot --name ExampleBot\n```\n- **O que faz:** Gera automaticamente a estrutura de diret\u00f3rios e arquivos necess\u00e1rios, utilizando templates.\n- **Exemplo de uso:**\n    ```sh\n    pytronic createbot --name ExampleBot\n    ```\n    ```sh\n    pytronic createbot ExampleBot\n    ```\n\n#### Comando `run`\nExecuta um bot especificado, identificando a classe do bot pelo nome da pasta e carregando a tarefa a ser executada:\n```sh\npytronic run --bot ExampleBot --task '{\"key\": \"value\"}'\n```\n- **O que faz:** Carrega o bot correspondente pelo nome da pasta e executa a tarefa dinamicamente. Se a op\u00e7\u00e3o `--task` n\u00e3o for informada, o comando carrega a tarefa do arquivo `task.json` dentro da pasta do bot criado.\n- **Exemplos de uso:**\n    ```sh\n    pytronic run --bot ExampleBot --task '{\"key\": \"value\"}'\n    ```\n    ```sh\n    pytronic run --bot ExampleBot --task /caminho/para/task.json\n    ```\n    ```sh\n    pytronic run ExampleBot --task '{\"key\": \"value\"}'\n    ```\n    ```sh\n    pytronic run ExampleBot\n    ```\n\n## Integra\u00e7\u00e3o Cont\u00ednua com GitHub Actions \u2699\ufe0f\nO projeto Pytronic utiliza GitHub Actions para automa\u00e7\u00e3o do pipeline de linting e testes. Toda vez que uma nova branch \u00e9 criada ou um pull request \u00e9 aberto, a pipeline \u00e9 executada para garantir a qualidade do c\u00f3digo. As etapas incluem:\n\n1. **Linting:** Verifica a formata\u00e7\u00e3o do c\u00f3digo para garantir a conformidade com os padr\u00f5es estabelecidos.\n2. **Testes:** Executa a su\u00edte de testes para assegurar que todas as funcionalidades est\u00e3o funcionando conforme esperado.\n\nAl\u00e9m disso, sempre que novos commits s\u00e3o sincronizados com uma branch que j\u00e1 possui um pull request aberto, a pipeline \u00e9 acionada novamente. Isso garante que todas as altera\u00e7\u00f5es submetidas passam pelas verifica\u00e7\u00f5es de qualidade.\n\n## Suporte \ud83c\udf10\nEste projeto pode ser executado tanto no Linux quanto no Windows. Aten\u00e7\u00e3o: Implementa\u00e7\u00f5es que utilizam o PyAutoGUI s\u00f3 funcionar\u00e3o em ambientes que tenham uma interface gr\u00e1fica (que renderize um desktop no monitor). Caso contr\u00e1rio, o PyAutoGUI n\u00e3o funcionar\u00e1. Se voc\u00ea encontrar algum problema, sinta-se \u00e0 vontade para abrir uma issue no reposit\u00f3rio.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": null,
    "version": "0.1.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81b58829b8c6322a6dc590f78547afb309574593af80ec01378714720ae5f2bb",
                "md5": "d45cd9d2ee13c1dfae3adb465e292701",
                "sha256": "8cab83c549d4bced29614c524736084041d90b7f6e4ad8f53fc541c3e5929888"
            },
            "downloads": -1,
            "filename": "pytronic-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d45cd9d2ee13c1dfae3adb465e292701",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 15804,
            "upload_time": "2024-07-13T18:30:51",
            "upload_time_iso_8601": "2024-07-13T18:30:51.299734Z",
            "url": "https://files.pythonhosted.org/packages/81/b5/8829b8c6322a6dc590f78547afb309574593af80ec01378714720ae5f2bb/pytronic-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33cc615a76ec96779751440c26a286751510304ea56732a709f7fc7a987df0fc",
                "md5": "c535690915c99ed88a03fdb71949e456",
                "sha256": "c3c9743b8b242669190ee5293bc6516962a1929b22db8203458bc63b81a562fe"
            },
            "downloads": -1,
            "filename": "pytronic-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "c535690915c99ed88a03fdb71949e456",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 12450,
            "upload_time": "2024-07-13T18:30:52",
            "upload_time_iso_8601": "2024-07-13T18:30:52.695749Z",
            "url": "https://files.pythonhosted.org/packages/33/cc/615a76ec96779751440c26a286751510304ea56732a709f7fc7a987df0fc/pytronic-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-13 18:30:52",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pytronic"
}
        
Elapsed time: 0.42300s