warn-scraper 1.2.99__tar.gz → 1.2.101__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- warn_scraper-1.2.101/.github/workflows/continuous-deployment.yml +136 -0
- {warn_scraper-1.2.99/warn_scraper.egg-info → warn_scraper-1.2.101}/PKG-INFO +14 -3
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/Pipfile +9 -7
- warn_scraper-1.2.101/Pipfile.lock +2444 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/setup.py +3 -2
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/va.py +53 -3
- {warn_scraper-1.2.99 → warn_scraper-1.2.101/warn_scraper.egg-info}/PKG-INFO +14 -3
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/SOURCES.txt +2 -1
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/requires.txt +2 -1
- warn_scraper-1.2.99/Pipfile.lock +0 -2354
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/.devcontainer/devcontainer.json +0 -0
- /warn_scraper-1.2.99/.github/dependabot.yml.disabled → /warn_scraper-1.2.101/.github/dependabot.yml.disabled-for-sanity +0 -0
- /warn_scraper-1.2.99/.github/workflows/continuous-deployment.yml → /warn_scraper-1.2.101/.github/workflows/continuous-deployment.yml.broken-tests +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/.gitignore +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/.pre-commit-config.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/LICENSE +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/MANIFEST.in +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/Makefile +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/README.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/Makefile +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/R42693.pdf +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/gao-03-1003.pdf +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-actions-finished.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-actions-start.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-changelog-button.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-changelog-entered.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-draft-button.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-name-release.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-name-tag.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-publish-button.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-pypi.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-release-published.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-releases-button.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_static/releasing-tag-button.png +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/_templates/sources.md.tmpl +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/conf.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/contributing.rst +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/index.rst +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/make.bat +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/reference.rst +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/releasing.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/requirements.txt +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/al.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/az.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ca.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/co.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/dc.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/de.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ia.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/in.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/job_center.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ks.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/md.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/me.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/mo.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ny.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ok.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/or.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/sc.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/tx.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/ut.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/va.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/vt.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/scrapers/wi.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/sources.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/docs/usage.md +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/setup.cfg +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/__init__.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_cached_detail_pages.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_cached_search_results.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_missing_detail_page_values.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_no_results.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_paged_results.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/cassettes/test_scrape_integration.yaml +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/conftest.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/fixtures/2021_page_1.html +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/fixtures/2021_page_2.html +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/test_cache.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/test_delete.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/test_job_center.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/test_job_center_cache.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/tests/test_openpyxl.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/__init__.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/cache.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/cli.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/__init__.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/job_center/__init__.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/job_center/cache.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/job_center/site.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/job_center/urls.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/platforms/job_center/utils.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/runner.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/__init__.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ak.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/al.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/az.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ca.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/co.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ct.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/dc.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/de.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/fl.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ga.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/hi.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ia.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/id.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/il.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/in.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ks.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ky.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/la.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/md.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/me.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/mi.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/mo.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/mt.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ne.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/nj.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/nm.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ny.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/oh.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ok.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/or.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ri.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/sc.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/sd.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/tn.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/tx.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/ut.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/vt.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/wa.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/scrapers/wi.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn/utils.py +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/dependency_links.txt +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/entry_points.txt +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/not-zip-safe +0 -0
- {warn_scraper-1.2.99 → warn_scraper-1.2.101}/warn_scraper.egg-info/top_level.txt +0 -0
@@ -0,0 +1,136 @@
|
|
1
|
+
name: Testing and distribution
|
2
|
+
on:
|
3
|
+
push:
|
4
|
+
pull_request:
|
5
|
+
workflow_dispatch:
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
pre-commit:
|
9
|
+
name: Lint and format with pre-commit
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- id: checkout
|
13
|
+
name: Checkout
|
14
|
+
uses: actions/checkout@v4
|
15
|
+
|
16
|
+
- id: setup-python
|
17
|
+
name: Setup Python
|
18
|
+
uses: actions/setup-python@v5
|
19
|
+
with:
|
20
|
+
python-version: '3.9'
|
21
|
+
|
22
|
+
- id: pre-commit
|
23
|
+
name: Pre-commit
|
24
|
+
uses: pre-commit/action@v3.0.1
|
25
|
+
|
26
|
+
test-docs:
|
27
|
+
name: Test Sphinx build
|
28
|
+
runs-on: ubuntu-latest
|
29
|
+
steps:
|
30
|
+
- id: checkout
|
31
|
+
name: Checkout
|
32
|
+
uses: actions/checkout@v4
|
33
|
+
|
34
|
+
- id: setup-python
|
35
|
+
name: Setup Python
|
36
|
+
uses: actions/setup-python@v5
|
37
|
+
with:
|
38
|
+
python-version: '3.9'
|
39
|
+
cache: 'pipenv'
|
40
|
+
|
41
|
+
- id: install-pipenv
|
42
|
+
name: Install pipenv
|
43
|
+
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
44
|
+
shell: bash
|
45
|
+
|
46
|
+
- id: install-python-dependencies
|
47
|
+
name: Install Python dependencies
|
48
|
+
run: pipenv install --dev --python=`which python`
|
49
|
+
shell: bash
|
50
|
+
|
51
|
+
- id: tally
|
52
|
+
name: Tally sources
|
53
|
+
run: make tally-sources
|
54
|
+
|
55
|
+
- id: build
|
56
|
+
name: Build
|
57
|
+
run: make test-docs
|
58
|
+
|
59
|
+
- id: save
|
60
|
+
name: Save artifact
|
61
|
+
uses: actions/upload-artifact@v4
|
62
|
+
with:
|
63
|
+
name: docs-${{ github.run_number }}
|
64
|
+
path: ./docs
|
65
|
+
if-no-files-found: error
|
66
|
+
|
67
|
+
|
68
|
+
test-build:
|
69
|
+
name: Build Python package
|
70
|
+
runs-on: ubuntu-latest
|
71
|
+
# needs: [test-python]
|
72
|
+
steps:
|
73
|
+
- id: checkout
|
74
|
+
name: Checkout
|
75
|
+
uses: actions/checkout@v4
|
76
|
+
|
77
|
+
- id: setup-python
|
78
|
+
name: Setup Python
|
79
|
+
uses: actions/setup-python@v5
|
80
|
+
with:
|
81
|
+
python-version: '3.9'
|
82
|
+
cache: 'pipenv'
|
83
|
+
|
84
|
+
- id: install-pipenv
|
85
|
+
name: Install pipenv
|
86
|
+
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
87
|
+
shell: bash
|
88
|
+
|
89
|
+
- id: install-python-dependencies
|
90
|
+
name: Install Python dependencies
|
91
|
+
run: pipenv install --dev --python=`which python`
|
92
|
+
shell: bash
|
93
|
+
|
94
|
+
- id: build
|
95
|
+
name: Build release
|
96
|
+
run: make build-release
|
97
|
+
|
98
|
+
- id: check
|
99
|
+
name: Check release
|
100
|
+
run: make check-release
|
101
|
+
|
102
|
+
- id: save
|
103
|
+
name: Save artifact
|
104
|
+
uses: actions/upload-artifact@v4
|
105
|
+
with:
|
106
|
+
name: test-release-${{ github.run_number }}
|
107
|
+
path: ./dist
|
108
|
+
if-no-files-found: error
|
109
|
+
|
110
|
+
tag-release:
|
111
|
+
name: Tagged PyPI release
|
112
|
+
runs-on: ubuntu-latest
|
113
|
+
needs: [test-build]
|
114
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
115
|
+
steps:
|
116
|
+
- id: setup-python
|
117
|
+
name: Setup Python
|
118
|
+
uses: actions/setup-python@v5
|
119
|
+
with:
|
120
|
+
python-version: '3.9'
|
121
|
+
|
122
|
+
- id: fetch
|
123
|
+
name: Fetch artifact
|
124
|
+
uses: actions/download-artifact@v4
|
125
|
+
with:
|
126
|
+
name: test-release-${{ github.run_number }}
|
127
|
+
path: ./dist
|
128
|
+
|
129
|
+
- id: publish
|
130
|
+
name: Publish release
|
131
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
132
|
+
with:
|
133
|
+
user: __token__
|
134
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
135
|
+
verbose: true
|
136
|
+
verify_metadata: false
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: warn-scraper
|
3
|
-
Version: 1.2.
|
3
|
+
Version: 1.2.101
|
4
4
|
Summary: Command-line interface for downloading WARN Act notices of qualified plant closings and mass layoffs from state government websites
|
5
5
|
Home-page: https://github.com/biglocalnews/warn-scraper
|
6
6
|
Author: Big Local News
|
@@ -29,12 +29,23 @@ Requires-Dist: pdfplumber
|
|
29
29
|
Requires-Dist: requests
|
30
30
|
Requires-Dist: openpyxl
|
31
31
|
Requires-Dist: pyopenssl
|
32
|
-
Requires-Dist:
|
32
|
+
Requires-Dist: retry2
|
33
33
|
Requires-Dist: selenium
|
34
|
+
Requires-Dist: stealthenium
|
34
35
|
Requires-Dist: tenacity
|
35
36
|
Requires-Dist: xlrd
|
36
37
|
Requires-Dist: xvfbwrapper
|
37
38
|
Requires-Dist: webdriver-manager
|
39
|
+
Dynamic: author
|
40
|
+
Dynamic: classifier
|
41
|
+
Dynamic: description
|
42
|
+
Dynamic: description-content-type
|
43
|
+
Dynamic: home-page
|
44
|
+
Dynamic: license
|
45
|
+
Dynamic: license-file
|
46
|
+
Dynamic: project-url
|
47
|
+
Dynamic: requires-dist
|
48
|
+
Dynamic: summary
|
38
49
|
|
39
50
|
## Links
|
40
51
|
|
@@ -4,7 +4,6 @@ url = "https://pypi.org/simple"
|
|
4
4
|
verify_ssl = true
|
5
5
|
|
6
6
|
[dev-packages]
|
7
|
-
pytest = "*"
|
8
7
|
pytest-vcr = "*"
|
9
8
|
black = "*"
|
10
9
|
twine = "*"
|
@@ -16,7 +15,6 @@ coverage = "*"
|
|
16
15
|
flake8-docstrings = "*"
|
17
16
|
setuptools-scm = "==8.1.0"
|
18
17
|
us = "*"
|
19
|
-
jinja2 = "*"
|
20
18
|
flake8-bugbear = "*"
|
21
19
|
pre-commit = "*"
|
22
20
|
sphinxcontrib-napoleon = "*"
|
@@ -26,13 +24,14 @@ typing-extensions = "*"
|
|
26
24
|
types-retry = "*"
|
27
25
|
types-beautifulsoup4 = "*"
|
28
26
|
types-openpyxl = "*"
|
29
|
-
# pinned last known versions to support Sphinx 4
|
30
27
|
sphinxcontrib-applehelp = "1.0.4"
|
31
28
|
sphinxcontrib-devhelp = "1.0.2"
|
32
29
|
sphinxcontrib-htmlhelp = "2.0.1"
|
33
30
|
sphinxcontrib-qthelp = "1.0.3"
|
34
31
|
sphinxcontrib-serializinghtml = "1.1.5"
|
35
|
-
setuptools = "
|
32
|
+
setuptools = "*"
|
33
|
+
jinja2 = "*"
|
34
|
+
pytest = "==8.3.5"
|
36
35
|
|
37
36
|
[packages]
|
38
37
|
beautifulsoup4 = "*"
|
@@ -43,14 +42,17 @@ pdfplumber = "*"
|
|
43
42
|
tenacity = "*"
|
44
43
|
click = "*"
|
45
44
|
xlrd = "*"
|
46
|
-
retry = "*"
|
47
|
-
urllib3 = "1.26.18" # pegged to avoid test issue
|
48
45
|
selenium = "*"
|
49
46
|
webdriver-manager = "*"
|
50
|
-
cryptography = "*"
|
51
47
|
cffi = "*"
|
52
48
|
pyopenssl = "*"
|
53
49
|
xvfbwrapper = "*"
|
50
|
+
stealthenium = "*"
|
51
|
+
urllib3 = "==1.26.20"
|
52
|
+
cryptography = "*"
|
53
|
+
bln = "==2.3.11"
|
54
|
+
retry2 = "*"
|
55
|
+
setuptools = "==71.1.0"
|
54
56
|
|
55
57
|
[requires]
|
56
58
|
python_version = "3.9"
|