mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-23 10:04:18 -08:00
This ended up being a pretty large task. Here's what this PR does: 1. Pulls in Vincent's data from island areas into the score ETL. This is from the 2010 decennial census, the last census of any kind in the island areas. 2. Grabs a few new fields from 2010 island areas decennial census. 3. Calculates area median income for island areas. 4. Stops using EJSCREEN as the source of our high school education data and directly pulls that from census (this was related to this project so I went ahead and fixed it). 5. Grabs a bunch of data from the 2010 ACS in the states/Puerto Rico/DC, so that we can create percentiles comparing apples-to-apples (ish) from 2010 island areas decennial census data to 2010 ACS data. This required creating a new class because all the ACS fields are different between 2010 and 2019, so it wasn't as simple as looping over a year parameter. 6. Creates a combined population field of island areas and mainland so we can use those stats in our comparison tool, and updates the comparison tool accordingly.
121 lines
3.4 KiB
TOML
121 lines
3.4 KiB
TOML
[tool.poetry]
|
|
authors = ["Your Name <you@example.com>"]
|
|
description = "ETL and Generation of Justice 40 Score"
|
|
name = "data-pipeline"
|
|
version = "0.1.0"
|
|
|
|
[tool.poetry.dependencies]
|
|
CensusData = "^1.13"
|
|
click = "^8.0.1"
|
|
dynaconf = "^3.1.4"
|
|
geopandas = "^0.9.0"
|
|
ipython = "^7.24.1"
|
|
jupyter = "^1.0.0"
|
|
jupyter-contrib-nbextensions = "^0.5.1"
|
|
matplotlib = "^3.4.2"
|
|
numpy = "^1.21.0"
|
|
pandas = "^1.2.5"
|
|
python = "^3.7.1"
|
|
pypandoc = "^1.6.3"
|
|
requests = "^2.25.1"
|
|
tqdm = "4.62.0"
|
|
types-requests = "^2.25.0"
|
|
us = "^2.0.2"
|
|
xlsxwriter = "^2.0.0"
|
|
ipdb = "^0.13.9"
|
|
pylint = "^2.11.1"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
black = {version = "^21.6b0", allow-prereleases = true}
|
|
flake8 = "^3.9.2"
|
|
liccheck = "^0.6.2"
|
|
mypy = "^0.910"
|
|
openpyxl = "^3.0.7"
|
|
pylint = "^2.9.6"
|
|
pytest = "^6.2.4"
|
|
safety = "^1.10.3"
|
|
tox = "^3.24.0"
|
|
pytest-mock = "^3.6.1"
|
|
|
|
[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
|
|
"R0201", # Disables method could have been a function
|
|
"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#
|
|
]
|
|
|
|
[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 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)",
|
|
]
|