Washington state's Equal Pay and Opportunities Act requires pay
ranges to be included on job ads (RCW 49.58.110). WA L&I provides a PDF
complaint form for violations. epoa-tools
automates some
of the toil around this form, such as filling out basic information, checking
the right boxes, and optionally including additional PDF files as evidence (e.g.
the related job posting without pay range information).
The output is a single PDF which can be dropped into WA L&I's secure file upload.
epoa-tools
depends on pdftk
for filling out forms and joining pages.
On Debian / Ubuntu, install with:
sudo apt install pdftk-java
epoa-tools is available on PyPI:
pip install epoa-tools
Save a PDF file with evidence of the violation (e.g. job ad or recruiter email). Browsers can print or save web pages as PDFs.
Then, use epoa-job-ad
to complete the complaint form, attaching your evidence
file:
epoa-job-ad \
--name "John Q. Public" --email john.q.public@example.com \
"ACME Anti-Pay Ranges, Inc." \
saved_job_ad.pdf
To file anonymously, omit the --name
argument. The complainant name on the
form will be listed as Anonymous
and the signature line will contain
Anonymous (your.email.address@example.com)
:
epoa-job-ad \
--email anon.e.mouse@example.com \
"ACME Anti-Pay Ranges, Inc." \
saved_job_ad.pdf
Optionally include additional information text about your complaint with the
-i
/ --addinfo
/ --additional-information
option:
epoa-job-ad \
--email anon.e.mouse@example.com \
"ACME Anti-Pay Ranges, Inc." \
saved_job_ad.pdf \
-i "This job ad is public, contains specific job requirements for a job in WA, but lists no pay range"
Word(s) can be redacted from evidence file attachments on a best effort basis:
epoa-job-ad \
--email anon.e.mouse@example.com \
"ACME Anti-Pay Ranges, Inc." \
saved_job_ad.pdf \
-r remove_this_word -r also_remove_this_word
Each of these examples creates a file such as
john-q-public-acme-anti-pay-ranges-inc-20230101-pay-transparency-complaint.pdf
which can then be uploaded to WA L&I.
Poetry installation
Via pipx
:
pip install pipx
pipx install poetry
pipx inject poetry poetry-dynamic-versioning poetry-pre-commit-plugin
Via pip
:
pip install poetry
poetry self add poetry-dynamic-versioning poetry-pre-commit-plugin
- Setup:
poetry install
- Run static checks:
poetry run poe lint
orpoetry run pre-commit run --all-files
- Run static checks and tests:
poetry run poe test
Created from smkent/cookie-python using cookiecutter