-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 9e43dd6
Showing
13 changed files
with
330 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
# Data | ||
/data/ | ||
|
||
# Mac OS-specific storage files | ||
.DS_Store | ||
|
||
# vim | ||
*.swp | ||
*.swo | ||
|
||
## https://github.com/github/gitignore/blob/4488915eec0b3a45b5c63ead28f286819c0917de/Python.gitignore | ||
|
||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
build/ | ||
develop-eggs/ | ||
dist/ | ||
downloads/ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
share/python-wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
MANIFEST | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a template | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.nox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*.cover | ||
*.py,cover | ||
.hypothesis/ | ||
.pytest_cache/ | ||
cover/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
db.sqlite3 | ||
db.sqlite3-journal | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# MkDocs documentation | ||
docs/site/ | ||
|
||
# PyBuilder | ||
.pybuilder/ | ||
target/ | ||
|
||
# Jupyter Notebook | ||
.ipynb_checkpoints | ||
|
||
# IPython | ||
profile_default/ | ||
ipython_config.py | ||
|
||
# pdm | ||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. | ||
#pdm.lock | ||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it | ||
# in version control. | ||
# https://pdm.fming.dev/#use-with-ide | ||
.pdm.toml | ||
|
||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm | ||
__pypackages__/ | ||
|
||
# Celery stuff | ||
celerybeat-schedule | ||
celerybeat.pid | ||
|
||
# SageMath parsed files | ||
*.sage.py | ||
|
||
# Environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
.spyproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
# mkdocs documentation | ||
/site | ||
|
||
# mypy | ||
.mypy_cache/ | ||
.dmypy.json | ||
dmypy.json | ||
|
||
# Pyre type checker | ||
.pyre/ | ||
|
||
# pytype static type analyzer | ||
.pytype/ | ||
|
||
# Cython debug symbols | ||
cython_debug/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# .pre-commit-config.yaml | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.3.0 | ||
hooks: | ||
- id: trailing-whitespace | ||
- id: check-yaml | ||
- id: check-added-large-files | ||
|
||
- repo: https://github.com/psf/black | ||
rev: 23.1.0 | ||
hooks: | ||
- id: black | ||
args: ["--config=pyproject.toml"] | ||
language_version: python3 | ||
|
||
- repo: https://github.com/pycqa/isort | ||
rev: 5.12.0 | ||
hooks: | ||
- id: isort | ||
|
||
- repo: https://github.com/pycqa/flake8 | ||
rev: 6.1.0 | ||
hooks: | ||
- id: flake8 | ||
args: ["--config=pyproject.toml"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# Define o diretório do ambiente virtual | ||
VENV_DIR = venv | ||
|
||
# Define o nome do comando para o Python | ||
PYTHON = python3 | ||
|
||
## Cria o ambiente virtual, se não existir | ||
.PHONY: venv | ||
venv: | ||
@if [ ! -d "$(VENV_DIR)" ]; then \ | ||
echo "Criando o ambiente virtual..."; \ | ||
$(PYTHON) -m venv $(VENV_DIR); \ | ||
else \ | ||
echo "O ambiente virtual já existe."; \ | ||
fi | ||
|
||
## Instala o Poetry no ambiente virtual | ||
.PHONY: install-poetry | ||
install-poetry: venv | ||
@echo "Instalando o Poetry..." | ||
$(VENV_DIR)/bin/pip install poetry | ||
|
||
## Instala dependências com o Poetry | ||
.PHONY: install-dependencies | ||
install-dependencies: install-poetry | ||
@echo "Instalando dependências com o Poetry..." | ||
$(VENV_DIR)/bin/poetry lock | ||
$(VENV_DIR)/bin/poetry install | ||
|
||
## Instala os hooks de pre-commit com o Poetry | ||
.PHONY: install-pre-commit | ||
install-pre-commit: install-dependencies | ||
@echo "Instalando hooks de pre-commit" | ||
$(VENV_DIR)/bin/poetry run pre-commit install | ||
|
||
## [PADRÃO] Prepara todo o repositório com o poetry e pre-commit | ||
.PHONY: init | ||
init: install-pre-commit | ||
|
||
## Remove todo o ambiente virtual e desconfigura o pre-commit | ||
.PHONY: clean | ||
clean: | ||
@echo "Removendo pre-commit..." | ||
$(VENV_DIR)/bin/poetry run pre-commit uninstall | ||
$(VENV_DIR)/bin/poetry run pre-commit clean | ||
@echo "Removendo o ambiente virtual..." | ||
rm -rf $(VENV_DIR) | ||
|
||
## Atualiza as dependências no poetry, útil quando alterar bibliotecas em pyproject.toml | ||
.PHONY: update | ||
update: | ||
@echo "Atualizando pacotes com poetry" | ||
$(VENV_DIR)/bin/poetry lock | ||
$(VENV_DIR)/bin/poetry install | ||
|
||
|
||
################################################################################# | ||
# Self Documenting Commands # | ||
################################################################################# | ||
|
||
.DEFAULT_GOAL := help | ||
|
||
define PRINT_HELP_PYSCRIPT | ||
import re, sys; \ | ||
lines = '\n'.join([line for line in sys.stdin]); \ | ||
matches = re.findall(r'\n## (.*)\n[\s\S]+?\n([a-zA-Z_-]+):', lines); \ | ||
print('Comandos disponíveis:\n'); \ | ||
print('\n'.join(['{:25}{}'.format(*reversed(match)) for match in matches])) | ||
endef | ||
export PRINT_HELP_PYSCRIPT | ||
|
||
help: | ||
@$(PYTHON) -c "${PRINT_HELP_PYSCRIPT}" < $(MAKEFILE_LIST) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
``` | ||
├── api # Código da API para interagir com o modelo | ||
│ └── __init__.py # Torna o diretório um módulo Python | ||
│ | ||
├── config # Configurações de nível de projeto | ||
│ ├── __init__.py # Torna o diretório um módulo Python | ||
│ └── environments # Configurações de ambiente (ex. dotenv, YAML) | ||
│ | ||
├── data # Organização dos dados | ||
│ ├── external # Dados de fontes de terceiros | ||
│ ├── interim # Dados intermediários que foram transformados | ||
│ ├── processed # Conjuntos de dados finais e canônicos para modelagem | ||
│ └── raw # Dados originais e imutáveis | ||
│ | ||
├── deployment # Arquivos relacionados à implantação e DevOps | ||
│ ├── docker # Arquivos para construção e gerenciamento de imagens Docker | ||
│ ├── infrastructure # Código para gerenciar a infraestrutura do projeto | ||
│ │ └── terraform # Arquivos Terraform para provisionamento de infraestrutura | ||
│ ├── pipelines # Pipelines de CI/CD | ||
│ └── scripts # Scripts de suporte para construção e implantação | ||
│ | ||
├── docs # Um projeto mkdocs padrão | ||
│ | ||
├── models # Modelos treinados e scripts relacionados | ||
│ ├── __init__.py # Torna o diretório um módulo Python | ||
│ ├── data # Scripts para coleta, leitura e processamento de dados | ||
│ └── trained # Modelos treinados e serializados | ||
│ | ||
├── notebooks # Notebooks Jupyter | ||
│ | ||
├── reports # Análises e relatórios gerados | ||
│ ├── figures # Gráficos e figuras gerados para os relatórios | ||
│ └── html # Relatórios gerados em HTML | ||
│ | ||
├── src # Código fonte para desenvolvimento do modelo | ||
│ ├── __init__.py # Torna o diretório um módulo Python | ||
│ ├── pipelines # Códigos para pipelines de treino, criação de features e predição | ||
│ │ ├── features.py # Código para criação de features | ||
│ │ ├── predict.py # Código para executar inferência com modelos treinados | ||
│ │ └── train.py # Código para treinar modelos | ||
│ └── utils # Scripts utilitários | ||
│ | ||
├── tests # Scripts para execução de testes | ||
│ | ||
├── ui # Interface de usuário para interagir com a API do modelo | ||
│ ├── __init__.py # Torna o diretório um módulo Python | ||
│ ├── static # Templates para a interface de usuário | ||
│ └── templates # Arquivos estáticos (CSS, JS, imagens) | ||
│ | ||
├── .gitignore # Lista de arquivos e/ou diretórios que não são armazenados no repositório | ||
├── .pre-commit-config.yaml # Arquivo de configuração dos hooks de pre-commit | ||
├── LICENSE # Licença de código aberto, se aplicável | ||
├── Makefile # Arquivo para automatizar tarefas comuns de desenvolvimento | ||
├── pyproject.toml # Configuração do projeto e dependências | ||
└── README.md # Documentação do repositório | ||
``` |
Empty file.
Empty file.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
[tool.poetry] | ||
name = "my_project" | ||
version = "0.1.0" | ||
description = "Descricao do projeto" | ||
authors = ["Henrique <henrique.tostes@a3data.com.br>"] | ||
package-mode = false | ||
|
||
[tool.poetry.dependencies] | ||
python = "^3.10" | ||
requests = "^2.25.1" | ||
pandas = "^2.0.0" | ||
|
||
[tool.poetry.dev-dependencies] | ||
pytest = "^6.2.4" | ||
pre-commit = "^3.7.0" | ||
flake8 = "6.1.0" | ||
black = "23.1.0" | ||
|
||
[build-system] | ||
requires = ["poetry-core>=1.0.0"] | ||
build-backend = "poetry.core.masonry.api" | ||
|
||
[tool.black] | ||
line-length = 88 | ||
skip-string-normalization = true | ||
|
||
[tool.flake8] | ||
max-line-length = 88 | ||
extend-ignore = ["E203", "W503"] |
Empty file.
Empty file.
Empty file.
Empty file.