mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-22 01:31:25 -08:00
155 lines
4.3 KiB
TOML
155 lines
4.3 KiB
TOML
[tool.poetry]
|
|
name = "justice40-data-pipeline"
|
|
version = "2.0"
|
|
description = "ETL, Score and Map Generation of Justice 40 Tool"
|
|
authors = ["Justice40 Engineering <j40-engineering@lists.usds.gov>"]
|
|
keywords = ["justice40", "environmental_justice", "python", "etl"]
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
homepage = "https://github.com/usds/justice40-tool/tree/main/data/data-pipeline"
|
|
repository = "https://github.com/usds/justice40-tool"
|
|
include = [
|
|
"LICENSE",
|
|
]
|
|
packages = [
|
|
{include = "data_pipeline"}
|
|
]
|
|
|
|
[tool.poetry.dependencies]
|
|
CensusData = "^1.13"
|
|
certifi = ">= 2024.07.04" # Due to https://data.safetycli.com/v/72083/f17
|
|
click = "8.0.4" # pinning for now per https://github.com/psf/black/issues/2964
|
|
dynaconf = "^3.1.4"
|
|
geopandas = "^0.11.0"
|
|
ipdb = "^0.13.9"
|
|
ipython = "^8.11.0"
|
|
jupyter = "^1.0.0"
|
|
jupyter-contrib-nbextensions = "^0.5.1"
|
|
marshmallow-dataclass = "^8.5.3"
|
|
marshmallow-enum = "^1.5.1"
|
|
numpy = "^1.22.1"
|
|
pandas = "~1.4.3"
|
|
pylint = "^2.11.1"
|
|
python = "^3.10"
|
|
pypandoc = "^1.6.3"
|
|
PyYAML = "^6.0"
|
|
requests = "^2.25.1"
|
|
tqdm = "^4.66.3"
|
|
types-requests = "^2.25.0"
|
|
us = "^2.0.2"
|
|
xlsxwriter = "^2.0.0"
|
|
pydantic = "^1.9.0"
|
|
Rtree = "^1.0.0"
|
|
fiona = "~1.8.21"
|
|
tenacity = ">=5.0.2"
|
|
pyarrow = "^18.1.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
black = "^21"
|
|
flake8 = "^7.1.1"
|
|
liccheck = "^0.9.2"
|
|
mypy = "^0.910"
|
|
openpyxl = "^3.0.7"
|
|
pylint = "^2.9.6"
|
|
pytest = "^8.3.3"
|
|
safety = "^2.3.1"
|
|
tox = "^3.24.0"
|
|
pytest-mock = "^3.14.0"
|
|
tox-poetry = "^0.4.1"
|
|
pandas-vet = "^0.2.2"
|
|
pytest-snapshot = "^0.9.0"
|
|
seaborn = "^0.11.2"
|
|
papermill = "^2.3.4"
|
|
jupyterlab = "^3.6.7"
|
|
|
|
|
|
[tool.poetry.group.test.dependencies]
|
|
openpyxl = "^3.1.5"
|
|
pytest-snapshot = "^0.9.0"
|
|
|
|
[build-system]
|
|
build-backend = "poetry.core.masonry.api"
|
|
requires = ["poetry-core>=1.0.0"]
|
|
|
|
[tool.pylint]
|
|
|
|
[tool.pylint."MESSAGE CONTROL"]
|
|
disable = [
|
|
"C0114", # Disables module docstrings
|
|
"R0903", # Disables too few public methods
|
|
"C0103", # Disables name case styling
|
|
"W0511", # Disables FIXME warning
|
|
"W1203", # Disables f-string interpolation for logging warning # Errors temporarily ignored for further discussion
|
|
"W0107", # Disables unnecessary pass
|
|
"W0221", # Disables arguments differ
|
|
"R0902", # Disables too many instance attributes
|
|
"R0914", # Disables too many local variables
|
|
"W0621", # Disables redefined outer name
|
|
"C0302", # Disables too many lines in module
|
|
"R1732", # Disables consider using "with"
|
|
"R1720", # Disables unnecessary "else" after "raise"
|
|
"C0206", # Disables consider iteratig with ".items()"
|
|
"C0200", # Disables consider using "enumerate" instead of "range" + "len"
|
|
"W0612", # Disables unused variable
|
|
"W0613", # Disables unused argument
|
|
"C0116", # Disables missing function or method docstring
|
|
"C0115", # Disables missing class docstring
|
|
"R0915", # Disables too many statements (score generation transform)
|
|
"W0231", # Disables super init not called
|
|
"R0801", # Disables duplicate code. There are a couple places we have similar code and
|
|
# unfortunately you can't disable this rule for individual lines or files, it's a
|
|
# known bug. https://github.com/PyCQA/pylint/issues/214#
|
|
"C0411", # Disables wrong-import-order. Import order is now enforced by isort as a
|
|
# pre-commit hook.
|
|
]
|
|
|
|
[tool.pylint.FORMAT]
|
|
max-line-length = 150
|
|
|
|
[tool.pylint.typecheck]
|
|
generated-members = "pandas.*" # fixes E1101 for ETL.df
|
|
|
|
[tool.pylint.SIMILARITIES]
|
|
# Configures how pylint detects repetitive code
|
|
ignore-comments = "yes"
|
|
ignore-docstrings = "yes"
|
|
ignore-imports = "yes"
|
|
min-similarity-lines = 4
|
|
|
|
[tool.black]
|
|
line-length = 80
|
|
|
|
[tool.liccheck]
|
|
# Authorized and unauthorized licenses in LOWER CASE
|
|
authorized_licenses = [
|
|
"bsd",
|
|
"new bsd",
|
|
"bsd license",
|
|
"bsd 3-clause",
|
|
"new bsd license",
|
|
"simplified bsd",
|
|
"apache",
|
|
"apache 2.0",
|
|
"apache license 2.0",
|
|
"apache license, version 2.0",
|
|
"apache software license",
|
|
"apache software",
|
|
"gnu lgpl",
|
|
"gnu lesser general public license v2 (lgplv2)",
|
|
"gnu general public license v2 (gplv2)",
|
|
"gnu library or lesser general public license (lgpl)",
|
|
"lgpl with exceptions or zpl",
|
|
"isc license",
|
|
"isc license (iscl)",
|
|
"mit",
|
|
"mit license",
|
|
"mozilla public license 2.0 (mpl 2.0)",
|
|
"public domain",
|
|
"python software foundation license",
|
|
"python software foundation",
|
|
"zpl 2.1",
|
|
"gpl v3",
|
|
"historical permission notice and disclaimer (hpnd)",
|
|
]
|
|
[tool.liccheck.authorized_packages]
|
|
ypy-websocket="0.8.4"
|