Remove requirements.txt as a dependency (#1111)

* Remove requirements.txt as a dependency

This converts both docker and tox to use poetry, eliminating usage of
requirements.txt in both flows.

- In tox, uses the tox-poetry package which installs dependencies from
  the lockfile.
- In docker, uses
  https://stackoverflow.com/questions/53835198/integrating-python-poetry-with-docker
  as a reference.

* Don't copy pyproject.toml

* Remove obsoleted docs about requirements.txt

* Add --full-trace option to pytest

* Fix liccheck

liccheck works with requirements.txt, not with poetry, so there needs to
be an extra translation step.

* TEMP: Add WIP fix for pandas issue

This is just to see if the github actions would pass once this fix gets
merged, but it's being reviewed separately.

* Revert "TEMP: Add WIP fix for pandas issue"

This reverts commit 06e38e8cc77f5f3105c6e7a9449901db67aa1c82.
This commit is contained in:
Shaun Verch 2022-01-10 16:43:56 -05:00 committed by GitHub
commit 0abf04d6c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 60 additions and 140 deletions

View file

@ -7,32 +7,17 @@ skip_missing_interpreters = true
[testenv:lint]
# lints python code in src and tests
deps = -rrequirements.txt
# These are "external" because they are dev dependencies that not in
# "requirements.txt" and therefore not installed in this env, but they will be
# available where this is being run. See:
# https://stackoverflow.com/questions/47642747/tox-warningtest-command-found-but-not-installed-in-testenv
allowlist_externals = black
flake8
pylint
commands = black data_pipeline
flake8 data_pipeline
# Ignore tests this lint check because test dependencies are not installed here.
pylint data_pipeline --ignore tests
pylint data_pipeline
[testenv:checkdeps]
# checks the dependencies for security vulnerabilities and open source licenses
deps = -rrequirements.txt
# These are "external" because they are dev dependencies that not in
# "requirements.txt" and therefore not installed in this env, but they will be
# available where this is being run. See:
# https://stackoverflow.com/questions/47642747/tox-warningtest-command-found-but-not-installed-in-testenv
allowlist_externals = safety
liccheck
allowlist_externals = bash
commands = safety check
liccheck
bash scripts/run-liccheck.sh
[testenv:pytest]
# Run tests
deps = pytest
commands = pytest
commands = pytest --full-trace