complementizer


Namecomplementizer JSON
Version 1.2.2 PyPI version JSON
download
home_pagehttps://github.com/ismaelvguedes/Complementizer
SummaryComplementizer makes it easy to create and fill out automated forms for interactions with APIs.
upload_time2024-08-21 23:30:09
maintainerNone
docs_urlNone
authorIsmael Guedes
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Complementizer 🛠️ 
Autor: [`Ismael Guedes`](https://github.com/ismaelvguedes/)

O `Complementizer` facilita a criação e preenchimento de formulários automatizados para interações com APIs. Vamos analisar os diferentes componentes e seu funcionamento.

## Instalação
```cmd
pip install complementizer
```

## 1. Complementizer Class 🔑

- **`Complementizer`** é uma classe que se conecta a uma API e autentica o usuário. Se a API requer um token de autenticação, ela faz uma requisição para obter o token e o armazena.

  - **Atributos principais:**
    - `url_base`: URL base da API. 🌐
    - `username` e `password`: Credenciais de autenticação. 🔐
    - `has_token` e `path_auth`: Determina se a autenticação requer um token e o caminho da autenticação. 📜

  - **Método `populate`**:
    - Este método envia uma requisição POST para um endpoint específico, utilizando os dados gerados a partir de um formulário (`Form`). Ele imprime os dados gerados e a resposta da API. 📨

## 2. Form Class 📝

- **`Form`** é uma classe que representa um formulário vinculado a uma tabela específica. Ela utiliza a biblioteca `Faker` para gerar dados fictícios (como nomes, endereços, etc.) conforme o tipo do campo (`TypeField`).

  - **Método `createField`**:
    - Cria um campo no formulário com base no tipo (`TypeField`) e outros parâmetros opcionais (`info`). O método retorna o campo criado. ✏️
  
  - **Método `createDefault`**:
    - Cria um campo com valor padrão que não depende de geração de dados fictícios. 🏷️
  
  - **Método `createDependency`**:
    - Cria uma dependência que busca dados a partir de uma API e armazena os valores possíveis. 🔄

  - **Método `generate`**:
    - Gera um dicionário com os dados de todos os campos, padrões e dependências do formulário. 📊

## 3. Field Class 📋

- **`Field`** representa um campo no formulário, como `nome_completo`, `cpf`, `data_nascimento`, etc. A classe utiliza a biblioteca `Faker` para gerar valores para esses campos dependendo do tipo (`TypeField`).

  - **Construtor**:
    - O campo é inicializado com um nome, tipo e um valor gerado automaticamente pelo `Faker`, dependendo do tipo do campo (ex.: nome, endereço, CPF, etc.). ⚙️

## 4. TypeField Enum 🔢

- **`TypeField`** é um enumerador que define os diferentes tipos de campos que podem ser gerados no formulário, como `NAME_FULL`, `ADDRESS`, `DATE_OF_BIRTH`, `CPF`, etc. 📋

## 5. Uso do Complementizer 🚀

No código principal:

- **Instância de `Complementizer`**:
  - Cria uma instância de `Complementizer` que conecta a uma API. 🌐

- **Laço `for`**:
  - Para cada iteração, cria um novo formulário (`Form`) para a tabela `participante`. 📝
  - Adiciona diversos campos ao formulário, como `nome_completo`, `cpf`, `data_nascimento`, etc. 📋
  - Usa a função `populate` para enviar os dados gerados para a API. 📤

## Resumo 📑

Este código é projetado para automatizar o preenchimento e envio de formulários para uma API. Ele facilita a criação de dados fictícios para testes, gerenciamento de dependências entre campos, e autenticação da API, tornando-o útil para cenários onde é necessário simular múltiplas submissões de formulários com dados variados. ✅

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ismaelvguedes/Complementizer",
    "name": "complementizer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ismael Guedes",
    "author_email": "ismael.basic@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/04/24/e4c7bca6863fb0efc9633c7cdec4c48e77e4f5bfb3f0c8015e5a2e3d7f73/complementizer-1.2.2.tar.gz",
    "platform": null,
    "description": "# Complementizer \ud83d\udee0\ufe0f \nAutor: [`Ismael Guedes`](https://github.com/ismaelvguedes/)\n\nO `Complementizer` facilita a cria\u00e7\u00e3o e preenchimento de formul\u00e1rios automatizados para intera\u00e7\u00f5es com APIs. Vamos analisar os diferentes componentes e seu funcionamento.\n\n## Instala\u00e7\u00e3o\n```cmd\npip install complementizer\n```\n\n## 1. Complementizer Class \ud83d\udd11\n\n- **`Complementizer`** \u00e9 uma classe que se conecta a uma API e autentica o usu\u00e1rio. Se a API requer um token de autentica\u00e7\u00e3o, ela faz uma requisi\u00e7\u00e3o para obter o token e o armazena.\n\n  - **Atributos principais:**\n    - `url_base`: URL base da API. \ud83c\udf10\n    - `username` e `password`: Credenciais de autentica\u00e7\u00e3o. \ud83d\udd10\n    - `has_token` e `path_auth`: Determina se a autentica\u00e7\u00e3o requer um token e o caminho da autentica\u00e7\u00e3o. \ud83d\udcdc\n\n  - **M\u00e9todo `populate`**:\n    - Este m\u00e9todo envia uma requisi\u00e7\u00e3o POST para um endpoint espec\u00edfico, utilizando os dados gerados a partir de um formul\u00e1rio (`Form`). Ele imprime os dados gerados e a resposta da API. \ud83d\udce8\n\n## 2. Form Class \ud83d\udcdd\n\n- **`Form`** \u00e9 uma classe que representa um formul\u00e1rio vinculado a uma tabela espec\u00edfica. Ela utiliza a biblioteca `Faker` para gerar dados fict\u00edcios (como nomes, endere\u00e7os, etc.) conforme o tipo do campo (`TypeField`).\n\n  - **M\u00e9todo `createField`**:\n    - Cria um campo no formul\u00e1rio com base no tipo (`TypeField`) e outros par\u00e2metros opcionais (`info`). O m\u00e9todo retorna o campo criado. \u270f\ufe0f\n  \n  - **M\u00e9todo `createDefault`**:\n    - Cria um campo com valor padr\u00e3o que n\u00e3o depende de gera\u00e7\u00e3o de dados fict\u00edcios. \ud83c\udff7\ufe0f\n  \n  - **M\u00e9todo `createDependency`**:\n    - Cria uma depend\u00eancia que busca dados a partir de uma API e armazena os valores poss\u00edveis. \ud83d\udd04\n\n  - **M\u00e9todo `generate`**:\n    - Gera um dicion\u00e1rio com os dados de todos os campos, padr\u00f5es e depend\u00eancias do formul\u00e1rio. \ud83d\udcca\n\n## 3. Field Class \ud83d\udccb\n\n- **`Field`** representa um campo no formul\u00e1rio, como `nome_completo`, `cpf`, `data_nascimento`, etc. A classe utiliza a biblioteca `Faker` para gerar valores para esses campos dependendo do tipo (`TypeField`).\n\n  - **Construtor**:\n    - O campo \u00e9 inicializado com um nome, tipo e um valor gerado automaticamente pelo `Faker`, dependendo do tipo do campo (ex.: nome, endere\u00e7o, CPF, etc.). \u2699\ufe0f\n\n## 4. TypeField Enum \ud83d\udd22\n\n- **`TypeField`** \u00e9 um enumerador que define os diferentes tipos de campos que podem ser gerados no formul\u00e1rio, como `NAME_FULL`, `ADDRESS`, `DATE_OF_BIRTH`, `CPF`, etc. \ud83d\udccb\n\n## 5. Uso do Complementizer \ud83d\ude80\n\nNo c\u00f3digo principal:\n\n- **Inst\u00e2ncia de `Complementizer`**:\n  - Cria uma inst\u00e2ncia de `Complementizer` que conecta a uma API. \ud83c\udf10\n\n- **La\u00e7o `for`**:\n  - Para cada itera\u00e7\u00e3o, cria um novo formul\u00e1rio (`Form`) para a tabela `participante`. \ud83d\udcdd\n  - Adiciona diversos campos ao formul\u00e1rio, como `nome_completo`, `cpf`, `data_nascimento`, etc. \ud83d\udccb\n  - Usa a fun\u00e7\u00e3o `populate` para enviar os dados gerados para a API. \ud83d\udce4\n\n## Resumo \ud83d\udcd1\n\nEste c\u00f3digo \u00e9 projetado para automatizar o preenchimento e envio de formul\u00e1rios para uma API. Ele facilita a cria\u00e7\u00e3o de dados fict\u00edcios para testes, gerenciamento de depend\u00eancias entre campos, e autentica\u00e7\u00e3o da API, tornando-o \u00fatil para cen\u00e1rios onde \u00e9 necess\u00e1rio simular m\u00faltiplas submiss\u00f5es de formul\u00e1rios com dados variados. \u2705\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Complementizer makes it easy to create and fill out automated forms for interactions with APIs.",
    "version": "1.2.2",
    "project_urls": {
        "Homepage": "https://github.com/ismaelvguedes/Complementizer"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e0f7179a856af6c6c16dcb3c80af029378322c4e20a35a84f86e6724ca7bd04",
                "md5": "d42076db714c579db835e2a2e3c97a48",
                "sha256": "ed73ebe69aa18f39a87aa74ece8cf0e7695d5cb200b69fb0cf81199c69648e66"
            },
            "downloads": -1,
            "filename": "complementizer-1.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d42076db714c579db835e2a2e3c97a48",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6115,
            "upload_time": "2024-08-21T23:30:07",
            "upload_time_iso_8601": "2024-08-21T23:30:07.757344Z",
            "url": "https://files.pythonhosted.org/packages/4e/0f/7179a856af6c6c16dcb3c80af029378322c4e20a35a84f86e6724ca7bd04/complementizer-1.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0424e4c7bca6863fb0efc9633c7cdec4c48e77e4f5bfb3f0c8015e5a2e3d7f73",
                "md5": "45df5218114010bca0874844a32236c1",
                "sha256": "23ab10fdd9fe6b54029cdd770a630e290814fb0a3f86da7e03e997c622fe87de"
            },
            "downloads": -1,
            "filename": "complementizer-1.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "45df5218114010bca0874844a32236c1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5324,
            "upload_time": "2024-08-21T23:30:09",
            "upload_time_iso_8601": "2024-08-21T23:30:09.089402Z",
            "url": "https://files.pythonhosted.org/packages/04/24/e4c7bca6863fb0efc9633c7cdec4c48e77e4f5bfb3f0c8015e5a2e3d7f73/complementizer-1.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-21 23:30:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ismaelvguedes",
    "github_project": "Complementizer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "complementizer"
}
        
Elapsed time: 0.29333s