Skip to main content

Ferramenta CLI para criar estrutura de projetos.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

architek

architek é uma ferramenta CLI para criar automaticamente a estrutura de projetos.

Instalação

Para instalar, use:

pip install architek

Uso

Para criar um novo projeto no diretorio atual, execute:

arc create

Ou para criar um novo projeto com um nome específico num diretorio novo:

arc create --name nome_do_projeto

Se você preferir não criar um ambiente virtual, adicione a flag –no-venv:

arc create --no-venv

Ou, ao criar o projeto com nome específico:

arc create --name nome_do_projeto --no-venv

Se você deseja inicializar um repositório Git no projeto, adicione a flag –git:

arc create --git

Ou, ao criar o projeto com nome específico:

arc create --name nome_do_projeto --git

Estrutura do Projeto

├── src/                # Código-fonte principal
│   ├── app/            # Aplicação principal
│   ├── core/           # Módulos essenciais e configurações
│   ├── integracoes/    # Integrações com serviços externos
│   ├── utils/          # Funções utilitárias
│   ├── api/            # Endpoints da API
├── config/             # Arquivos de configuração
├── dados/              # Entrada/Saída de arquivos
├── logs/               # Logs detalhados de execução
├── tests/              # Testes unitários
├── requirements.txt    # Dependências do projeto
├── .env                # Variáveis de ambiente
├── Dockerfile          # Configuração do container Docker
├── Makefile            # Automação de tarefas
├── README.md           # Documentação do projeto
├── main.py             # Ponto de entrada do projeto

📂 src/ (Código-fonte principal)

Aqui ficam todos os scripts e módulos essenciais para o funcionamento do seu.

  • app/ → Contém os projeto individuais, responsáveis pela automação das tarefas. Exemplo: Um projeto de automação `bot_exemplo.py` que pode fazer login em um sistema e extrair dados.

  • core/ → Contém funcionalidades reutilizáveis essenciais, como manipulação de logs, autenticação e controle de erros. Exemplo: `logger.py` para registrar atividades do robô.

  • integracoes/ → Guarda os módulos que fazem comunicação com sistemas externos, como APIs, bancos de dados, ou WebServices. Exemplo: `api_cliente.py` pode conter funções para enviar e receber dados de uma API.

  • utils/ → Contém funções auxiliares comuns ao projeto, como manipulação de arquivos, datas e formatação de strings. Exemplo: `arquivos.py` pode ter funções para ler e escrever CSV, Excel, etc.

  • api/ → Caso seu projeto precise expor serviços via API, aqui ficarão os endpoints necessários. Exemplo: `server.py` pode rodar um FastAPI/Flask para disponibilizar um serviço.

📁 config/ (Configurações do projeto)

Contém arquivos de configuração, como variáveis de ambiente ou JSON/YAML para armazenar credenciais e parâmetros. Exemplo: `config.yaml` pode armazenar URLs de APIs, usuários e senhas criptografadas.

📁 dados/ (Entrada e saída de arquivos)

Diretório destinado para armazenar arquivos usados, como planilhas, XMLs, PDFs e outros dados de entrada/saída. Exemplo: O bot pode buscar arquivos CSV aqui e gerar relatórios em Excel.

📁 logs/ (Registro das execuções)

Armazena logs detalhados das execuções. É essencial para rastrear erros e entender o comportamento do projeto. Exemplo: `execucao_20240207.log` conterá um histórico do que o codigo fez durante uma execução.

📁 tests/ (Testes automatizados)

Guarda os testes unitários para validar a funcionalidade dos módulos do projeto. Exemplo: `test_bots.py` pode conter testes para garantir que um bot de automação se comporta corretamente.

📄 requirements.txt (Lista de dependências)

Este arquivo contém todas as bibliotecas Python necessárias para o projeto rodar corretamente. O comando abaixo instalará tudo automaticamente:

pip install -r requirements.txt

📄 .env (Variáveis de ambiente)

Arquivo utilizado para armazenar variáveis de ambiente, como chaves secretas, configurações de banco de dados ou API, e flags de desenvolvimento. Exemplo:

SECRET_KEY=your_secret_key_here
DEBUG=True

📄 Dockerfile (Configuração do container Docker)

Arquivo de configuração para criar uma imagem Docker do projeto, facilitando o processo de deploy em containers. Exemplo de conteúdo:

# Dockerfile exemplo
FROM python:3.12
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]

📄 Makefile (Automação de tarefas)

Arquivo que contém automações comuns, como criação de ambiente virtual, execução de testes, linting, formatação de código e construção de imagens Docker. Exemplo de conteúdo:

    # Criar e ativar ambiente virtual
setup:
    python -m venv venv && source venv/bin/activate && pip install -r requirements.txt

# Executar a aplicação
run:
    python main.py

# Formatar código com Black
format:
    black src/

# Rodar linter Flake8
lint:
    flake8 src/

# Executar testes
test:
    pytest tests/

# Construir a imagem Docker
docker-build:
    docker build -t meu-projeto .

# Rodar o container Docker
docker-run:
    docker run --rm meu-projeto

📄 README.md (Documentação do projeto)

Arquivo de documentação que explica o objetivo do projeto, como instalar, rodar e configurar. Deve conter um guia passo a passo para que qualquer pessoa possa entender e contribuir.

📄 main.py (Ponto de entrada do projeto)

Arquivo principal que inicia a execução.

Exemplo de código:

if __name__ == "__main__":
    print("iniciado!")

💡 Com essa estrutura organizada, fica muito mais fácil manter o código limpo, escalável e reutilizável! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

architek-0.5.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

architek-0.5-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file architek-0.5.tar.gz.

File metadata

  • Download URL: architek-0.5.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for architek-0.5.tar.gz
Algorithm Hash digest
SHA256 f1a392ffec8a494528a8e26416d9050a2304d848f6c68588d92b1ea588cdc499
MD5 63448797ec59548e8914fac04e8ccbd5
BLAKE2b-256 0d08b07e49c252113c94203b436c7be1d8476820251f85f9a3932fc411fd3e2b

See more details on using hashes here.

File details

Details for the file architek-0.5-py3-none-any.whl.

File metadata

  • Download URL: architek-0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for architek-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d9fd06e2335983427b03f26f39ad49575fee4ea2eabb041640c416754de90f4a
MD5 d7c65681e2744534d5b3df9400a18bf0
BLAKE2b-256 3fdca1818eae014862c5ec6d71a485037efdb4547b870ea0f67df0220d9a1d30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page