workwire 0.3.0__tar.gz → 0.4.0__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.
- {workwire-0.3.0 → workwire-0.4.0}/CHANGELOG.md +7 -0
- {workwire-0.3.0 → workwire-0.4.0}/PKG-INFO +6 -1
- {workwire-0.3.0 → workwire-0.4.0}/README.md +5 -0
- {workwire-0.3.0 → workwire-0.4.0}/pyproject.toml +1 -1
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/_models.py +19 -10
- {workwire-0.3.0 → workwire-0.4.0}/.gitignore +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/LICENSE +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/SECURITY.md +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/__init__.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/_client.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/_coverage.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/_version.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/errors.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/py.typed +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/__init__.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/jobs.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/locations.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/partnerships.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/projects.py +0 -0
- {workwire-0.3.0 → workwire-0.4.0}/src/workwire/resources/wires.py +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.0](https://github.com/workwire/workwire-python/compare/v0.3.0...v0.4.0) (2026-10-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **WOR-471:** party jobs carry location_name, location_kind and location_path (backend v1.54.0) ([#20](https://github.com/workwire/workwire-python/issues/20)) ([14f1c08](https://github.com/workwire/workwire-python/commit/14f1c083a600747521087a3b4b572d44c69934ef))
|
|
9
|
+
|
|
3
10
|
## [0.3.0](https://github.com/workwire/workwire-python/compare/v0.2.0...v0.3.0) (2026-10-16)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: workwire
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Official Python SDK for the Workwire API
|
|
5
5
|
Project-URL: Homepage, https://github.com/workwire/workwire-python
|
|
6
6
|
Project-URL: Changelog, https://github.com/workwire/workwire-python/blob/main/CHANGELOG.md
|
|
@@ -120,6 +120,11 @@ page = client.jobs.list(project=project.id) # page.quantity_unit is your org's
|
|
|
120
120
|
client.jobs.update(page.data[0].id, your_reference="PO-4471-A", quantity="12.5", checked=True)
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
+
A party Job — each of `client.wires.retrieve(...).parties[i].jobs`, and the
|
|
124
|
+
one `client.jobs.update` returns — carries `location_name`, `location_kind` and
|
|
125
|
+
`location_path` (the ancestors, root first), so a sub reads its scope without
|
|
126
|
+
the GC's tree; `client.jobs.list` rows had them already.
|
|
127
|
+
|
|
123
128
|
Leave `scope_location_ids` out to scope a party to the whole project.
|
|
124
129
|
`client.jobs.update` sends only the fields you pass: leave one out to keep
|
|
125
130
|
it, pass `None` to clear it. Add to a tree later with
|
|
@@ -97,6 +97,11 @@ page = client.jobs.list(project=project.id) # page.quantity_unit is your org's
|
|
|
97
97
|
client.jobs.update(page.data[0].id, your_reference="PO-4471-A", quantity="12.5", checked=True)
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
A party Job — each of `client.wires.retrieve(...).parties[i].jobs`, and the
|
|
101
|
+
one `client.jobs.update` returns — carries `location_name`, `location_kind` and
|
|
102
|
+
`location_path` (the ancestors, root first), so a sub reads its scope without
|
|
103
|
+
the GC's tree; `client.jobs.list` rows had them already.
|
|
104
|
+
|
|
100
105
|
Leave `scope_location_ids` out to scope a party to the whole project.
|
|
101
106
|
`client.jobs.update` sends only the fields you pass: leave one out to keep
|
|
102
107
|
it, pass `None` to clear it. Add to a tree later with
|
|
@@ -171,14 +171,31 @@ class PO(WorkwireObject):
|
|
|
171
171
|
created_at: str
|
|
172
172
|
|
|
173
173
|
|
|
174
|
+
class JobPathLocation(WorkwireObject):
|
|
175
|
+
"""One ancestor on a Job's ``location_path`` (a :class:`PartyJob`'s or a
|
|
176
|
+
:class:`JobRow`'s)."""
|
|
177
|
+
|
|
178
|
+
id: str
|
|
179
|
+
name: str
|
|
180
|
+
kind: str
|
|
181
|
+
|
|
182
|
+
|
|
174
183
|
class PartyJob(WorkwireObject):
|
|
175
184
|
"""One Job on a wire party (``JOB-…``) — the party's work at one location
|
|
176
|
-
of its scope. ``
|
|
177
|
-
|
|
185
|
+
of its scope. ``location_name``, ``location_kind`` and ``location_path``
|
|
186
|
+
(the ancestors, root first; empty at the site root) are the server's
|
|
187
|
+
description of where the Job sits in the GC's tree; ``your_reference``,
|
|
188
|
+
``quantity`` and ``checked_at`` are **your org's own** fields, never the
|
|
189
|
+
other side's."""
|
|
190
|
+
|
|
191
|
+
_nested = {"location_path": JobPathLocation}
|
|
178
192
|
|
|
179
193
|
id: str
|
|
180
194
|
display_id: str
|
|
181
195
|
location_id: str
|
|
196
|
+
location_name: str
|
|
197
|
+
location_kind: str
|
|
198
|
+
location_path: list[JobPathLocation]
|
|
182
199
|
your_reference: str | None
|
|
183
200
|
quantity: str | None
|
|
184
201
|
checked_at: str | None
|
|
@@ -334,14 +351,6 @@ class LocationBatch(list[Location]):
|
|
|
334
351
|
return copy.deepcopy(self._data)
|
|
335
352
|
|
|
336
353
|
|
|
337
|
-
class JobPathLocation(WorkwireObject):
|
|
338
|
-
"""One ancestor on a Job row's ``location_path``."""
|
|
339
|
-
|
|
340
|
-
id: str
|
|
341
|
-
name: str
|
|
342
|
-
kind: str
|
|
343
|
-
|
|
344
|
-
|
|
345
354
|
class JobMilestones(WorkwireObject):
|
|
346
355
|
"""A Job row's party milestone counts (repeated across the party's Jobs)."""
|
|
347
356
|
|
|
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
|