Skip to content

Commit

Permalink
Get rid of setup.cfg, use pip-tools
Browse files Browse the repository at this point in the history
  • Loading branch information
maciejzj committed Jul 25, 2024
1 parent 7292236 commit 80f5058
Show file tree
Hide file tree
Showing 4 changed files with 284 additions and 30 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
Expand Down
72 changes: 68 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,77 @@
[pytest.tool]
testpaths = [
"it_jobs_meta"
[project]
name = "it-jobs-meta"
description = "Data pipeline and meta-analysis dashboard for IT job postings"
readme = "README.md"
license = {text = "confidential"}
dynamic = ["version"]
requires-python = ">=3.10"
dependencies = [
"boto3",
"croniter",
"dash",
"dash-bootstrap-components",
"flask-caching",
"geopy",
"numpy",
"pandas",
"pandera",
"plotly",
"pymongo",
"pytest",
"pyyaml",
"redis",
"requests",
"scikit-learn",
"sqlalchemy",
"urllib3",
"waitress",
]

[project.optional-dependencies]
dev = [
"black",
"flake8",
"isort",
"mypy",
"pip-tools",
"pytest",
"pytest-mock",
"types-croniter",
"types-pyyaml",
"types-redis",
"types-requests",
"types-waitress",
]
analysis = [
"beautifulsoup4",
"kaleido",
]

# Build system and packaging
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
packages.find = {}
include-package-data = true

[tool.setuptools.package-data]
"it_jobs_meta" = ["dashboard/assets/*.css"]

# Entry points
[project.scripts]
it-jobs-meta = "it_jobs_meta.__main__:main"

# Development tools
[pytest.tool]
testpaths = [ "it_jobs_meta" ]

[tool.mypy]
ignore_missing_imports = true

[tool.black]
line-length = 79
line-length = 100
skip-string-normalization = true

[tool.isort]
Expand Down
220 changes: 215 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,229 @@
PyYAML==6.0
SQLAlchemy==1.4.45
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --all-extras
#
annotated-types==0.7.0
# via pydantic
async-timeout==4.0.3
# via redis
attrs==23.2.0
# via pytest
beautifulsoup4==4.12.3
# via it-jobs-meta (pyproject.toml)
black==24.4.2
# via it-jobs-meta (pyproject.toml)
boto3==1.26.71
# via it-jobs-meta (pyproject.toml)
botocore==1.29.165
# via
# boto3
# s3transfer
build==1.2.1
# via pip-tools
cachelib==0.9.0
# via flask-caching
certifi==2024.7.4
# via requests
cffi==1.16.0
# via cryptography
charset-normalizer==2.1.1
# via requests
click==8.1.7
# via
# black
# flask
# pip-tools
croniter==1.3.10
# via it-jobs-meta (pyproject.toml)
cryptography==43.0.0
# via
# types-pyopenssl
# types-redis
dash==2.10.2
dash_bootstrap_components==1.4.1
flask_caching==2.0.2
# via
# dash-bootstrap-components
# it-jobs-meta (pyproject.toml)
dash-bootstrap-components==1.4.1
# via it-jobs-meta (pyproject.toml)
dash-core-components==2.0.0
# via dash
dash-html-components==2.0.0
# via dash
dash-table==5.0.0
# via dash
dnspython==2.6.1
# via pymongo
flake8==7.1.0
# via it-jobs-meta (pyproject.toml)
flask==2.2.5
# via
# dash
# flask-caching
flask-caching==2.0.2
# via it-jobs-meta (pyproject.toml)
geographiclib==2.0
# via geopy
geopy==2.3.0
# via it-jobs-meta (pyproject.toml)
idna==3.7
# via requests
iniconfig==2.0.0
# via pytest
isort==5.13.2
# via it-jobs-meta (pyproject.toml)
itsdangerous==2.2.0
# via flask
jinja2==3.1.4
# via flask
jmespath==1.0.1
# via
# boto3
# botocore
joblib==1.4.2
# via scikit-learn
kaleido==0.2.1
# via it-jobs-meta (pyproject.toml)
markupsafe==2.1.5
# via
# jinja2
# werkzeug
mccabe==0.7.0
# via flake8
multimethod==1.12
# via pandera
mypy==1.11.0
# via it-jobs-meta (pyproject.toml)
mypy-extensions==1.0.0
# via
# black
# mypy
# typing-inspect
numpy==1.23.5
# via
# it-jobs-meta (pyproject.toml)
# pandas
# pandera
# scikit-learn
# scipy
packaging==24.1
# via
# black
# build
# pandera
# pytest
pandas==1.5.1
# via
# it-jobs-meta (pyproject.toml)
# pandera
pandera==0.14.5
# via it-jobs-meta (pyproject.toml)
pathspec==0.12.1
# via black
pip-tools==7.4.1
# via it-jobs-meta (pyproject.toml)
platformdirs==4.2.2
# via black
plotly==5.11.0
# via
# dash
# it-jobs-meta (pyproject.toml)
pluggy==1.5.0
# via pytest
pycodestyle==2.12.0
# via flake8
pycparser==2.22
# via cffi
pydantic==2.8.2
# via pandera
pydantic-core==2.20.1
# via pydantic
pyflakes==3.2.0
# via flake8
pymongo==4.3.3
# via it-jobs-meta (pyproject.toml)
pyproject-hooks==1.1.0
# via
# build
# pip-tools
pytest==7.2.0
# via
# it-jobs-meta (pyproject.toml)
# pytest-mock
pytest-mock==3.14.0
# via it-jobs-meta (pyproject.toml)
python-dateutil==2.9.0.post0
# via
# botocore
# croniter
# pandas
pytz==2024.1
# via pandas
pyyaml==6.0
# via it-jobs-meta (pyproject.toml)
redis==4.5.4
# via it-jobs-meta (pyproject.toml)
requests==2.28.1
scikit_learn==1.2.2
# via it-jobs-meta (pyproject.toml)
s3transfer==0.6.2
# via boto3
scikit-learn==1.2.2
# via it-jobs-meta (pyproject.toml)
scipy==1.14.0
# via scikit-learn
six==1.16.0
# via python-dateutil
soupsieve==2.5
# via beautifulsoup4
sqlalchemy==1.4.45
# via it-jobs-meta (pyproject.toml)
tenacity==8.5.0
# via plotly
threadpoolctl==3.5.0
# via scikit-learn
types-cffi==1.16.0.20240331
# via types-pyopenssl
types-croniter==2.0.5.20240722
# via it-jobs-meta (pyproject.toml)
types-pyopenssl==24.1.0.20240722
# via types-redis
types-pyyaml==6.0.12.20240724
# via it-jobs-meta (pyproject.toml)
types-redis==4.6.0.20240425
# via it-jobs-meta (pyproject.toml)
types-requests==2.31.0.6
# via it-jobs-meta (pyproject.toml)
types-setuptools==71.1.0.20240724
# via types-cffi
types-urllib3==1.26.25.14
# via types-requests
types-waitress==3.0.0.20240423
# via it-jobs-meta (pyproject.toml)
typing-extensions==4.12.2
# via
# mypy
# pydantic
# pydantic-core
# typing-inspect
typing-inspect==0.9.0
# via pandera
urllib3==1.26.16
# via
# botocore
# it-jobs-meta (pyproject.toml)
# requests
waitress==2.1.2
# via it-jobs-meta (pyproject.toml)
werkzeug==2.2.3
# via
# dash
# flask
wheel==0.43.0
# via pip-tools
wrapt==1.16.0
# via pandera

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
20 changes: 0 additions & 20 deletions setup.cfg

This file was deleted.

0 comments on commit 80f5058

Please sign in to comment.