divapply 0.4.2__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.
Files changed (54) hide show
  1. divapply-0.4.2/.env.example +22 -0
  2. divapply-0.4.2/.github/workflows/ci.yml +29 -0
  3. divapply-0.4.2/.github/workflows/publish.yml +38 -0
  4. divapply-0.4.2/.gitignore +51 -0
  5. divapply-0.4.2/AI_ASSISTANCE.md +7 -0
  6. divapply-0.4.2/CHANGELOG.md +28 -0
  7. divapply-0.4.2/CONTRIBUTING.md +24 -0
  8. divapply-0.4.2/LICENSE +661 -0
  9. divapply-0.4.2/MIGRATION_CHECKLIST.md +43 -0
  10. divapply-0.4.2/PKG-INFO +278 -0
  11. divapply-0.4.2/PUBLISHING.md +54 -0
  12. divapply-0.4.2/README.md +231 -0
  13. divapply-0.4.2/install.cmd +6 -0
  14. divapply-0.4.2/install.ps1 +41 -0
  15. divapply-0.4.2/install.sh +169 -0
  16. divapply-0.4.2/profile.example.json +61 -0
  17. divapply-0.4.2/pyproject.toml +73 -0
  18. divapply-0.4.2/src/divapply/__init__.py +3 -0
  19. divapply-0.4.2/src/divapply/__main__.py +5 -0
  20. divapply-0.4.2/src/divapply/apply/__init__.py +1 -0
  21. divapply-0.4.2/src/divapply/apply/chrome.py +360 -0
  22. divapply-0.4.2/src/divapply/apply/dashboard.py +203 -0
  23. divapply-0.4.2/src/divapply/apply/launcher.py +1404 -0
  24. divapply-0.4.2/src/divapply/apply/prompt.py +942 -0
  25. divapply-0.4.2/src/divapply/cli.py +765 -0
  26. divapply-0.4.2/src/divapply/config/coursework.seed.json +560 -0
  27. divapply-0.4.2/src/divapply/config/employers.yaml +31 -0
  28. divapply-0.4.2/src/divapply/config/searches.example.yaml +113 -0
  29. divapply-0.4.2/src/divapply/config/sites.yaml +107 -0
  30. divapply-0.4.2/src/divapply/config.py +445 -0
  31. divapply-0.4.2/src/divapply/database.py +635 -0
  32. divapply-0.4.2/src/divapply/discovery/__init__.py +0 -0
  33. divapply-0.4.2/src/divapply/discovery/jobspy.py +557 -0
  34. divapply-0.4.2/src/divapply/discovery/smartextract.py +1268 -0
  35. divapply-0.4.2/src/divapply/discovery/workday.py +575 -0
  36. divapply-0.4.2/src/divapply/enrichment/__init__.py +0 -0
  37. divapply-0.4.2/src/divapply/enrichment/detail.py +1003 -0
  38. divapply-0.4.2/src/divapply/llm.py +367 -0
  39. divapply-0.4.2/src/divapply/pipeline.py +551 -0
  40. divapply-0.4.2/src/divapply/scoring/__init__.py +1 -0
  41. divapply-0.4.2/src/divapply/scoring/cover_letter.py +337 -0
  42. divapply-0.4.2/src/divapply/scoring/pdf.py +789 -0
  43. divapply-0.4.2/src/divapply/scoring/scorer.py +230 -0
  44. divapply-0.4.2/src/divapply/scoring/tailor.py +800 -0
  45. divapply-0.4.2/src/divapply/scoring/ultimate.py +214 -0
  46. divapply-0.4.2/src/divapply/scoring/validator.py +374 -0
  47. divapply-0.4.2/src/divapply/social.py +1324 -0
  48. divapply-0.4.2/src/divapply/view.py +407 -0
  49. divapply-0.4.2/src/divapply/wizard/__init__.py +0 -0
  50. divapply-0.4.2/src/divapply/wizard/init.py +396 -0
  51. divapply-0.4.2/tests/test_migration.py +53 -0
  52. divapply-0.4.2/tests/test_tier.py +67 -0
  53. divapply-0.4.2/tools/bootstrap.ps1 +250 -0
  54. divapply-0.4.2/tools/extract_transcript.ps1 +43 -0
@@ -0,0 +1,22 @@
1
+ # DivApply environment configuration
2
+ # Copy to ~/.divapply/.env and fill in your values.
3
+
4
+ # AI-assisted stages: use one provider.
5
+ GEMINI_API_KEY=
6
+ OPENAI_API_KEY=
7
+ LLM_URL=
8
+
9
+ # Default model. Gemini is the easiest free-tier starting point.
10
+ LLM_MODEL=gemini-2.0-flash
11
+
12
+ # Optional per-stage model overrides.
13
+ LLM_MODEL_SCORE=
14
+ LLM_MODEL_TAILOR=
15
+ LLM_MODEL_COVER=
16
+ LLM_MODEL_APPLY=
17
+
18
+ # Optional browser / automation settings
19
+ DIVAPPLY_APPLY_BACKEND=
20
+ DIVAPPLY_BROWSER=firefox
21
+ CHROME_PATH=
22
+ CAPSOLVER_API_KEY=
@@ -0,0 +1,29 @@
1
+ name: CI
2
+
3
+ on:
4
+ workflow_dispatch: # manual trigger only
5
+
6
+ jobs:
7
+ test:
8
+ runs-on: ubuntu-latest
9
+ strategy:
10
+ matrix:
11
+ python-version: ["3.11", "3.12", "3.13"]
12
+
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v4
16
+
17
+ - name: Set up Python ${{ matrix.python-version }}
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: ${{ matrix.python-version }}
21
+
22
+ - name: Install dependencies
23
+ run: pip install -e ".[dev]"
24
+
25
+ - name: Lint
26
+ run: ruff check src/
27
+
28
+ - name: Test
29
+ run: pytest tests/ -v
@@ -0,0 +1,38 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ publish:
11
+ runs-on: ubuntu-latest
12
+ environment:
13
+ name: pypi
14
+ url: https://pypi.org/p/divapply
15
+ permissions:
16
+ contents: read
17
+ id-token: write
18
+
19
+ steps:
20
+ - name: Checkout
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Set up Python
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: "3.12"
27
+
28
+ - name: Install build tools
29
+ run: python -m pip install --upgrade build twine
30
+
31
+ - name: Build package
32
+ run: python -m build
33
+
34
+ - name: Check package metadata
35
+ run: python -m twine check dist/*
36
+
37
+ - name: Publish package to PyPI
38
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,51 @@
1
+ # User data (NEVER commit)
2
+ profile.json
3
+ resume.txt
4
+ resume.pdf
5
+ *.env
6
+ .env.*
7
+ !.env.example
8
+
9
+ # Runtime artifacts
10
+ *.db
11
+ tailored_resumes/
12
+ cover_letters/
13
+ chrome-workers/
14
+ apply-workers/
15
+ apply_logs/
16
+ logs/
17
+ .venv/
18
+ .vendor/
19
+ academic_progress.txt
20
+ tmcc_transcript.txt
21
+ unr_transcript.txt
22
+ base_import_test.txt
23
+ base_py_test.txt
24
+ module_check.json
25
+ pipeline_result.json
26
+ test_pipeline.py
27
+
28
+ # MCP configs (per-machine)
29
+ .mcp*.json
30
+
31
+ # Python
32
+ __pycache__/
33
+ *.py[cod]
34
+ *$py.class
35
+ *.egg-info/
36
+ dist/
37
+ build/
38
+ *.egg
39
+
40
+ # IDE
41
+ .vscode/
42
+ .idea/
43
+ *.swp
44
+ *.swo
45
+
46
+ # OS
47
+ .DS_Store
48
+ Thumbs.db
49
+
50
+ # Claude Code
51
+ .claude/
@@ -0,0 +1,7 @@
1
+ # AI Assistance Disclosure
2
+
3
+ DivApply contains code that was developed with help from OpenAI Codex and then reviewed and adapted by the repository owner.
4
+
5
+ The project is intentionally transparent about that history. Codex-assisted work was used to help with implementation, refactoring, and documentation, but the repository owner remains responsible for the final code and its behavior.
6
+
7
+ If you contribute changes, please keep that same standard of review and accountability: Codex-assisted work is welcome, but it should be checked carefully before merge or release.
@@ -0,0 +1,28 @@
1
+ # Changelog
2
+
3
+ All notable changes to DivApply will be documented here.
4
+
5
+ ## 0.4.0
6
+
7
+ - Renamed the project from ApplyPilot to DivApply.
8
+ - Moved the Python package to `src/divapply/`.
9
+ - Kept the public CLI entry point as `divapply`.
10
+ - Added a Windows bootstrap install flow for fresh GitHub clones.
11
+ - Added legacy migration support for previous `~/.applypilot` data.
12
+ - Added hidden coursework storage for profile matching.
13
+ - Added one-page resume shaping and tighter PDF layout defaults.
14
+
15
+ ## 0.4.1
16
+
17
+ - Fixed the GitHub Actions PyPI publish workflow so it requests repository contents access before checkout.
18
+ - Kept the DivApply release/docs branding aligned with the Codex-assisted development disclosure.
19
+
20
+ ## 0.4.2
21
+
22
+ - Added a PyPI trusted-publishing workflow for `pip install divapply` releases.
23
+ - Reworked the README around the simple pip-first install path.
24
+ - Kept the GitHub clone installers as fallback/development options.
25
+
26
+ ## Unreleased
27
+
28
+ - Future work will continue under the DivApply branding.
@@ -0,0 +1,24 @@
1
+ # Contributing to DivApply
2
+
3
+ Thanks for helping improve DivApply. This project is a Windows-first, AI-assisted job application pipeline, and changes should be checked carefully before merge.
4
+
5
+ ## Local Setup
6
+
7
+ ```bash
8
+ git clone https://github.com/InnitDivine/DivApply.git
9
+ cd DivApply
10
+ pip install -e ".[dev]"
11
+ divapply --version
12
+ ```
13
+
14
+ ## Repo Layout
15
+
16
+ - `src/divapply/` contains the Python package.
17
+ - `src/divapply/config/` contains shipped YAML config.
18
+ - `README.md` documents the public workflow.
19
+
20
+ ## Contributing Notes
21
+
22
+ - Keep the public CLI and docs aligned with DivApply.
23
+ - Prefer small, reviewable changes.
24
+ - If you use AI-assisted code generation, review the result before commit.