planvortex 0.7.0__tar.gz → 0.8.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.
- {planvortex-0.7.0 → planvortex-0.8.0}/CHANGELOG.md +41 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/PKG-INFO +2 -2
- {planvortex-0.7.0 → planvortex-0.8.0}/README.md +1 -1
- {planvortex-0.7.0 → planvortex-0.8.0}/openapi/planvortex.openapi.json +2650 -136
- {planvortex-0.7.0 → planvortex-0.8.0}/pyproject.toml +1 -1
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/__init__.py +1 -1
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/errors.py +6 -4
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_generated/models.py +18 -6
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_shapes.py +4 -3
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_version.py +1 -1
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/accounts.py +7 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/accounts.py +7 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/types.py +8 -6
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_core.py +8 -4
- {planvortex-0.7.0 → planvortex-0.8.0}/.gitignore +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/LICENSE +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/scripts/build_docs.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/scripts/check_packaging.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/scripts/generate_models.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/scripts/generate_sync.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/scripts/route_coverage.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_client.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_client_sync.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/auth.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/auth_sync.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/files.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/http.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/http_sync.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/pagination.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/query.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_core/transport.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/_generated/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/py.typed +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/ai_plans.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/apps.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/base.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/catalog.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/clients.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/comments.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/contacts.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/dashboard.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/integrations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/messages.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/organizations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/products.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/publications.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources/uploads.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/ai_plans.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/apps.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/base.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/catalog.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/clients.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/comments.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/contacts.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/dashboard.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/integrations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/messages.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/organizations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/products.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/publications.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/resources_sync/uploads.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/src/planvortex/webhooks.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/conftest.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/contrato.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/__init__.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/conftest.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_auth.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_catalog.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_connect_flow.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_errors.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_publish.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/live/test_read.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_accounts.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_ai_plans.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_apps.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_catalog.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_client.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_clients.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_comments.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_contacts.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_dashboard.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_example_comments.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_example_connect.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_example_publish.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_example_schedule.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_example_webhooks.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_files.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_generate_models.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_generate_sync.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_integrations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_messages.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_models.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_openapi_freshness.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_organizations.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_packaging.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_pagination.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_products.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_publications.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_query_parity.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_readme.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_route_coverage.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_shapes_parity.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_types.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_uploads.py +0 -0
- {planvortex-0.7.0 → planvortex-0.8.0}/tests/test_webhooks.py +0 -0
|
@@ -4,6 +4,47 @@ All notable changes to this package are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
|
|
5
5
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.8.0] - 2026-09-13
|
|
8
|
+
|
|
9
|
+
Slack, the thirteenth network, reaches the package — and here it arrives the way it should: **three
|
|
10
|
+
tests went red the moment the models were regenerated**, because `PublishableNetwork` is a closed
|
|
11
|
+
`Literal` written by hand. The Node package did not break at all, and that is worse: its
|
|
12
|
+
`SocialNetwork` is an open enumeration, so a missing network there costs autocompletion and
|
|
13
|
+
documentation with nothing to signal it.
|
|
14
|
+
|
|
15
|
+
Nothing was removed and no signature moved: upgrading from `0.7.0` needs no changes, and
|
|
16
|
+
`MIGRATION.md` gains no entry.
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **Slack's errors (980-986) were not `PublicationError`.** The publication family stopped at 979,
|
|
21
|
+
so every one of them fell outside the table and arrived as a plain `PlanVortexError` — including
|
|
22
|
+
**980, the commonest error on the whole network**: the PlanVortex app is not in the channel.
|
|
23
|
+
Code that catches `PublicationError` to tell a fixable publication failure from anything else was
|
|
24
|
+
told nothing. The range now reaches 986, both ends are pinned by a test, and the README's range
|
|
25
|
+
table — which a test compares against the package — says so too.
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- **`slack` in `PublishableNetwork`**, so it is in `PUBLISHABLE_NETWORKS` at runtime and
|
|
30
|
+
`is_publishable_network("slack")` answers `True`. It is deliberately **not** in `CommentNetwork`
|
|
31
|
+
nor in `ContactChannel`: Slack has neither a comment inbox nor direct messages, and putting it in
|
|
32
|
+
either would promise a screen that does not exist. `SocialNetwork` picked it up on its own — it
|
|
33
|
+
comes from the generated models.
|
|
34
|
+
- **A warning on `accounts.enable()`, because nothing else announces it.** On Slack that call is
|
|
35
|
+
also what puts the app inside the channel. On a **public** channel it joins by itself; on a
|
|
36
|
+
**private** one it cannot — Slack has no API for that — and somebody has to type
|
|
37
|
+
`/invite @PlanVortex` in the channel. The call succeeds either way and the account stays
|
|
38
|
+
connected: what fails is the first publication, with error 980. Say it before your user picks the
|
|
39
|
+
channel.
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
|
|
43
|
+
- The prose that counts networks, in the five places it had gone stale: the two union sizes
|
|
44
|
+
(`PublishableNetwork` is now **twelve of the thirteen**), the bridge in `is_publishable_network`,
|
|
45
|
+
`SOCIAL_NETWORKS` ("six to thirteen in two years"), `ContactChannel` — where `slack` joins
|
|
46
|
+
`telegram` as a network that is **not** a channel, for the same reason: a bot cannot start a
|
|
47
|
+
conversation with anybody — and the two examples, `connect.py` and `publish.py`.
|
|
7
48
|
## [0.7.0] - 2026-09-04
|
|
8
49
|
|
|
9
50
|
**Users are unlimited on every plan**, so the quota that said otherwise is gone from the types —
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: planvortex
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Official Python client for the PlanVortex API
|
|
5
5
|
Project-URL: Homepage, https://planvortex.com/en/developers
|
|
6
6
|
Project-URL: Documentation, https://taliasoftworks.github.io/PlanVortexPython/
|
|
@@ -246,7 +246,7 @@ memorising numbers:
|
|
|
246
246
|
| 601-612 | `user` | `UserError` |
|
|
247
247
|
| 700-715 | `account` | `AccountError` |
|
|
248
248
|
| 800-810 | `file` | `FileError` |
|
|
249
|
-
| 900-
|
|
249
|
+
| 900-986 | `publication` | `PublicationError` |
|
|
250
250
|
| 1000-1003 | `general` | `PlanVortexError` |
|
|
251
251
|
| 1100-1111 | `organization` | `OrganizationError` |
|
|
252
252
|
| 1200-1207 | `role` | `PlanVortexError` |
|
|
@@ -216,7 +216,7 @@ memorising numbers:
|
|
|
216
216
|
| 601-612 | `user` | `UserError` |
|
|
217
217
|
| 700-715 | `account` | `AccountError` |
|
|
218
218
|
| 800-810 | `file` | `FileError` |
|
|
219
|
-
| 900-
|
|
219
|
+
| 900-986 | `publication` | `PublicationError` |
|
|
220
220
|
| 1000-1003 | `general` | `PlanVortexError` |
|
|
221
221
|
| 1100-1111 | `organization` | `OrganizationError` |
|
|
222
222
|
| 1200-1207 | `role` | `PlanVortexError` |
|