Skip to main content

EPOA pay transparency tools

Project description

epoa-tools: WA EPOA pay transparency tools

PyPI PyPI - Python Version Build codecov GitHub stars

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.

Prerequisites

epoa-tools depends on pdftk for filling out forms and joining pages.

On Debian / Ubuntu, install with:

sudo apt install pdftk-java

Installation

epoa-tools is available on PyPI:

pip install epoa-tools

Usage

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.

Development

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

Development tasks

  • Setup: poetry install
  • Run static checks: poetry run poe lint or poetry run pre-commit run --all-files
  • Run static checks and tests: poetry run poe test

Created from smkent/cookie-python using cookiecutter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

epoa_tools-0.0.3.tar.gz (185.2 kB view details)

Uploaded Source

Built Distribution

epoa_tools-0.0.3-py3-none-any.whl (182.7 kB view details)

Uploaded Python 3

File details

Details for the file epoa_tools-0.0.3.tar.gz.

File metadata

  • Download URL: epoa_tools-0.0.3.tar.gz
  • Upload date:
  • Size: 185.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for epoa_tools-0.0.3.tar.gz
Algorithm Hash digest
SHA256 dc6155caa4db23655285d3a4f8bea27eccae74c754eedecbd269c696aeede957
MD5 0ce15506395b111270dca0e3f4ea00a2
BLAKE2b-256 efb00190c9e0d470fd0f7efd7e33e09260d70fbc3f8ed543ba403f167e3b9d27

See more details on using hashes here.

File details

Details for the file epoa_tools-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: epoa_tools-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 182.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for epoa_tools-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5b780e70c26cc73633eceb5aa0dda9f9f72c1e719fd2677e4de164f2d72d716b
MD5 775320d94927fa14fd87f6ef63256329
BLAKE2b-256 84b39c54ccf92be187401d53a249ebd0a6f9640e6aacbf216699f8dba5070526

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page