This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on May 14, 2026. It is now read-only.

Latest commit

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Flask Skeleton API

Um simples esqueleto de API construido com Flask.

About

Este é um esqueleto de API construido com Flask e utilizado pelo Núcleo de Tecnologia e Inovação do Grupo Ceuma (NTI) para a construção de aplicações backend.

Gerar esqueleto utilizando cookiecutter

O cookiecutter é um utilitário em linha de comando utilizando para gerar templates de projetos criados utilizando a ferramenta. Para gerar o projeto a partir deste template, você deverá ter o pacote cookiecutter instalado no seu python.

  1. Instale o cookiecutter com o comando pip install cookiecutter (aconselhamos o uso de um ambiente virtual python).
  2. Execute o comando cookiecutter https://github.com/devsceuma/flask-skeleton-api para prosseguir com a geração do template no diretório atual da execução.
  3. Uma vez baixado o projeto, o cookiecutter será responsável por gerar o template e para isso irá pedir algumas informações, entre elas "project_name" que é o nome da pasta do projeto e "app_name" que será o nome da aplicação e prefixo utilizado pela API em suas rotas.

Documentação da API

Para acessar a documentação da API, acesse a seguinte rota:

http://localhost:5000/app-name/apidocs/

A API possui um arquivo de documentação default utilizando a especificação do Blueprint. O arquivo está em: ./app/docs/api-blueprint-sample.apib.

Preferimos deixar a responsabilidade da renderização do template HTML para o desenvolvedor. Toda vez que houver atualizações na especificação de endpoints da sua API, será de responsabilidade do desenvolvedor realizar a atualização e renderização do documento estático. Para isso, basta utilizar as ferramentas existentes e sugeridas pelo Blueprint.

Afim de facilitar o processo de gerar o HTML, descrevemos ele a seguir.

1. Instale o Render

Uma das ferramentas sugeridas pelo Blueprint é o Aglio. Usaremos ele:

npm install -g aglio

2. Gere a documentação.

Para isso, entre na raíz do projeto e execute o seguinte comando:

aglio -i ./app/docs/api-blueprint-sample.apib --theme-full-width --no-theme-condense -o ./app/templates/apidocs/index.html

O Output será um arquivo index.html dentro de ./app/templates/apidocs/index.html.

p.s: O arquivo base para esta documentação foi retirado de: Definindo APIs com o API Blueprint.

Como usar isto

Usando Flask

Antes de iniciar a sua aplicação, você deve informar ao seu terminal qual a aplicação flask que será iniciada. Para isto, você deverar setar uma variável de ambiente de nome FLASK_APP e, no nosso caso, valor igual a app. Neste caso, o valor app refere-se ao módulo python onde está contida a aplicação.

No Linux:

export FLASK_APP=app

No Windows:

set FLASK_APP=app

Para ativar o modo de debug uma outra variável de ambiente deverá ser setada, desta vez com nome FLASK_ENV e valor development. Esta informação informa ao flask que ele deverá iniciar a aplicação em modo de desenvolvimento, com o stacktrace de erros e outras funcionalidades.

No Linux:

export FLASK_ENV=development

No Windows:

set FLASK_ENV=development

Usando localmente com Cookiecutter

O cookiecutter permite que o usuário crie projetos a partir de templates, como este Skeleton por exemplo.

  1. Para isso você precisa instalar o cookiecutter conforme a documentação sugere. De preferência crie um virtual-env para isto.

pip install cookiecutter

  1. Depois gere o novo projeto a partir deste repositório.

cookiecutter gh:devsceuma/flask-skeleton-api

Para ver mais formas de uso, visite a sessao de usage do cookiecutter.

Virtualenv

É aconselhável que você esteja utilizando uma virtualenv para a execução do projeto. No virtualenvwrapper você encontra a documentação de um utilitário para utilização de ambientes virtuais com o python. Porém, se você não deseja instalar o utilitário, pode utilizar apenas o virtualenv a fim de isolar a instalação dos pacotes do python contido em sua máquina.

Usando Docker

Para subir a aplicação usando docker, basta executar o seguinte comando na raíz do projeto:

docker-compose up -d --build

O arquivo docker-compose.yml usa o ceumanti/docker-python-odbc, uma imagem preparada para com configuração de conexão com SQLServer usando a versão 3.6.5 do Python. A imagem é extensível e qualquer pessoa pode criar outras imagens a partir dela. Recomendamos que sejam criadas imagens a partir desta, por conta do processo de construção usando Pyenv, que é custosa.

No processo de contrução e build da imagem o scriptrun.sh será executado. Este script, que se encontra na raíz do projeto, é responsável por efetuar o download e instalação dos pacotes python, além da execução do servidor waitress-serve para rodar a aplicação. A aplicação dockerizada está pronta para produção (vide utilização de servidor preparado para tal propósito) e o modo de desenvolvimento está desativado.

Integração com SQL Server

Esta é uma seção especial destinada a esclarecer alguns processos necessários à utilização da aplicação em conjunto com o SQL Server.

Driver ODBC

Linux:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Linux e seguir o tutorial.

Windows:

Para baixar o driver, você deverá a página ODBC Driver for SQL Server - Windows e seguir o tutorial.

Pacote pyodbc

Para prosseguir com a instalação, certifique-se de que todo o processo anterior foi corretamente efetuado. Após isso, o comando

pip install pyodbc

deverá instalar o pacote pyodbc que será utilizado em conjunto com o driver para acesso à base.

Maintainers and Contributors

Este projeto é mantido por @devsceuma.

Maintainers

Atmos Maciel
Igor Cavalcanti

Como contribuir

Qualquer pessoa pode contribuir com este projeto, basta fazer um fork do repositório e submeter Pull Requests :)

Este projeto está sob uma Licença Apache License 2.0

About

A boilerplate Python API made with Flask used by Ceuma Group developers team.

Topics

Resources

Stars

17 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors

Languages