atsfill 0.0.5.dev145__tar.gz → 0.0.5.dev147__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.
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/PKG-INFO +35 -6
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/README.md +34 -5
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/pyproject.toml +2 -1
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/pyproject.toml.orig +4 -1
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/commands.py +1 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/registry.py +12 -13
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/results.py +1 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/LICENSE +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/__init__.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/__init__.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/ashby.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/bamboohr.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/breezy.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/dayforce.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/eightfold.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/greenhouse.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/gupy.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/hireology.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/hiringthing.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/hrmdirect.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/isolvedhire.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/jazzhr.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/join.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/lever.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/manatal.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/oracle.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/paycor.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/paylocity.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/personio.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/phenom.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/pinpoint.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/recruitee.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/rippling.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/smartrecruiters.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/successfactors.js +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/successfactors.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/taleo.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/teamtailor.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/ukg.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/workable.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/workday.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/wttj.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/adapters/zohorecruit.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/cli.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/__init__.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/accounts.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/adapter.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/attempts.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/browser.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/conditions.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/html.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/matching.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/otp.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/passwords.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/paths.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/snapshot.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/core/telemetry.py +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/py.typed +0 -0
- {atsfill-0.0.5.dev145 → atsfill-0.0.5.dev147}/src/atsfill/registry.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atsfill
|
|
3
|
-
Version: 0.0.5.
|
|
3
|
+
Version: 0.0.5.dev147
|
|
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
|
|
@@ -57,11 +57,40 @@ It is built for agents with a shell: every command prints one JSON document and
|
|
|
57
57
|
|
|
58
58
|
## Supported hiring systems
|
|
59
59
|
|
|
60
|
-
<!--
|
|
61
|
-
](https://shbernal.github.io/atsfill/run-history/)
|
|
62
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
63
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
64
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
65
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
66
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
67
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
68
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
69
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
70
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
71
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
72
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
73
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
74
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
75
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
76
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
77
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
78
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
79
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
80
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
81
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
82
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
83
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
84
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
85
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
86
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
87
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
88
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
89
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
90
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
91
|
+
<!-- /run-history -->
|
|
92
|
+
|
|
93
|
+
Each line is a hiring system atsfill has an adapter for, and its [run history](https://shbernal.github.io/atsfill/run-history/): the last 30 days of runs, green when a form filled or an application went through, red when it failed.
|
|
65
94
|
[The systems](docs/adapters/README.md) lists which ones need an account, to read the form or only to send it.
|
|
66
95
|
Any other system returns `unsupported`, so the consumer can fall back to driving a browser itself.
|
|
67
96
|
|
|
@@ -28,11 +28,40 @@ It is built for agents with a shell: every command prints one JSON document and
|
|
|
28
28
|
|
|
29
29
|
## Supported hiring systems
|
|
30
30
|
|
|
31
|
-
<!--
|
|
32
|
-
](https://shbernal.github.io/atsfill/run-history/)
|
|
33
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
34
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
35
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
36
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
37
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
38
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
39
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
40
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
41
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
42
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
43
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
44
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
45
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
46
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
47
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
48
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
49
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
50
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
51
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
52
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
53
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
54
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
55
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
56
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
57
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
58
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
59
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
60
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
61
|
+
[](https://shbernal.github.io/atsfill/run-history/)
|
|
62
|
+
<!-- /run-history -->
|
|
63
|
+
|
|
64
|
+
Each line is a hiring system atsfill has an adapter for, and its [run history](https://shbernal.github.io/atsfill/run-history/): the last 30 days of runs, green when a form filled or an application went through, red when it failed.
|
|
36
65
|
[The systems](docs/adapters/README.md) lists which ones need an account, to read the form or only to send it.
|
|
37
66
|
Any other system returns `unsupported`, so the consumer can fall back to driving a browser itself.
|
|
38
67
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "atsfill"
|
|
3
|
-
version = "0.0.5.
|
|
3
|
+
version = "0.0.5.dev147"
|
|
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"
|
|
@@ -51,6 +51,7 @@ requires = ["uv_build>=0.13.0,<0.14.0"]
|
|
|
51
51
|
build-backend = "uv_build"
|
|
52
52
|
|
|
53
53
|
[dependency-groups]
|
|
54
|
+
docs = ["zensical==0.0.73"]
|
|
54
55
|
commit-check = ["commit-check==2.19.0"]
|
|
55
56
|
dev = [
|
|
56
57
|
"pytest>=9.1.1",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "atsfill"
|
|
3
|
-
version = "0.0.5.
|
|
3
|
+
version = "0.0.5.dev147"
|
|
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"
|
|
@@ -41,6 +41,9 @@ requires = ["uv_build>=0.13.0,<0.14.0"]
|
|
|
41
41
|
build-backend = "uv_build"
|
|
42
42
|
|
|
43
43
|
[dependency-groups]
|
|
44
|
+
docs = [
|
|
45
|
+
"zensical==0.0.73",
|
|
46
|
+
]
|
|
44
47
|
commit-check = [
|
|
45
48
|
"commit-check==2.19.0",
|
|
46
49
|
]
|
|
@@ -183,21 +183,20 @@ def backlog(registry: dict[str, Source] | None = None) -> str:
|
|
|
183
183
|
return "\n".join(text) + "\n"
|
|
184
184
|
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
|
|
186
|
+
RUN_HISTORY = "https://shbernal.github.io/atsfill/run-history/" # built by scripts/run_history.py
|
|
187
|
+
RUN_HISTORIES = ("<!-- run-history -->", "<!-- /run-history -->")
|
|
188
188
|
|
|
189
189
|
|
|
190
|
-
def
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
escape = lambda t: t.replace("-", "--").replace("_", "__").replace(" ", "%20") # noqa: E731
|
|
194
|
-
url = f"https://img.shields.io/badge/{escape(s.adapter or s.name)}-{escape(message)}-{color}"
|
|
195
|
-
return f""
|
|
190
|
+
def _run_history(s: Source) -> str:
|
|
191
|
+
"""Its image links to the page: an SVG's own links don't survive GitHub's image proxy."""
|
|
192
|
+
return f"[]({RUN_HISTORY})"
|
|
196
193
|
|
|
197
194
|
|
|
198
|
-
def
|
|
199
|
-
"""The README with
|
|
195
|
+
def with_run_histories(readme: str, registry: dict[str, Source] | None = None) -> str:
|
|
196
|
+
"""The README with each adapter's run history between its markers."""
|
|
200
197
|
registry = sources() if registry is None else registry
|
|
201
|
-
start
|
|
202
|
-
|
|
203
|
-
|
|
198
|
+
start = readme.index(RUN_HISTORIES[0]) + len(RUN_HISTORIES[0])
|
|
199
|
+
end = readme.index(RUN_HISTORIES[1])
|
|
200
|
+
adapters = sorted((s for s in registry.values() if s.adapter), key=_backlog_key)
|
|
201
|
+
images = "\n".join(_run_history(s) for s in adapters)
|
|
202
|
+
return f"{readme[:start]}\n{images}\n{readme[end:]}"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|