atsfill 0.0.4.dev38__tar.gz → 0.0.4.dev39__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 (37) hide show
  1. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/PKG-INFO +1 -1
  2. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/pyproject.toml +2 -2
  3. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/pyproject.toml.orig +2 -2
  4. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/dayforce.py +3 -2
  5. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/LICENSE +0 -0
  6. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/README.md +0 -0
  7. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/__init__.py +0 -0
  8. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/__init__.py +0 -0
  9. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/ashby.py +0 -0
  10. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/bamboohr.py +0 -0
  11. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/breezy.py +0 -0
  12. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/greenhouse.py +0 -0
  13. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/hireology.py +0 -0
  14. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/jazzhr.py +0 -0
  15. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/lever.py +0 -0
  16. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/manatal.py +0 -0
  17. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/oracle.py +0 -0
  18. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/paycor.py +0 -0
  19. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/paylocity.py +0 -0
  20. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/recruitee.py +0 -0
  21. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/smartrecruiters.py +0 -0
  22. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/teamtailor.py +0 -0
  23. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/workable.py +0 -0
  24. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/adapters/wttj.py +0 -0
  25. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/cli.py +0 -0
  26. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/__init__.py +0 -0
  27. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/accounts.py +0 -0
  28. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/adapter.py +0 -0
  29. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/attempts.py +0 -0
  30. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/browser.py +0 -0
  31. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/commands.py +0 -0
  32. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/matching.py +0 -0
  33. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/paths.py +0 -0
  34. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/registry.py +0 -0
  35. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/core/results.py +0 -0
  36. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/py.typed +0 -0
  37. {atsfill-0.0.4.dev38 → atsfill-0.0.4.dev39}/src/atsfill/registry.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atsfill
3
- Version: 0.0.4.dev38
3
+ Version: 0.0.4.dev39
4
4
  Summary: Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle.
5
5
  Keywords: job-applications,ats,ashby,greenhouse,teamtailor,ai-agents,cli
6
6
  Author: shbernal
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev38"
3
+ version = "0.0.4.dev39"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -68,7 +68,7 @@ select = [
68
68
  [tool.pytest.ini_options]
69
69
  testpaths = ["tests"]
70
70
  markers = ["live: drives a real hiring system page with data from .env and .tmp/; opt-in with -m live"]
71
- addopts = "-m 'not live' -n 8 --dist loadscope"
71
+ addopts = "-m 'not live' -n auto --dist loadscope"
72
72
 
73
73
  [[tool.uv.index]]
74
74
  name = "testpypi"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atsfill"
3
- version = "0.0.4.dev38"
3
+ version = "0.0.4.dev39"
4
4
  description = "Read, dry-run and submit job application forms on hiring systems: Ashby, Greenhouse, Teamtailor, Welcome to the Jungle."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -55,7 +55,7 @@ testpaths = ["tests"]
55
55
  markers = [
56
56
  "live: drives a real hiring system page with data from .env and .tmp/; opt-in with -m live",
57
57
  ]
58
- addopts = "-m 'not live' -n 8 --dist loadscope"
58
+ addopts = "-m 'not live' -n auto --dist loadscope"
59
59
 
60
60
  [[tool.uv.index]]
61
61
  name = "testpypi"
@@ -36,6 +36,7 @@ SUBMIT_TIMEOUT_MS = 90_000
36
36
  UPDATE_TRIES = 3
37
37
  FOLLOWUP_TIMEOUT_MS = 3_000
38
38
  DIAL_TIMEOUT_MS = 2_000 # per dial code tried, longest first
39
+ OPTIONS_TIMEOUT_MS = 5_000 # for a dropdown's options to render
39
40
  NEXT_TRIES = 3
40
41
  STEP_POLLS = 16 # of POLL_MS, before Next is clicked again
41
42
  POLL_MS = 500
@@ -701,7 +702,7 @@ def _pick(page: Page, target: Locator, texts: list[str]) -> bool:
701
702
  target.fill("")
702
703
  target.press_sequentially(text[:40], delay=10)
703
704
  with suppress(Timeout):
704
- options.first.wait_for(timeout=5_000)
705
+ options.first.wait_for(timeout=OPTIONS_TIMEOUT_MS)
705
706
  page.evaluate(_REVEAL, [target.get_attribute("id"), [text]])
706
707
  if _click_option(page, target, _plain(text).casefold().__eq__):
707
708
  return True
@@ -751,7 +752,7 @@ def _pick_suggestion(page: Page, target: Locator, value: str) -> None:
751
752
  _open(target)
752
753
  target.press_sequentially(value[:40], delay=10)
753
754
  with suppress(Timeout):
754
- page.locator(_option(target)).first.wait_for(timeout=5_000)
755
+ page.locator(_option(target)).first.wait_for(timeout=OPTIONS_TIMEOUT_MS)
755
756
  if not _click_option(page, target, lambda shown: shown.startswith(_plain(value).casefold())):
756
757
  target.press("Escape")
757
758
 
File without changes
File without changes