podojo-cli 0.8.2__tar.gz → 0.9.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.
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/CHANGELOG.md +10 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/CLAUDE.md +0 -2
- podojo_cli-0.9.0/PKG-INFO +145 -0
- podojo_cli-0.9.0/README.md +115 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/pyproject.toml +1 -3
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/main.py +0 -2
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/uv.lock +1 -276
- podojo_cli-0.8.2/PKG-INFO +0 -47
- podojo_cli-0.8.2/README.md +0 -15
- podojo_cli-0.8.2/src/podojo_cli/commands/gdrive.py +0 -51
- podojo_cli-0.8.2/src/podojo_cli/gdrive/list.py +0 -20
- podojo_cli-0.8.2/src/podojo_cli/gdrive/upload.py +0 -56
- podojo_cli-0.8.2/src/podojo_cli/video/__init__.py +0 -0
- podojo_cli-0.8.2/tests/test_gdrive.py +0 -81
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/.github/workflows/publish.yml +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/.gitignore +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/__init__.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/client.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/__init__.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/auth.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/interviews.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/projects.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/showreel.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/synth.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/transcripts.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/usertests.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/commands/videos.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/config.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/synth/__init__.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/synth/driver.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/synth/session.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/version_check.py +0 -0
- {podojo_cli-0.8.2/src/podojo_cli/gdrive → podojo_cli-0.9.0/src/podojo_cli/video}/__init__.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/src/podojo_cli/video/showreel.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/conftest.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/test_auth.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/test_interviews.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/test_projects.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/test_showreel.py +0 -0
- {podojo_cli-0.8.2 → podojo_cli-0.9.0}/tests/test_usertests.py +0 -0
|
@@ -5,6 +5,16 @@ All notable changes to the Podojo CLI will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org).
|
|
7
7
|
|
|
8
|
+
## [0.9.0] - 2026-05-14
|
|
9
|
+
|
|
10
|
+
### Removed
|
|
11
|
+
- `gdrive` command group (upload/list). The Google Drive integration was unused; this also drops the `google-auth` and `google-api-python-client` dependencies.
|
|
12
|
+
|
|
13
|
+
## [0.8.3] - 2026-05-14
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- Expanded the README with a full command reference, authentication/config docs, and setup notes for the `showreel` and `synth` extras.
|
|
17
|
+
|
|
8
18
|
## [0.8.2] - 2026-05-14
|
|
9
19
|
|
|
10
20
|
### Changed
|
|
@@ -21,8 +21,6 @@ podojo transcripts download <project> <batch_id> -o output.txt
|
|
|
21
21
|
podojo videos list <project>
|
|
22
22
|
podojo videos download <batch_id> -o output.mp4
|
|
23
23
|
podojo showreel create clips.json -o showreel.mp4
|
|
24
|
-
podojo gdrive setup ~/.podojo-gdrive.json
|
|
25
|
-
podojo gdrive upload report.md --title "My Report"
|
|
26
24
|
```
|
|
27
25
|
|
|
28
26
|
## User Tests (Unmoderated Tests)
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: podojo-cli
|
|
3
|
+
Version: 0.9.0
|
|
4
|
+
Summary: CLI for the Podojo user research platform
|
|
5
|
+
Project-URL: Homepage, https://github.com/podojo/cli-podojo
|
|
6
|
+
Project-URL: Source, https://github.com/podojo/cli-podojo
|
|
7
|
+
Project-URL: Issues, https://github.com/podojo/cli-podojo/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/podojo/cli-podojo/blob/main/CHANGELOG.md
|
|
9
|
+
Author-email: Jochen Ade <jochen.ade@podojo.com>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
Keywords: cli,podojo,transcripts,user-research,ux-research
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
15
|
+
Classifier: Intended Audience :: Other Audience
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Utilities
|
|
21
|
+
Requires-Python: >=3.12
|
|
22
|
+
Requires-Dist: httpx>=0.28
|
|
23
|
+
Requires-Dist: keyring>=25.0
|
|
24
|
+
Requires-Dist: pyyaml>=6.0
|
|
25
|
+
Requires-Dist: rich>=13.0
|
|
26
|
+
Requires-Dist: typer>=0.15
|
|
27
|
+
Provides-Extra: synth
|
|
28
|
+
Requires-Dist: playwright>=1.40; extra == 'synth'
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
|
|
31
|
+
# podojo-cli
|
|
32
|
+
|
|
33
|
+
Command-line tool for the [Podojo](https://podojo.com) user research platform.
|
|
34
|
+
|
|
35
|
+
`podojo` lets UX researchers manage projects, upload and transcribe interviews,
|
|
36
|
+
build unmoderated user tests, download research videos, cut showreels, and run
|
|
37
|
+
synthetic test participants — all without leaving the terminal.
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
uv tool install podojo-cli
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Or with pip:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pip install podojo-cli
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Requires Python 3.12+. Some commands need extra tooling:
|
|
52
|
+
|
|
53
|
+
- `showreel` requires [`ffmpeg`](https://ffmpeg.org/) on your `PATH` (`brew install ffmpeg`).
|
|
54
|
+
- `synth` requires the optional `synth` extra: `pip install 'podojo-cli[synth]'` then `playwright install chromium`.
|
|
55
|
+
|
|
56
|
+
## Authentication
|
|
57
|
+
|
|
58
|
+
Log in once with your Podojo API key — it's stored in your system keychain:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
podojo auth login # prompts for the key
|
|
62
|
+
podojo auth login --key XXX # or pass it directly
|
|
63
|
+
podojo auth logout # remove the stored key
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Configuration is read from, in order of precedence:
|
|
67
|
+
|
|
68
|
+
1. Environment variables — `PODOJO_API_KEY`, `PODOJO_BASE_URL`
|
|
69
|
+
2. `~/.podojo.toml`
|
|
70
|
+
3. The system keyring (set by `podojo auth login`)
|
|
71
|
+
|
|
72
|
+
## Usage
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
podojo --help # top-level help
|
|
76
|
+
podojo <group> --help # help for a command group
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Projects
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
podojo projects list
|
|
83
|
+
podojo projects create "Checkout Redesign" --brief "Q1 usability study"
|
|
84
|
+
podojo projects upload-doc "Checkout Redesign" brief.md --type brief
|
|
85
|
+
podojo projects get-doc "Checkout Redesign" --type final -o final-report.md
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`upload-doc` accepts `brief` and `final` document types; `get-doc` also supports
|
|
89
|
+
`agent`. Embedded images are stripped from markdown before upload.
|
|
90
|
+
|
|
91
|
+
### Interviews & transcripts
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
podojo interviews upload session-03.mp4 --project "Checkout Redesign"
|
|
95
|
+
podojo transcripts list "Checkout Redesign"
|
|
96
|
+
podojo transcripts download "Checkout Redesign" <batch-id> -o transcript.txt
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Videos & showreels
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
podojo videos list "Checkout Redesign"
|
|
103
|
+
podojo videos download <batch-id> -o clip.mp4
|
|
104
|
+
podojo showreel create clips.json -o showreel.mp4
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The showreel `clips.json` is a list of clips, each with `batch_id`,
|
|
108
|
+
`participant`, `country`, `topic`, `start`, and `end` (`MM:SS` or `HH:MM:SS`).
|
|
109
|
+
Each clip gets an auto-generated title card.
|
|
110
|
+
|
|
111
|
+
### Unmoderated user tests
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
podojo usertests example > my-test.yaml # print a template to start from
|
|
115
|
+
podojo usertests validate my-test.yaml # check it without creating
|
|
116
|
+
podojo usertests create -f my-test.yaml
|
|
117
|
+
podojo usertests list
|
|
118
|
+
podojo usertests get checkout-usability-v1
|
|
119
|
+
podojo usertests update checkout-usability-v1 -f changes.yaml
|
|
120
|
+
podojo usertests delete checkout-usability-v1
|
|
121
|
+
podojo usertests snippet # recorder script for self-hosted prototypes
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Synthetic participants
|
|
125
|
+
|
|
126
|
+
The `synth` group drives a Playwright browser through a user test preview so an
|
|
127
|
+
agent (e.g. Claude Code) can act as a synthetic participant:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
podojo synth start checkout-usability-v1 # or a preview URL
|
|
131
|
+
podojo synth state
|
|
132
|
+
podojo synth click "Get Started"
|
|
133
|
+
podojo synth fill "#answer" "It felt slow"
|
|
134
|
+
podojo synth advance
|
|
135
|
+
podojo synth stop
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Links
|
|
139
|
+
|
|
140
|
+
- [Source & issues](https://github.com/podojo/cli-podojo)
|
|
141
|
+
- [Changelog](https://github.com/podojo/cli-podojo/blob/main/CHANGELOG.md)
|
|
142
|
+
|
|
143
|
+
## License
|
|
144
|
+
|
|
145
|
+
MIT
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# podojo-cli
|
|
2
|
+
|
|
3
|
+
Command-line tool for the [Podojo](https://podojo.com) user research platform.
|
|
4
|
+
|
|
5
|
+
`podojo` lets UX researchers manage projects, upload and transcribe interviews,
|
|
6
|
+
build unmoderated user tests, download research videos, cut showreels, and run
|
|
7
|
+
synthetic test participants — all without leaving the terminal.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
uv tool install podojo-cli
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Or with pip:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install podojo-cli
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Requires Python 3.12+. Some commands need extra tooling:
|
|
22
|
+
|
|
23
|
+
- `showreel` requires [`ffmpeg`](https://ffmpeg.org/) on your `PATH` (`brew install ffmpeg`).
|
|
24
|
+
- `synth` requires the optional `synth` extra: `pip install 'podojo-cli[synth]'` then `playwright install chromium`.
|
|
25
|
+
|
|
26
|
+
## Authentication
|
|
27
|
+
|
|
28
|
+
Log in once with your Podojo API key — it's stored in your system keychain:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
podojo auth login # prompts for the key
|
|
32
|
+
podojo auth login --key XXX # or pass it directly
|
|
33
|
+
podojo auth logout # remove the stored key
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Configuration is read from, in order of precedence:
|
|
37
|
+
|
|
38
|
+
1. Environment variables — `PODOJO_API_KEY`, `PODOJO_BASE_URL`
|
|
39
|
+
2. `~/.podojo.toml`
|
|
40
|
+
3. The system keyring (set by `podojo auth login`)
|
|
41
|
+
|
|
42
|
+
## Usage
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
podojo --help # top-level help
|
|
46
|
+
podojo <group> --help # help for a command group
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Projects
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
podojo projects list
|
|
53
|
+
podojo projects create "Checkout Redesign" --brief "Q1 usability study"
|
|
54
|
+
podojo projects upload-doc "Checkout Redesign" brief.md --type brief
|
|
55
|
+
podojo projects get-doc "Checkout Redesign" --type final -o final-report.md
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`upload-doc` accepts `brief` and `final` document types; `get-doc` also supports
|
|
59
|
+
`agent`. Embedded images are stripped from markdown before upload.
|
|
60
|
+
|
|
61
|
+
### Interviews & transcripts
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
podojo interviews upload session-03.mp4 --project "Checkout Redesign"
|
|
65
|
+
podojo transcripts list "Checkout Redesign"
|
|
66
|
+
podojo transcripts download "Checkout Redesign" <batch-id> -o transcript.txt
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Videos & showreels
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
podojo videos list "Checkout Redesign"
|
|
73
|
+
podojo videos download <batch-id> -o clip.mp4
|
|
74
|
+
podojo showreel create clips.json -o showreel.mp4
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The showreel `clips.json` is a list of clips, each with `batch_id`,
|
|
78
|
+
`participant`, `country`, `topic`, `start`, and `end` (`MM:SS` or `HH:MM:SS`).
|
|
79
|
+
Each clip gets an auto-generated title card.
|
|
80
|
+
|
|
81
|
+
### Unmoderated user tests
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
podojo usertests example > my-test.yaml # print a template to start from
|
|
85
|
+
podojo usertests validate my-test.yaml # check it without creating
|
|
86
|
+
podojo usertests create -f my-test.yaml
|
|
87
|
+
podojo usertests list
|
|
88
|
+
podojo usertests get checkout-usability-v1
|
|
89
|
+
podojo usertests update checkout-usability-v1 -f changes.yaml
|
|
90
|
+
podojo usertests delete checkout-usability-v1
|
|
91
|
+
podojo usertests snippet # recorder script for self-hosted prototypes
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Synthetic participants
|
|
95
|
+
|
|
96
|
+
The `synth` group drives a Playwright browser through a user test preview so an
|
|
97
|
+
agent (e.g. Claude Code) can act as a synthetic participant:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
podojo synth start checkout-usability-v1 # or a preview URL
|
|
101
|
+
podojo synth state
|
|
102
|
+
podojo synth click "Get Started"
|
|
103
|
+
podojo synth fill "#answer" "It felt slow"
|
|
104
|
+
podojo synth advance
|
|
105
|
+
podojo synth stop
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Links
|
|
109
|
+
|
|
110
|
+
- [Source & issues](https://github.com/podojo/cli-podojo)
|
|
111
|
+
- [Changelog](https://github.com/podojo/cli-podojo/blob/main/CHANGELOG.md)
|
|
112
|
+
|
|
113
|
+
## License
|
|
114
|
+
|
|
115
|
+
MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "podojo-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.9.0"
|
|
4
4
|
description = "CLI for the Podojo user research platform"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -23,8 +23,6 @@ dependencies = [
|
|
|
23
23
|
"httpx>=0.28",
|
|
24
24
|
"rich>=13.0",
|
|
25
25
|
"pyyaml>=6.0",
|
|
26
|
-
"google-auth>=2.0",
|
|
27
|
-
"google-api-python-client>=2.0",
|
|
28
26
|
"keyring>=25.0",
|
|
29
27
|
]
|
|
30
28
|
|
|
@@ -2,7 +2,6 @@ import typer
|
|
|
2
2
|
|
|
3
3
|
from .commands import (
|
|
4
4
|
auth,
|
|
5
|
-
gdrive,
|
|
6
5
|
interviews,
|
|
7
6
|
projects,
|
|
8
7
|
showreel,
|
|
@@ -33,7 +32,6 @@ app.add_typer(synth.app, name="synth")
|
|
|
33
32
|
app.add_typer(transcripts.app, name="transcripts")
|
|
34
33
|
app.add_typer(videos.app, name="videos")
|
|
35
34
|
app.add_typer(showreel.app, name="showreel")
|
|
36
|
-
app.add_typer(gdrive.app, name="gdrive")
|
|
37
35
|
|
|
38
36
|
if __name__ == "__main__":
|
|
39
37
|
app()
|
|
@@ -46,8 +46,6 @@ dependencies = [
|
|
|
46
46
|
]
|
|
47
47
|
sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" }
|
|
48
48
|
wheels = [
|
|
49
|
-
{ url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" },
|
|
50
|
-
{ url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" },
|
|
51
49
|
{ url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" },
|
|
52
50
|
{ url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" },
|
|
53
51
|
{ url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" },
|
|
@@ -55,11 +53,6 @@ wheels = [
|
|
|
55
53
|
{ url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" },
|
|
56
54
|
{ url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" },
|
|
57
55
|
{ url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" },
|
|
58
|
-
{ url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" },
|
|
59
|
-
{ url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" },
|
|
60
|
-
{ url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" },
|
|
61
|
-
{ url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" },
|
|
62
|
-
{ url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" },
|
|
63
56
|
{ url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" },
|
|
64
57
|
{ url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" },
|
|
65
58
|
{ url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" },
|
|
@@ -67,88 +60,18 @@ wheels = [
|
|
|
67
60
|
{ url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" },
|
|
68
61
|
{ url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" },
|
|
69
62
|
{ url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" },
|
|
70
|
-
{ url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" },
|
|
71
|
-
{ url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" },
|
|
72
|
-
{ url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" },
|
|
73
|
-
{ url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" },
|
|
74
|
-
{ url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" },
|
|
75
63
|
{ url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" },
|
|
76
64
|
{ url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" },
|
|
77
65
|
{ url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" },
|
|
78
66
|
{ url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" },
|
|
79
67
|
{ url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" },
|
|
80
68
|
{ url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" },
|
|
81
|
-
{ url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" },
|
|
82
|
-
{ url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" },
|
|
83
|
-
{ url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" },
|
|
84
|
-
{ url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" },
|
|
85
|
-
{ url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" },
|
|
86
69
|
{ url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" },
|
|
87
70
|
{ url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" },
|
|
88
71
|
{ url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" },
|
|
89
72
|
{ url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" },
|
|
90
73
|
{ url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" },
|
|
91
74
|
{ url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" },
|
|
92
|
-
{ url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" },
|
|
93
|
-
{ url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" },
|
|
94
|
-
{ url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" },
|
|
95
|
-
]
|
|
96
|
-
|
|
97
|
-
[[package]]
|
|
98
|
-
name = "charset-normalizer"
|
|
99
|
-
version = "3.4.5"
|
|
100
|
-
source = { registry = "https://pypi.org/simple" }
|
|
101
|
-
sdist = { url = "https://files.pythonhosted.org/packages/1d/35/02daf95b9cd686320bb622eb148792655c9412dbb9b67abb5694e5910a24/charset_normalizer-3.4.5.tar.gz", hash = "sha256:95adae7b6c42a6c5b5b559b1a99149f090a57128155daeea91732c8d970d8644", size = 134804, upload-time = "2026-03-06T06:03:19.46Z" }
|
|
102
|
-
wheels = [
|
|
103
|
-
{ url = "https://files.pythonhosted.org/packages/9c/b6/9ee9c1a608916ca5feae81a344dffbaa53b26b90be58cc2159e3332d44ec/charset_normalizer-3.4.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed97c282ee4f994ef814042423a529df9497e3c666dca19be1d4cd1129dc7ade", size = 280976, upload-time = "2026-03-06T06:01:15.276Z" },
|
|
104
|
-
{ url = "https://files.pythonhosted.org/packages/f8/d8/a54f7c0b96f1df3563e9190f04daf981e365a9b397eedfdfb5dbef7e5c6c/charset_normalizer-3.4.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0294916d6ccf2d069727d65973c3a1ca477d68708db25fd758dd28b0827cff54", size = 189356, upload-time = "2026-03-06T06:01:16.511Z" },
|
|
105
|
-
{ url = "https://files.pythonhosted.org/packages/42/69/2bf7f76ce1446759a5787cb87d38f6a61eb47dbbdf035cfebf6347292a65/charset_normalizer-3.4.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dc57a0baa3eeedd99fafaef7511b5a6ef4581494e8168ee086031744e2679467", size = 206369, upload-time = "2026-03-06T06:01:17.853Z" },
|
|
106
|
-
{ url = "https://files.pythonhosted.org/packages/10/9c/949d1a46dab56b959d9a87272482195f1840b515a3380e39986989a893ae/charset_normalizer-3.4.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ed1a9a204f317ef879b32f9af507d47e49cd5e7f8e8d5d96358c98373314fc60", size = 203285, upload-time = "2026-03-06T06:01:19.473Z" },
|
|
107
|
-
{ url = "https://files.pythonhosted.org/packages/67/5c/ae30362a88b4da237d71ea214a8c7eb915db3eec941adda511729ac25fa2/charset_normalizer-3.4.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad83b8f9379176c841f8865884f3514d905bcd2a9a3b210eaa446e7d2223e4d", size = 196274, upload-time = "2026-03-06T06:01:20.728Z" },
|
|
108
|
-
{ url = "https://files.pythonhosted.org/packages/b2/07/c9f2cb0e46cb6d64fdcc4f95953747b843bb2181bda678dc4e699b8f0f9a/charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:a118e2e0b5ae6b0120d5efa5f866e58f2bb826067a646431da4d6a2bdae7950e", size = 184715, upload-time = "2026-03-06T06:01:22.194Z" },
|
|
109
|
-
{ url = "https://files.pythonhosted.org/packages/36/64/6b0ca95c44fddf692cd06d642b28f63009d0ce325fad6e9b2b4d0ef86a52/charset_normalizer-3.4.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:754f96058e61a5e22e91483f823e07df16416ce76afa4ebf306f8e1d1296d43f", size = 193426, upload-time = "2026-03-06T06:01:23.795Z" },
|
|
110
|
-
{ url = "https://files.pythonhosted.org/packages/50/bc/a730690d726403743795ca3f5bb2baf67838c5fea78236098f324b965e40/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0c300cefd9b0970381a46394902cd18eaf2aa00163f999590ace991989dcd0fc", size = 191780, upload-time = "2026-03-06T06:01:25.053Z" },
|
|
111
|
-
{ url = "https://files.pythonhosted.org/packages/97/4f/6c0bc9af68222b22951552d73df4532b5be6447cee32d58e7e8c74ecbb7b/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c108f8619e504140569ee7de3f97d234f0fbae338a7f9f360455071ef9855a95", size = 185805, upload-time = "2026-03-06T06:01:26.294Z" },
|
|
112
|
-
{ url = "https://files.pythonhosted.org/packages/dd/b9/a523fb9b0ee90814b503452b2600e4cbc118cd68714d57041564886e7325/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d1028de43596a315e2720a9849ee79007ab742c06ad8b45a50db8cdb7ed4a82a", size = 208342, upload-time = "2026-03-06T06:01:27.55Z" },
|
|
113
|
-
{ url = "https://files.pythonhosted.org/packages/4d/61/c59e761dee4464050713e50e27b58266cc8e209e518c0b378c1580c959ba/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:19092dde50335accf365cce21998a1c6dd8eafd42c7b226eb54b2747cdce2fac", size = 193661, upload-time = "2026-03-06T06:01:29.051Z" },
|
|
114
|
-
{ url = "https://files.pythonhosted.org/packages/1c/43/729fa30aad69783f755c5ad8649da17ee095311ca42024742701e202dc59/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4354e401eb6dab9aed3c7b4030514328a6c748d05e1c3e19175008ca7de84fb1", size = 204819, upload-time = "2026-03-06T06:01:30.298Z" },
|
|
115
|
-
{ url = "https://files.pythonhosted.org/packages/87/33/d9b442ce5a91b96fc0840455a9e49a611bbadae6122778d0a6a79683dd31/charset_normalizer-3.4.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a68766a3c58fde7f9aaa22b3786276f62ab2f594efb02d0a1421b6282e852e98", size = 198080, upload-time = "2026-03-06T06:01:31.478Z" },
|
|
116
|
-
{ url = "https://files.pythonhosted.org/packages/56/5a/b8b5a23134978ee9885cee2d6995f4c27cc41f9baded0a9685eabc5338f0/charset_normalizer-3.4.5-cp312-cp312-win32.whl", hash = "sha256:1827734a5b308b65ac54e86a618de66f935a4f63a8a462ff1e19a6788d6c2262", size = 132630, upload-time = "2026-03-06T06:01:33.056Z" },
|
|
117
|
-
{ url = "https://files.pythonhosted.org/packages/70/53/e44a4c07e8904500aec95865dc3f6464dc3586a039ef0df606eb3ac38e35/charset_normalizer-3.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:728c6a963dfab66ef865f49286e45239384249672cd598576765acc2a640a636", size = 142856, upload-time = "2026-03-06T06:01:34.489Z" },
|
|
118
|
-
{ url = "https://files.pythonhosted.org/packages/ea/aa/c5628f7cad591b1cf45790b7a61483c3e36cf41349c98af7813c483fd6e8/charset_normalizer-3.4.5-cp312-cp312-win_arm64.whl", hash = "sha256:75dfd1afe0b1647449e852f4fb428195a7ed0588947218f7ba929f6538487f02", size = 132982, upload-time = "2026-03-06T06:01:35.641Z" },
|
|
119
|
-
{ url = "https://files.pythonhosted.org/packages/f5/48/9f34ec4bb24aa3fdba1890c1bddb97c8a4be1bd84ef5c42ac2352563ad05/charset_normalizer-3.4.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ac59c15e3f1465f722607800c68713f9fbc2f672b9eb649fe831da4019ae9b23", size = 280788, upload-time = "2026-03-06T06:01:37.126Z" },
|
|
120
|
-
{ url = "https://files.pythonhosted.org/packages/0e/09/6003e7ffeb90cc0560da893e3208396a44c210c5ee42efff539639def59b/charset_normalizer-3.4.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:165c7b21d19365464e8f70e5ce5e12524c58b48c78c1f5a57524603c1ab003f8", size = 188890, upload-time = "2026-03-06T06:01:38.73Z" },
|
|
121
|
-
{ url = "https://files.pythonhosted.org/packages/42/1e/02706edf19e390680daa694d17e2b8eab4b5f7ac285e2a51168b4b22ee6b/charset_normalizer-3.4.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:28269983f25a4da0425743d0d257a2d6921ea7d9b83599d4039486ec5b9f911d", size = 206136, upload-time = "2026-03-06T06:01:40.016Z" },
|
|
122
|
-
{ url = "https://files.pythonhosted.org/packages/c7/87/942c3def1b37baf3cf786bad01249190f3ca3d5e63a84f831e704977de1f/charset_normalizer-3.4.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d27ce22ec453564770d29d03a9506d449efbb9fa13c00842262b2f6801c48cce", size = 202551, upload-time = "2026-03-06T06:01:41.522Z" },
|
|
123
|
-
{ url = "https://files.pythonhosted.org/packages/94/0a/af49691938dfe175d71b8a929bd7e4ace2809c0c5134e28bc535660d5262/charset_normalizer-3.4.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0625665e4ebdddb553ab185de5db7054393af8879fb0c87bd5690d14379d6819", size = 195572, upload-time = "2026-03-06T06:01:43.208Z" },
|
|
124
|
-
{ url = "https://files.pythonhosted.org/packages/20/ea/dfb1792a8050a8e694cfbde1570ff97ff74e48afd874152d38163d1df9ae/charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:c23eb3263356d94858655b3e63f85ac5d50970c6e8febcdde7830209139cc37d", size = 184438, upload-time = "2026-03-06T06:01:44.755Z" },
|
|
125
|
-
{ url = "https://files.pythonhosted.org/packages/72/12/c281e2067466e3ddd0595bfaea58a6946765ace5c72dfa3edc2f5f118026/charset_normalizer-3.4.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e6302ca4ae283deb0af68d2fbf467474b8b6aedcd3dab4db187e07f94c109763", size = 193035, upload-time = "2026-03-06T06:01:46.051Z" },
|
|
126
|
-
{ url = "https://files.pythonhosted.org/packages/ba/4f/3792c056e7708e10464bad0438a44708886fb8f92e3c3d29ec5e2d964d42/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e51ae7d81c825761d941962450f50d041db028b7278e7b08930b4541b3e45cb9", size = 191340, upload-time = "2026-03-06T06:01:47.547Z" },
|
|
127
|
-
{ url = "https://files.pythonhosted.org/packages/e7/86/80ddba897127b5c7a9bccc481b0cd36c8fefa485d113262f0fe4332f0bf4/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:597d10dec876923e5c59e48dbd366e852eacb2b806029491d307daea6b917d7c", size = 185464, upload-time = "2026-03-06T06:01:48.764Z" },
|
|
128
|
-
{ url = "https://files.pythonhosted.org/packages/4d/00/b5eff85ba198faacab83e0e4b6f0648155f072278e3b392a82478f8b988b/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5cffde4032a197bd3b42fd0b9509ec60fb70918d6970e4cc773f20fc9180ca67", size = 208014, upload-time = "2026-03-06T06:01:50.371Z" },
|
|
129
|
-
{ url = "https://files.pythonhosted.org/packages/c8/11/d36f70be01597fd30850dde8a1269ebc8efadd23ba5785808454f2389bde/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2da4eedcb6338e2321e831a0165759c0c620e37f8cd044a263ff67493be8ffb3", size = 193297, upload-time = "2026-03-06T06:01:51.933Z" },
|
|
130
|
-
{ url = "https://files.pythonhosted.org/packages/1a/1d/259eb0a53d4910536c7c2abb9cb25f4153548efb42800c6a9456764649c0/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:65a126fb4b070d05340a84fc709dd9e7c75d9b063b610ece8a60197a291d0adf", size = 204321, upload-time = "2026-03-06T06:01:53.887Z" },
|
|
131
|
-
{ url = "https://files.pythonhosted.org/packages/84/31/faa6c5b9d3688715e1ed1bb9d124c384fe2fc1633a409e503ffe1c6398c1/charset_normalizer-3.4.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c7a80a9242963416bd81f99349d5f3fce1843c303bd404f204918b6d75a75fd6", size = 197509, upload-time = "2026-03-06T06:01:56.439Z" },
|
|
132
|
-
{ url = "https://files.pythonhosted.org/packages/fd/a5/c7d9dd1503ffc08950b3260f5d39ec2366dd08254f0900ecbcf3a6197c7c/charset_normalizer-3.4.5-cp313-cp313-win32.whl", hash = "sha256:f1d725b754e967e648046f00c4facc42d414840f5ccc670c5670f59f83693e4f", size = 132284, upload-time = "2026-03-06T06:01:57.812Z" },
|
|
133
|
-
{ url = "https://files.pythonhosted.org/packages/b9/0f/57072b253af40c8aa6636e6de7d75985624c1eb392815b2f934199340a89/charset_normalizer-3.4.5-cp313-cp313-win_amd64.whl", hash = "sha256:e37bd100d2c5d3ba35db9c7c5ba5a9228cbcffe5c4778dc824b164e5257813d7", size = 142630, upload-time = "2026-03-06T06:01:59.062Z" },
|
|
134
|
-
{ url = "https://files.pythonhosted.org/packages/31/41/1c4b7cc9f13bd9d369ce3bc993e13d374ce25fa38a2663644283ecf422c1/charset_normalizer-3.4.5-cp313-cp313-win_arm64.whl", hash = "sha256:93b3b2cc5cf1b8743660ce77a4f45f3f6d1172068207c1defc779a36eea6bb36", size = 133254, upload-time = "2026-03-06T06:02:00.281Z" },
|
|
135
|
-
{ url = "https://files.pythonhosted.org/packages/43/be/0f0fd9bb4a7fa4fb5067fb7d9ac693d4e928d306f80a0d02bde43a7c4aee/charset_normalizer-3.4.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8197abe5ca1ffb7d91e78360f915eef5addff270f8a71c1fc5be24a56f3e4873", size = 280232, upload-time = "2026-03-06T06:02:01.508Z" },
|
|
136
|
-
{ url = "https://files.pythonhosted.org/packages/28/02/983b5445e4bef49cd8c9da73a8e029f0825f39b74a06d201bfaa2e55142a/charset_normalizer-3.4.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2aecdb364b8a1802afdc7f9327d55dad5366bc97d8502d0f5854e50712dbc5f", size = 189688, upload-time = "2026-03-06T06:02:02.857Z" },
|
|
137
|
-
{ url = "https://files.pythonhosted.org/packages/d0/88/152745c5166437687028027dc080e2daed6fe11cfa95a22f4602591c42db/charset_normalizer-3.4.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a66aa5022bf81ab4b1bebfb009db4fd68e0c6d4307a1ce5ef6a26e5878dfc9e4", size = 206833, upload-time = "2026-03-06T06:02:05.127Z" },
|
|
138
|
-
{ url = "https://files.pythonhosted.org/packages/cb/0f/ebc15c8b02af2f19be9678d6eed115feeeccc45ce1f4b098d986c13e8769/charset_normalizer-3.4.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d77f97e515688bd615c1d1f795d540f32542d514242067adcb8ef532504cb9ee", size = 202879, upload-time = "2026-03-06T06:02:06.446Z" },
|
|
139
|
-
{ url = "https://files.pythonhosted.org/packages/38/9c/71336bff6934418dc8d1e8a1644176ac9088068bc571da612767619c97b3/charset_normalizer-3.4.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01a1ed54b953303ca7e310fafe0fe347aab348bd81834a0bcd602eb538f89d66", size = 195764, upload-time = "2026-03-06T06:02:08.763Z" },
|
|
140
|
-
{ url = "https://files.pythonhosted.org/packages/b7/95/ce92fde4f98615661871bc282a856cf9b8a15f686ba0af012984660d480b/charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:b2d37d78297b39a9eb9eb92c0f6df98c706467282055419df141389b23f93362", size = 183728, upload-time = "2026-03-06T06:02:10.137Z" },
|
|
141
|
-
{ url = "https://files.pythonhosted.org/packages/1c/e7/f5b4588d94e747ce45ae680f0f242bc2d98dbd4eccfab73e6160b6893893/charset_normalizer-3.4.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e71bbb595973622b817c042bd943c3f3667e9c9983ce3d205f973f486fec98a7", size = 192937, upload-time = "2026-03-06T06:02:11.663Z" },
|
|
142
|
-
{ url = "https://files.pythonhosted.org/packages/f9/29/9d94ed6b929bf9f48bf6ede6e7474576499f07c4c5e878fb186083622716/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4cd966c2559f501c6fd69294d082c2934c8dd4719deb32c22961a5ac6db0df1d", size = 192040, upload-time = "2026-03-06T06:02:13.489Z" },
|
|
143
|
-
{ url = "https://files.pythonhosted.org/packages/15/d2/1a093a1cf827957f9445f2fe7298bcc16f8fc5e05c1ed2ad1af0b239035e/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d5e52d127045d6ae01a1e821acfad2f3a1866c54d0e837828538fabe8d9d1bd6", size = 184107, upload-time = "2026-03-06T06:02:14.83Z" },
|
|
144
|
-
{ url = "https://files.pythonhosted.org/packages/0f/7d/82068ce16bd36135df7b97f6333c5d808b94e01d4599a682e2337ed5fd14/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:30a2b1a48478c3428d047ed9690d57c23038dac838a87ad624c85c0a78ebeb39", size = 208310, upload-time = "2026-03-06T06:02:16.165Z" },
|
|
145
|
-
{ url = "https://files.pythonhosted.org/packages/84/4e/4dfb52307bb6af4a5c9e73e482d171b81d36f522b21ccd28a49656baa680/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d8ed79b8f6372ca4254955005830fd61c1ccdd8c0fac6603e2c145c61dd95db6", size = 192918, upload-time = "2026-03-06T06:02:18.144Z" },
|
|
146
|
-
{ url = "https://files.pythonhosted.org/packages/08/a4/159ff7da662cf7201502ca89980b8f06acf3e887b278956646a8aeb178ab/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:c5af897b45fa606b12464ccbe0014bbf8c09191e0a66aab6aa9d5cf6e77e0c94", size = 204615, upload-time = "2026-03-06T06:02:19.821Z" },
|
|
147
|
-
{ url = "https://files.pythonhosted.org/packages/d6/62/0dd6172203cb6b429ffffc9935001fde42e5250d57f07b0c28c6046deb6b/charset_normalizer-3.4.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1088345bcc93c58d8d8f3d783eca4a6e7a7752bbff26c3eee7e73c597c191c2e", size = 197784, upload-time = "2026-03-06T06:02:21.86Z" },
|
|
148
|
-
{ url = "https://files.pythonhosted.org/packages/c7/5e/1aab5cb737039b9c59e63627dc8bbc0d02562a14f831cc450e5f91d84ce1/charset_normalizer-3.4.5-cp314-cp314-win32.whl", hash = "sha256:ee57b926940ba00bca7ba7041e665cc956e55ef482f851b9b65acb20d867e7a2", size = 133009, upload-time = "2026-03-06T06:02:23.289Z" },
|
|
149
|
-
{ url = "https://files.pythonhosted.org/packages/40/65/e7c6c77d7aaa4c0d7974f2e403e17f0ed2cb0fc135f77d686b916bf1eead/charset_normalizer-3.4.5-cp314-cp314-win_amd64.whl", hash = "sha256:4481e6da1830c8a1cc0b746b47f603b653dadb690bcd851d039ffaefe70533aa", size = 143511, upload-time = "2026-03-06T06:02:26.195Z" },
|
|
150
|
-
{ url = "https://files.pythonhosted.org/packages/ba/91/52b0841c71f152f563b8e072896c14e3d83b195c188b338d3cc2e582d1d4/charset_normalizer-3.4.5-cp314-cp314-win_arm64.whl", hash = "sha256:97ab7787092eb9b50fb47fa04f24c75b768a606af1bcba1957f07f128a7219e4", size = 133775, upload-time = "2026-03-06T06:02:27.473Z" },
|
|
151
|
-
{ url = "https://files.pythonhosted.org/packages/c5/60/3a621758945513adfd4db86827a5bafcc615f913dbd0b4c2ed64a65731be/charset_normalizer-3.4.5-py3-none-any.whl", hash = "sha256:9db5e3fcdcee89a78c04dffb3fe33c79f77bd741a624946db2591c81b2fc85b0", size = 55455, upload-time = "2026-03-06T06:03:17.827Z" },
|
|
152
75
|
]
|
|
153
76
|
|
|
154
77
|
[[package]]
|
|
@@ -181,7 +104,6 @@ dependencies = [
|
|
|
181
104
|
]
|
|
182
105
|
sdist = { url = "https://files.pythonhosted.org/packages/60/04/ee2a9e8542e4fa2773b81771ff8349ff19cdd56b7258a0cc442639052edb/cryptography-46.0.5.tar.gz", hash = "sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d", size = 750064, upload-time = "2026-02-10T19:18:38.255Z" }
|
|
183
106
|
wheels = [
|
|
184
|
-
{ url = "https://files.pythonhosted.org/packages/f7/81/b0bb27f2ba931a65409c6b8a8b358a7f03c0e46eceacddff55f7c84b1f3b/cryptography-46.0.5-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad", size = 7176289, upload-time = "2026-02-10T19:17:08.274Z" },
|
|
185
107
|
{ url = "https://files.pythonhosted.org/packages/ff/9e/6b4397a3e3d15123de3b1806ef342522393d50736c13b20ec4c9ea6693a6/cryptography-46.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b", size = 4275637, upload-time = "2026-02-10T19:17:10.53Z" },
|
|
186
108
|
{ url = "https://files.pythonhosted.org/packages/63/e7/471ab61099a3920b0c77852ea3f0ea611c9702f651600397ac567848b897/cryptography-46.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b", size = 4424742, upload-time = "2026-02-10T19:17:12.388Z" },
|
|
187
109
|
{ url = "https://files.pythonhosted.org/packages/37/53/a18500f270342d66bf7e4d9f091114e31e5ee9e7375a5aba2e85a91e0044/cryptography-46.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263", size = 4277528, upload-time = "2026-02-10T19:17:13.853Z" },
|
|
@@ -193,9 +115,6 @@ wheels = [
|
|
|
193
115
|
{ url = "https://files.pythonhosted.org/packages/6d/1a/c1ba8fead184d6e3d5afcf03d569acac5ad063f3ac9fb7258af158f7e378/cryptography-46.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731", size = 4456482, upload-time = "2026-02-10T19:17:25.133Z" },
|
|
194
116
|
{ url = "https://files.pythonhosted.org/packages/f9/e5/3fb22e37f66827ced3b902cf895e6a6bc1d095b5b26be26bd13c441fdf19/cryptography-46.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82", size = 4405497, upload-time = "2026-02-10T19:17:26.66Z" },
|
|
195
117
|
{ url = "https://files.pythonhosted.org/packages/1a/df/9d58bb32b1121a8a2f27383fabae4d63080c7ca60b9b5c88be742be04ee7/cryptography-46.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1", size = 4667819, upload-time = "2026-02-10T19:17:28.569Z" },
|
|
196
|
-
{ url = "https://files.pythonhosted.org/packages/ea/ed/325d2a490c5e94038cdb0117da9397ece1f11201f425c4e9c57fe5b9f08b/cryptography-46.0.5-cp311-abi3-win32.whl", hash = "sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48", size = 3028230, upload-time = "2026-02-10T19:17:30.518Z" },
|
|
197
|
-
{ url = "https://files.pythonhosted.org/packages/e9/5a/ac0f49e48063ab4255d9e3b79f5def51697fce1a95ea1370f03dc9db76f6/cryptography-46.0.5-cp311-abi3-win_amd64.whl", hash = "sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4", size = 3480909, upload-time = "2026-02-10T19:17:32.083Z" },
|
|
198
|
-
{ url = "https://files.pythonhosted.org/packages/00/13/3d278bfa7a15a96b9dc22db5a12ad1e48a9eb3d40e1827ef66a5df75d0d0/cryptography-46.0.5-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:94a76daa32eb78d61339aff7952ea819b1734b46f73646a07decb40e5b3448e2", size = 7119287, upload-time = "2026-02-10T19:17:33.801Z" },
|
|
199
118
|
{ url = "https://files.pythonhosted.org/packages/67/c8/581a6702e14f0898a0848105cbefd20c058099e2c2d22ef4e476dfec75d7/cryptography-46.0.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5be7bf2fb40769e05739dd0046e7b26f9d4670badc7b032d6ce4db64dddc0678", size = 4265728, upload-time = "2026-02-10T19:17:35.569Z" },
|
|
200
119
|
{ url = "https://files.pythonhosted.org/packages/dd/4a/ba1a65ce8fc65435e5a849558379896c957870dd64fecea97b1ad5f46a37/cryptography-46.0.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe346b143ff9685e40192a4960938545c699054ba11d4f9029f94751e3f71d87", size = 4408287, upload-time = "2026-02-10T19:17:36.938Z" },
|
|
201
120
|
{ url = "https://files.pythonhosted.org/packages/f8/67/8ffdbf7b65ed1ac224d1c2df3943553766914a8ca718747ee3871da6107e/cryptography-46.0.5-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:c69fd885df7d089548a42d5ec05be26050ebcd2283d89b3d30676eb32ff87dee", size = 4270291, upload-time = "2026-02-10T19:17:38.748Z" },
|
|
@@ -207,9 +126,6 @@ wheels = [
|
|
|
207
126
|
{ url = "https://files.pythonhosted.org/packages/d2/b9/cf73ddf8ef1164330eb0b199a589103c363afa0cf794218c24d524a58eab/cryptography-46.0.5-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:a3d1fae9863299076f05cb8a778c467578262fae09f9dc0ee9b12eb4268ce663", size = 4441741, upload-time = "2026-02-10T19:17:48.661Z" },
|
|
208
127
|
{ url = "https://files.pythonhosted.org/packages/5f/eb/eee00b28c84c726fe8fa0158c65afe312d9c3b78d9d01daf700f1f6e37ff/cryptography-46.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4143987a42a2397f2fc3b4d7e3a7d313fbe684f67ff443999e803dd75a76826", size = 4396728, upload-time = "2026-02-10T19:17:50.058Z" },
|
|
209
128
|
{ url = "https://files.pythonhosted.org/packages/65/f4/6bc1a9ed5aef7145045114b75b77c2a8261b4d38717bd8dea111a63c3442/cryptography-46.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7d731d4b107030987fd61a7f8ab512b25b53cef8f233a97379ede116f30eb67d", size = 4652001, upload-time = "2026-02-10T19:17:51.54Z" },
|
|
210
|
-
{ url = "https://files.pythonhosted.org/packages/86/ef/5d00ef966ddd71ac2e6951d278884a84a40ffbd88948ef0e294b214ae9e4/cryptography-46.0.5-cp314-cp314t-win32.whl", hash = "sha256:c3bcce8521d785d510b2aad26ae2c966092b7daa8f45dd8f44734a104dc0bc1a", size = 3003637, upload-time = "2026-02-10T19:17:52.997Z" },
|
|
211
|
-
{ url = "https://files.pythonhosted.org/packages/b7/57/f3f4160123da6d098db78350fdfd9705057aad21de7388eacb2401dceab9/cryptography-46.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:4d8ae8659ab18c65ced284993c2265910f6c9e650189d4e3f68445ef82a810e4", size = 3469487, upload-time = "2026-02-10T19:17:54.549Z" },
|
|
212
|
-
{ url = "https://files.pythonhosted.org/packages/e2/fa/a66aa722105ad6a458bebd64086ca2b72cdd361fed31763d20390f6f1389/cryptography-46.0.5-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31", size = 7170514, upload-time = "2026-02-10T19:17:56.267Z" },
|
|
213
129
|
{ url = "https://files.pythonhosted.org/packages/0f/04/c85bdeab78c8bc77b701bf0d9bdcf514c044e18a46dcff330df5448631b0/cryptography-46.0.5-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18", size = 4275349, upload-time = "2026-02-10T19:17:58.419Z" },
|
|
214
130
|
{ url = "https://files.pythonhosted.org/packages/5c/32/9b87132a2f91ee7f5223b091dc963055503e9b442c98fc0b8a5ca765fab0/cryptography-46.0.5-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235", size = 4420667, upload-time = "2026-02-10T19:18:00.619Z" },
|
|
215
131
|
{ url = "https://files.pythonhosted.org/packages/a1/a6/a7cb7010bec4b7c5692ca6f024150371b295ee1c108bdc1c400e4c44562b/cryptography-46.0.5-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a", size = 4276980, upload-time = "2026-02-10T19:18:02.379Z" },
|
|
@@ -221,79 +137,6 @@ wheels = [
|
|
|
221
137
|
{ url = "https://files.pythonhosted.org/packages/99/0f/a3076874e9c88ecb2ecc31382f6e7c21b428ede6f55aafa1aa272613e3cd/cryptography-46.0.5-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c", size = 4452794, upload-time = "2026-02-10T19:18:12.914Z" },
|
|
222
138
|
{ url = "https://files.pythonhosted.org/packages/02/ef/ffeb542d3683d24194a38f66ca17c0a4b8bf10631feef44a7ef64e631b1a/cryptography-46.0.5-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4", size = 4404160, upload-time = "2026-02-10T19:18:14.375Z" },
|
|
223
139
|
{ url = "https://files.pythonhosted.org/packages/96/93/682d2b43c1d5f1406ed048f377c0fc9fc8f7b0447a478d5c65ab3d3a66eb/cryptography-46.0.5-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9", size = 4667123, upload-time = "2026-02-10T19:18:15.886Z" },
|
|
224
|
-
{ url = "https://files.pythonhosted.org/packages/45/2d/9c5f2926cb5300a8eefc3f4f0b3f3df39db7f7ce40c8365444c49363cbda/cryptography-46.0.5-cp38-abi3-win32.whl", hash = "sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72", size = 3010220, upload-time = "2026-02-10T19:18:17.361Z" },
|
|
225
|
-
{ url = "https://files.pythonhosted.org/packages/48/ef/0c2f4a8e31018a986949d34a01115dd057bf536905dca38897bacd21fac3/cryptography-46.0.5-cp38-abi3-win_amd64.whl", hash = "sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595", size = 3467050, upload-time = "2026-02-10T19:18:18.899Z" },
|
|
226
|
-
]
|
|
227
|
-
|
|
228
|
-
[[package]]
|
|
229
|
-
name = "google-api-core"
|
|
230
|
-
version = "2.30.0"
|
|
231
|
-
source = { registry = "https://pypi.org/simple" }
|
|
232
|
-
dependencies = [
|
|
233
|
-
{ name = "google-auth" },
|
|
234
|
-
{ name = "googleapis-common-protos" },
|
|
235
|
-
{ name = "proto-plus" },
|
|
236
|
-
{ name = "protobuf" },
|
|
237
|
-
{ name = "requests" },
|
|
238
|
-
]
|
|
239
|
-
sdist = { url = "https://files.pythonhosted.org/packages/22/98/586ec94553b569080caef635f98a3723db36a38eac0e3d7eb3ea9d2e4b9a/google_api_core-2.30.0.tar.gz", hash = "sha256:02edfa9fab31e17fc0befb5f161b3bf93c9096d99aed584625f38065c511ad9b", size = 176959, upload-time = "2026-02-18T20:28:11.926Z" }
|
|
240
|
-
wheels = [
|
|
241
|
-
{ url = "https://files.pythonhosted.org/packages/45/27/09c33d67f7e0dcf06d7ac17d196594e66989299374bfb0d4331d1038e76b/google_api_core-2.30.0-py3-none-any.whl", hash = "sha256:80be49ee937ff9aba0fd79a6eddfde35fe658b9953ab9b79c57dd7061afa8df5", size = 173288, upload-time = "2026-02-18T20:28:10.367Z" },
|
|
242
|
-
]
|
|
243
|
-
|
|
244
|
-
[[package]]
|
|
245
|
-
name = "google-api-python-client"
|
|
246
|
-
version = "2.192.0"
|
|
247
|
-
source = { registry = "https://pypi.org/simple" }
|
|
248
|
-
dependencies = [
|
|
249
|
-
{ name = "google-api-core" },
|
|
250
|
-
{ name = "google-auth" },
|
|
251
|
-
{ name = "google-auth-httplib2" },
|
|
252
|
-
{ name = "httplib2" },
|
|
253
|
-
{ name = "uritemplate" },
|
|
254
|
-
]
|
|
255
|
-
sdist = { url = "https://files.pythonhosted.org/packages/85/d8/489052a40935e45b9b5b3d6accc14b041360c1507bdc659c2e1a19aaa3ff/google_api_python_client-2.192.0.tar.gz", hash = "sha256:d48cfa6078fadea788425481b007af33fe0ab6537b78f37da914fb6fc112eb27", size = 14209505, upload-time = "2026-03-05T15:17:01.598Z" }
|
|
256
|
-
wheels = [
|
|
257
|
-
{ url = "https://files.pythonhosted.org/packages/e0/76/ec4128f00fefb9011635ae2abc67d7dacd05c8559378f8f05f0c907c38d8/google_api_python_client-2.192.0-py3-none-any.whl", hash = "sha256:63a57d4457cd97df1d63eb89c5fda03c5a50588dcbc32c0115dd1433c08f4b62", size = 14783267, upload-time = "2026-03-05T15:16:58.804Z" },
|
|
258
|
-
]
|
|
259
|
-
|
|
260
|
-
[[package]]
|
|
261
|
-
name = "google-auth"
|
|
262
|
-
version = "2.49.0"
|
|
263
|
-
source = { registry = "https://pypi.org/simple" }
|
|
264
|
-
dependencies = [
|
|
265
|
-
{ name = "cryptography" },
|
|
266
|
-
{ name = "pyasn1-modules" },
|
|
267
|
-
{ name = "rsa" },
|
|
268
|
-
]
|
|
269
|
-
sdist = { url = "https://files.pythonhosted.org/packages/7d/59/7371175bfd949abfb1170aa076352131d7281bd9449c0f978604fc4431c3/google_auth-2.49.0.tar.gz", hash = "sha256:9cc2d9259d3700d7a257681f81052db6737495a1a46b610597f4b8bafe5286ae", size = 333444, upload-time = "2026-03-06T21:53:06.07Z" }
|
|
270
|
-
wheels = [
|
|
271
|
-
{ url = "https://files.pythonhosted.org/packages/37/45/de64b823b639103de4b63dd193480dce99526bd36be6530c2dba85bf7817/google_auth-2.49.0-py3-none-any.whl", hash = "sha256:f893ef7307f19cf53700b7e2f61b5a6affe3aa0edf9943b13788920ab92d8d87", size = 240676, upload-time = "2026-03-06T21:52:38.304Z" },
|
|
272
|
-
]
|
|
273
|
-
|
|
274
|
-
[[package]]
|
|
275
|
-
name = "google-auth-httplib2"
|
|
276
|
-
version = "0.3.0"
|
|
277
|
-
source = { registry = "https://pypi.org/simple" }
|
|
278
|
-
dependencies = [
|
|
279
|
-
{ name = "google-auth" },
|
|
280
|
-
{ name = "httplib2" },
|
|
281
|
-
]
|
|
282
|
-
sdist = { url = "https://files.pythonhosted.org/packages/d5/ad/c1f2b1175096a8d04cf202ad5ea6065f108d26be6fc7215876bde4a7981d/google_auth_httplib2-0.3.0.tar.gz", hash = "sha256:177898a0175252480d5ed916aeea183c2df87c1f9c26705d74ae6b951c268b0b", size = 11134, upload-time = "2025-12-15T22:13:51.825Z" }
|
|
283
|
-
wheels = [
|
|
284
|
-
{ url = "https://files.pythonhosted.org/packages/99/d5/3c97526c8796d3caf5f4b3bed2b05e8a7102326f00a334e7a438237f3b22/google_auth_httplib2-0.3.0-py3-none-any.whl", hash = "sha256:426167e5df066e3f5a0fc7ea18768c08e7296046594ce4c8c409c2457dd1f776", size = 9529, upload-time = "2025-12-15T22:13:51.048Z" },
|
|
285
|
-
]
|
|
286
|
-
|
|
287
|
-
[[package]]
|
|
288
|
-
name = "googleapis-common-protos"
|
|
289
|
-
version = "1.73.0"
|
|
290
|
-
source = { registry = "https://pypi.org/simple" }
|
|
291
|
-
dependencies = [
|
|
292
|
-
{ name = "protobuf" },
|
|
293
|
-
]
|
|
294
|
-
sdist = { url = "https://files.pythonhosted.org/packages/99/96/a0205167fa0154f4a542fd6925bdc63d039d88dab3588b875078107e6f06/googleapis_common_protos-1.73.0.tar.gz", hash = "sha256:778d07cd4fbeff84c6f7c72102f0daf98fa2bfd3fa8bea426edc545588da0b5a", size = 147323, upload-time = "2026-03-06T21:53:09.727Z" }
|
|
295
|
-
wheels = [
|
|
296
|
-
{ url = "https://files.pythonhosted.org/packages/69/28/23eea8acd65972bbfe295ce3666b28ac510dfcb115fac089d3edb0feb00a/googleapis_common_protos-1.73.0-py3-none-any.whl", hash = "sha256:dfdaaa2e860f242046be561e6d6cb5c5f1541ae02cfbcb034371aadb2942b4e8", size = 297578, upload-time = "2026-03-06T21:52:33.933Z" },
|
|
297
140
|
]
|
|
298
141
|
|
|
299
142
|
[[package]]
|
|
@@ -365,18 +208,6 @@ wheels = [
|
|
|
365
208
|
{ url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" },
|
|
366
209
|
]
|
|
367
210
|
|
|
368
|
-
[[package]]
|
|
369
|
-
name = "httplib2"
|
|
370
|
-
version = "0.31.2"
|
|
371
|
-
source = { registry = "https://pypi.org/simple" }
|
|
372
|
-
dependencies = [
|
|
373
|
-
{ name = "pyparsing" },
|
|
374
|
-
]
|
|
375
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c1/1f/e86365613582c027dda5ddb64e1010e57a3d53e99ab8a72093fa13d565ec/httplib2-0.31.2.tar.gz", hash = "sha256:385e0869d7397484f4eab426197a4c020b606edd43372492337c0b4010ae5d24", size = 250800, upload-time = "2026-01-23T11:04:44.165Z" }
|
|
376
|
-
wheels = [
|
|
377
|
-
{ url = "https://files.pythonhosted.org/packages/2f/90/fd509079dfcab01102c0fdd87f3a9506894bc70afcf9e9785ef6b2b3aff6/httplib2-0.31.2-py3-none-any.whl", hash = "sha256:dbf0c2fa3862acf3c55c078ea9c0bc4481d7dc5117cae71be9514912cf9f8349", size = 91099, upload-time = "2026-01-23T11:04:42.78Z" },
|
|
378
|
-
]
|
|
379
|
-
|
|
380
211
|
[[package]]
|
|
381
212
|
name = "httpx"
|
|
382
213
|
version = "0.28.1"
|
|
@@ -538,11 +369,9 @@ wheels = [
|
|
|
538
369
|
|
|
539
370
|
[[package]]
|
|
540
371
|
name = "podojo-cli"
|
|
541
|
-
version = "0.
|
|
372
|
+
version = "0.9.0"
|
|
542
373
|
source = { editable = "." }
|
|
543
374
|
dependencies = [
|
|
544
|
-
{ name = "google-api-python-client" },
|
|
545
|
-
{ name = "google-auth" },
|
|
546
375
|
{ name = "httpx" },
|
|
547
376
|
{ name = "keyring" },
|
|
548
377
|
{ name = "pyyaml" },
|
|
@@ -563,8 +392,6 @@ dev = [
|
|
|
563
392
|
|
|
564
393
|
[package.metadata]
|
|
565
394
|
requires-dist = [
|
|
566
|
-
{ name = "google-api-python-client", specifier = ">=2.0" },
|
|
567
|
-
{ name = "google-auth", specifier = ">=2.0" },
|
|
568
395
|
{ name = "httpx", specifier = ">=0.28" },
|
|
569
396
|
{ name = "keyring", specifier = ">=25.0" },
|
|
570
397
|
{ name = "playwright", marker = "extra == 'synth'", specifier = ">=1.40" },
|
|
@@ -580,54 +407,6 @@ dev = [
|
|
|
580
407
|
{ name = "pytest-httpx", specifier = ">=0.35" },
|
|
581
408
|
]
|
|
582
409
|
|
|
583
|
-
[[package]]
|
|
584
|
-
name = "proto-plus"
|
|
585
|
-
version = "1.27.1"
|
|
586
|
-
source = { registry = "https://pypi.org/simple" }
|
|
587
|
-
dependencies = [
|
|
588
|
-
{ name = "protobuf" },
|
|
589
|
-
]
|
|
590
|
-
sdist = { url = "https://files.pythonhosted.org/packages/3a/02/8832cde80e7380c600fbf55090b6ab7b62bd6825dbedde6d6657c15a1f8e/proto_plus-1.27.1.tar.gz", hash = "sha256:912a7460446625b792f6448bade9e55cd4e41e6ac10e27009ef71a7f317fa147", size = 56929, upload-time = "2026-02-02T17:34:49.035Z" }
|
|
591
|
-
wheels = [
|
|
592
|
-
{ url = "https://files.pythonhosted.org/packages/5d/79/ac273cbbf744691821a9cca88957257f41afe271637794975ca090b9588b/proto_plus-1.27.1-py3-none-any.whl", hash = "sha256:e4643061f3a4d0de092d62aa4ad09fa4756b2cbb89d4627f3985018216f9fefc", size = 50480, upload-time = "2026-02-02T17:34:47.339Z" },
|
|
593
|
-
]
|
|
594
|
-
|
|
595
|
-
[[package]]
|
|
596
|
-
name = "protobuf"
|
|
597
|
-
version = "6.33.5"
|
|
598
|
-
source = { registry = "https://pypi.org/simple" }
|
|
599
|
-
sdist = { url = "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz", hash = "sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c", size = 444465, upload-time = "2026-01-29T21:51:33.494Z" }
|
|
600
|
-
wheels = [
|
|
601
|
-
{ url = "https://files.pythonhosted.org/packages/b1/79/af92d0a8369732b027e6d6084251dd8e782c685c72da161bd4a2e00fbabb/protobuf-6.33.5-cp310-abi3-win32.whl", hash = "sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b", size = 425769, upload-time = "2026-01-29T21:51:21.751Z" },
|
|
602
|
-
{ url = "https://files.pythonhosted.org/packages/55/75/bb9bc917d10e9ee13dee8607eb9ab963b7cf8be607c46e7862c748aa2af7/protobuf-6.33.5-cp310-abi3-win_amd64.whl", hash = "sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c", size = 437118, upload-time = "2026-01-29T21:51:24.022Z" },
|
|
603
|
-
{ url = "https://files.pythonhosted.org/packages/a2/6b/e48dfc1191bc5b52950246275bf4089773e91cb5ba3592621723cdddca62/protobuf-6.33.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5", size = 427766, upload-time = "2026-01-29T21:51:25.413Z" },
|
|
604
|
-
{ url = "https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190", size = 324638, upload-time = "2026-01-29T21:51:26.423Z" },
|
|
605
|
-
{ url = "https://files.pythonhosted.org/packages/c5/f5/65d838092fd01c44d16037953fd4c2cc851e783de9b8f02b27ec4ffd906f/protobuf-6.33.5-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd", size = 339411, upload-time = "2026-01-29T21:51:27.446Z" },
|
|
606
|
-
{ url = "https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0", size = 323465, upload-time = "2026-01-29T21:51:28.925Z" },
|
|
607
|
-
{ url = "https://files.pythonhosted.org/packages/57/bf/2086963c69bdac3d7cff1cc7ff79b8ce5ea0bec6797a017e1be338a46248/protobuf-6.33.5-py3-none-any.whl", hash = "sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02", size = 170687, upload-time = "2026-01-29T21:51:32.557Z" },
|
|
608
|
-
]
|
|
609
|
-
|
|
610
|
-
[[package]]
|
|
611
|
-
name = "pyasn1"
|
|
612
|
-
version = "0.6.2"
|
|
613
|
-
source = { registry = "https://pypi.org/simple" }
|
|
614
|
-
sdist = { url = "https://files.pythonhosted.org/packages/fe/b6/6e630dff89739fcd427e3f72b3d905ce0acb85a45d4ec3e2678718a3487f/pyasn1-0.6.2.tar.gz", hash = "sha256:9b59a2b25ba7e4f8197db7686c09fb33e658b98339fadb826e9512629017833b", size = 146586, upload-time = "2026-01-16T18:04:18.534Z" }
|
|
615
|
-
wheels = [
|
|
616
|
-
{ url = "https://files.pythonhosted.org/packages/44/b5/a96872e5184f354da9c84ae119971a0a4c221fe9b27a4d94bd43f2596727/pyasn1-0.6.2-py3-none-any.whl", hash = "sha256:1eb26d860996a18e9b6ed05e7aae0e9fc21619fcee6af91cca9bad4fbea224bf", size = 83371, upload-time = "2026-01-16T18:04:17.174Z" },
|
|
617
|
-
]
|
|
618
|
-
|
|
619
|
-
[[package]]
|
|
620
|
-
name = "pyasn1-modules"
|
|
621
|
-
version = "0.4.2"
|
|
622
|
-
source = { registry = "https://pypi.org/simple" }
|
|
623
|
-
dependencies = [
|
|
624
|
-
{ name = "pyasn1" },
|
|
625
|
-
]
|
|
626
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" }
|
|
627
|
-
wheels = [
|
|
628
|
-
{ url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" },
|
|
629
|
-
]
|
|
630
|
-
|
|
631
410
|
[[package]]
|
|
632
411
|
name = "pycparser"
|
|
633
412
|
version = "3.0"
|
|
@@ -658,15 +437,6 @@ wheels = [
|
|
|
658
437
|
{ url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
|
|
659
438
|
]
|
|
660
439
|
|
|
661
|
-
[[package]]
|
|
662
|
-
name = "pyparsing"
|
|
663
|
-
version = "3.3.2"
|
|
664
|
-
source = { registry = "https://pypi.org/simple" }
|
|
665
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" }
|
|
666
|
-
wheels = [
|
|
667
|
-
{ url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" },
|
|
668
|
-
]
|
|
669
|
-
|
|
670
440
|
[[package]]
|
|
671
441
|
name = "pytest"
|
|
672
442
|
version = "9.0.2"
|
|
@@ -751,21 +521,6 @@ wheels = [
|
|
|
751
521
|
{ url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" },
|
|
752
522
|
]
|
|
753
523
|
|
|
754
|
-
[[package]]
|
|
755
|
-
name = "requests"
|
|
756
|
-
version = "2.32.5"
|
|
757
|
-
source = { registry = "https://pypi.org/simple" }
|
|
758
|
-
dependencies = [
|
|
759
|
-
{ name = "certifi" },
|
|
760
|
-
{ name = "charset-normalizer" },
|
|
761
|
-
{ name = "idna" },
|
|
762
|
-
{ name = "urllib3" },
|
|
763
|
-
]
|
|
764
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" }
|
|
765
|
-
wheels = [
|
|
766
|
-
{ url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" },
|
|
767
|
-
]
|
|
768
|
-
|
|
769
524
|
[[package]]
|
|
770
525
|
name = "rich"
|
|
771
526
|
version = "14.3.3"
|
|
@@ -779,18 +534,6 @@ wheels = [
|
|
|
779
534
|
{ url = "https://files.pythonhosted.org/packages/14/25/b208c5683343959b670dc001595f2f3737e051da617f66c31f7c4fa93abc/rich-14.3.3-py3-none-any.whl", hash = "sha256:793431c1f8619afa7d3b52b2cdec859562b950ea0d4b6b505397612db8d5362d", size = 310458, upload-time = "2026-02-19T17:23:13.732Z" },
|
|
780
535
|
]
|
|
781
536
|
|
|
782
|
-
[[package]]
|
|
783
|
-
name = "rsa"
|
|
784
|
-
version = "4.9.1"
|
|
785
|
-
source = { registry = "https://pypi.org/simple" }
|
|
786
|
-
dependencies = [
|
|
787
|
-
{ name = "pyasn1" },
|
|
788
|
-
]
|
|
789
|
-
sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload-time = "2025-04-16T09:51:18.218Z" }
|
|
790
|
-
wheels = [
|
|
791
|
-
{ url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload-time = "2025-04-16T09:51:17.142Z" },
|
|
792
|
-
]
|
|
793
|
-
|
|
794
537
|
[[package]]
|
|
795
538
|
name = "secretstorage"
|
|
796
539
|
version = "3.5.0"
|
|
@@ -836,21 +579,3 @@ sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac8
|
|
|
836
579
|
wheels = [
|
|
837
580
|
{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
|
|
838
581
|
]
|
|
839
|
-
|
|
840
|
-
[[package]]
|
|
841
|
-
name = "uritemplate"
|
|
842
|
-
version = "4.2.0"
|
|
843
|
-
source = { registry = "https://pypi.org/simple" }
|
|
844
|
-
sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", size = 33267, upload-time = "2025-06-02T15:12:06.318Z" }
|
|
845
|
-
wheels = [
|
|
846
|
-
{ url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", size = 11488, upload-time = "2025-06-02T15:12:03.405Z" },
|
|
847
|
-
]
|
|
848
|
-
|
|
849
|
-
[[package]]
|
|
850
|
-
name = "urllib3"
|
|
851
|
-
version = "2.6.3"
|
|
852
|
-
source = { registry = "https://pypi.org/simple" }
|
|
853
|
-
sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
|
|
854
|
-
wheels = [
|
|
855
|
-
{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
|
|
856
|
-
]
|
podojo_cli-0.8.2/PKG-INFO
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: podojo-cli
|
|
3
|
-
Version: 0.8.2
|
|
4
|
-
Summary: CLI for the Podojo user research platform
|
|
5
|
-
Project-URL: Homepage, https://github.com/podojo/cli-podojo
|
|
6
|
-
Project-URL: Source, https://github.com/podojo/cli-podojo
|
|
7
|
-
Project-URL: Issues, https://github.com/podojo/cli-podojo/issues
|
|
8
|
-
Project-URL: Changelog, https://github.com/podojo/cli-podojo/blob/main/CHANGELOG.md
|
|
9
|
-
Author-email: Jochen Ade <jochen.ade@podojo.com>
|
|
10
|
-
License-Expression: MIT
|
|
11
|
-
Keywords: cli,podojo,transcripts,user-research,ux-research
|
|
12
|
-
Classifier: Development Status :: 4 - Beta
|
|
13
|
-
Classifier: Environment :: Console
|
|
14
|
-
Classifier: Intended Audience :: End Users/Desktop
|
|
15
|
-
Classifier: Intended Audience :: Other Audience
|
|
16
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
-
Classifier: Operating System :: OS Independent
|
|
18
|
-
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
-
Classifier: Topic :: Utilities
|
|
21
|
-
Requires-Python: >=3.12
|
|
22
|
-
Requires-Dist: google-api-python-client>=2.0
|
|
23
|
-
Requires-Dist: google-auth>=2.0
|
|
24
|
-
Requires-Dist: httpx>=0.28
|
|
25
|
-
Requires-Dist: keyring>=25.0
|
|
26
|
-
Requires-Dist: pyyaml>=6.0
|
|
27
|
-
Requires-Dist: rich>=13.0
|
|
28
|
-
Requires-Dist: typer>=0.15
|
|
29
|
-
Provides-Extra: synth
|
|
30
|
-
Requires-Dist: playwright>=1.40; extra == 'synth'
|
|
31
|
-
Description-Content-Type: text/markdown
|
|
32
|
-
|
|
33
|
-
# podojo-cli
|
|
34
|
-
|
|
35
|
-
CLI for the Podojo user research platform.
|
|
36
|
-
|
|
37
|
-
## Installation
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
uv tool install podojo-cli
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Usage
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
podojo --help
|
|
47
|
-
```
|
podojo_cli-0.8.2/README.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
|
-
import typer
|
|
4
|
-
from rich.console import Console
|
|
5
|
-
|
|
6
|
-
from ..gdrive.list import list_files
|
|
7
|
-
from ..gdrive.upload import CREDENTIALS_FILENAME, upload_md_as_doc
|
|
8
|
-
|
|
9
|
-
app = typer.Typer(help="Upload documents to Google Drive")
|
|
10
|
-
console = Console()
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@app.command("upload")
|
|
14
|
-
def upload(
|
|
15
|
-
file: Path = typer.Argument(help="Markdown file to upload"),
|
|
16
|
-
folder_id: str = typer.Option(..., "--folder-id", "-f", help="Google Drive folder ID"),
|
|
17
|
-
title: str = typer.Option(None, "--title", "-t", help="Document title (defaults to filename)"),
|
|
18
|
-
):
|
|
19
|
-
"""Upload a markdown file to Google Drive as a Google Doc."""
|
|
20
|
-
if not file.exists():
|
|
21
|
-
console.print(f"[red]Error:[/red] File not found: {file}")
|
|
22
|
-
raise typer.Exit(1)
|
|
23
|
-
|
|
24
|
-
if not Path(CREDENTIALS_FILENAME).exists():
|
|
25
|
-
console.print(f"[red]Error:[/red] {CREDENTIALS_FILENAME} not found in current directory")
|
|
26
|
-
raise typer.Exit(1)
|
|
27
|
-
|
|
28
|
-
console.print(f"Uploading [bold]{file}[/bold]…", end=" ")
|
|
29
|
-
_, url = upload_md_as_doc(str(file), folder_id=folder_id, title=title)
|
|
30
|
-
console.print("[green]done[/green]")
|
|
31
|
-
console.print(url)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@app.command("list")
|
|
35
|
-
def list_cmd(
|
|
36
|
-
folder_id: str = typer.Option(..., "--folder-id", "-f", help="Google Drive folder ID"),
|
|
37
|
-
):
|
|
38
|
-
"""List files in a Google Drive folder."""
|
|
39
|
-
if not Path(CREDENTIALS_FILENAME).exists():
|
|
40
|
-
console.print(f"[red]Error:[/red] {CREDENTIALS_FILENAME} not found in current directory")
|
|
41
|
-
raise typer.Exit(1)
|
|
42
|
-
|
|
43
|
-
files = list_files(folder_id=folder_id)
|
|
44
|
-
|
|
45
|
-
if not files:
|
|
46
|
-
console.print("No files found.")
|
|
47
|
-
return
|
|
48
|
-
|
|
49
|
-
for f in files:
|
|
50
|
-
link = f.get("webViewLink", "")
|
|
51
|
-
console.print(f"[bold]{f['name']}[/bold] {link}")
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"""List files in a Google Drive folder."""
|
|
2
|
-
|
|
3
|
-
from .upload import get_drive_service
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def list_files(folder_id: str) -> list[dict]:
|
|
7
|
-
"""Return a list of files in the given folder (id, name, mimeType, webViewLink)."""
|
|
8
|
-
drive = get_drive_service()
|
|
9
|
-
|
|
10
|
-
results = (
|
|
11
|
-
drive.files()
|
|
12
|
-
.list(
|
|
13
|
-
q=f"'{folder_id}' in parents and trashed = false",
|
|
14
|
-
fields="files(id, name, mimeType, webViewLink)",
|
|
15
|
-
supportsAllDrives=True,
|
|
16
|
-
includeItemsFromAllDrives=True,
|
|
17
|
-
)
|
|
18
|
-
.execute()
|
|
19
|
-
)
|
|
20
|
-
return results.get("files", [])
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"""Upload a markdown file to Google Drive as a Google Doc."""
|
|
2
|
-
|
|
3
|
-
import os
|
|
4
|
-
from pathlib import Path
|
|
5
|
-
|
|
6
|
-
from google.oauth2.service_account import Credentials
|
|
7
|
-
from googleapiclient.discovery import build
|
|
8
|
-
from googleapiclient.http import MediaFileUpload
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
CREDENTIALS_FILENAME = "service-account.json"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def get_drive_service():
|
|
15
|
-
credentials_path = Path.cwd() / CREDENTIALS_FILENAME
|
|
16
|
-
if not credentials_path.exists():
|
|
17
|
-
raise FileNotFoundError(f"{CREDENTIALS_FILENAME} not found in current directory")
|
|
18
|
-
creds = Credentials.from_service_account_file(
|
|
19
|
-
str(credentials_path),
|
|
20
|
-
scopes=["https://www.googleapis.com/auth/drive"],
|
|
21
|
-
)
|
|
22
|
-
return build("drive", "v3", credentials=creds)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def upload_md_as_doc(
|
|
26
|
-
md_file: str,
|
|
27
|
-
folder_id: str,
|
|
28
|
-
title: str | None = None,
|
|
29
|
-
) -> tuple[str, str]:
|
|
30
|
-
drive = get_drive_service()
|
|
31
|
-
|
|
32
|
-
if not title:
|
|
33
|
-
title = os.path.splitext(os.path.basename(md_file))[0]
|
|
34
|
-
|
|
35
|
-
parent = folder_id
|
|
36
|
-
|
|
37
|
-
media = MediaFileUpload(md_file, mimetype="text/markdown")
|
|
38
|
-
file_metadata = {
|
|
39
|
-
"name": title,
|
|
40
|
-
"mimeType": "application/vnd.google-apps.document",
|
|
41
|
-
"parents": [parent],
|
|
42
|
-
}
|
|
43
|
-
result = (
|
|
44
|
-
drive.files()
|
|
45
|
-
.create(
|
|
46
|
-
body=file_metadata,
|
|
47
|
-
media_body=media,
|
|
48
|
-
fields="id",
|
|
49
|
-
supportsAllDrives=True,
|
|
50
|
-
)
|
|
51
|
-
.execute()
|
|
52
|
-
)
|
|
53
|
-
|
|
54
|
-
doc_id = result["id"]
|
|
55
|
-
url = f"https://docs.google.com/document/d/{doc_id}/edit"
|
|
56
|
-
return doc_id, url
|
|
File without changes
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
from unittest.mock import MagicMock, patch
|
|
3
|
-
|
|
4
|
-
import pytest
|
|
5
|
-
|
|
6
|
-
from podojo_cli.main import app
|
|
7
|
-
from podojo_cli.gdrive.upload import CREDENTIALS_FILENAME
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def md_file(tmp_path):
|
|
12
|
-
f = tmp_path / "report.md"
|
|
13
|
-
f.write_text("# Hello\n\nSome content.")
|
|
14
|
-
return f
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.fixture
|
|
18
|
-
def credentials_file(tmp_path, monkeypatch):
|
|
19
|
-
monkeypatch.chdir(tmp_path)
|
|
20
|
-
f = tmp_path / CREDENTIALS_FILENAME
|
|
21
|
-
f.write_text('{"type": "service_account"}')
|
|
22
|
-
return f
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_upload_success(runner, md_file, credentials_file):
|
|
26
|
-
mock_upload = MagicMock(return_value=("doc-id-123", "https://docs.google.com/document/d/doc-id-123/edit"))
|
|
27
|
-
with patch("podojo_cli.commands.gdrive.upload_md_as_doc", mock_upload):
|
|
28
|
-
result = runner.invoke(app, ["gdrive", "upload", str(md_file), "--folder-id", "folder-abc"])
|
|
29
|
-
|
|
30
|
-
assert result.exit_code == 0
|
|
31
|
-
assert "https://docs.google.com/document/d/doc-id-123/edit" in result.output
|
|
32
|
-
mock_upload.assert_called_once_with(str(md_file), folder_id="folder-abc", title=None)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def test_upload_with_title(runner, md_file, credentials_file):
|
|
36
|
-
mock_upload = MagicMock(return_value=("doc-id-456", "https://docs.google.com/document/d/doc-id-456/edit"))
|
|
37
|
-
with patch("podojo_cli.commands.gdrive.upload_md_as_doc", mock_upload):
|
|
38
|
-
result = runner.invoke(app, ["gdrive", "upload", str(md_file), "--folder-id", "folder-abc", "--title", "My Report"])
|
|
39
|
-
|
|
40
|
-
assert result.exit_code == 0
|
|
41
|
-
mock_upload.assert_called_once_with(str(md_file), folder_id="folder-abc", title="My Report")
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def test_upload_missing_file(runner, credentials_file):
|
|
45
|
-
result = runner.invoke(app, ["gdrive", "upload", "/nonexistent/report.md", "--folder-id", "folder-abc"])
|
|
46
|
-
|
|
47
|
-
assert result.exit_code == 1
|
|
48
|
-
assert "File not found" in result.output
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def test_upload_no_credentials_file(runner, md_file, tmp_path, monkeypatch):
|
|
52
|
-
monkeypatch.chdir(tmp_path)
|
|
53
|
-
|
|
54
|
-
result = runner.invoke(app, ["gdrive", "upload", str(md_file), "--folder-id", "folder-abc"])
|
|
55
|
-
|
|
56
|
-
assert result.exit_code == 1
|
|
57
|
-
assert CREDENTIALS_FILENAME in result.output
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def test_list_success(runner, credentials_file):
|
|
61
|
-
mock_files = [
|
|
62
|
-
{"name": "Report A", "mimeType": "application/vnd.google-apps.document", "webViewLink": "https://docs.google.com/document/d/abc/edit"},
|
|
63
|
-
{"name": "Report B", "mimeType": "application/vnd.google-apps.document", "webViewLink": "https://docs.google.com/document/d/xyz/edit"},
|
|
64
|
-
]
|
|
65
|
-
mock_list = MagicMock(return_value=mock_files)
|
|
66
|
-
with patch("podojo_cli.commands.gdrive.list_files", mock_list):
|
|
67
|
-
result = runner.invoke(app, ["gdrive", "list", "--folder-id", "folder-abc"])
|
|
68
|
-
|
|
69
|
-
assert result.exit_code == 0
|
|
70
|
-
assert "Report A" in result.output
|
|
71
|
-
assert "Report B" in result.output
|
|
72
|
-
mock_list.assert_called_once_with(folder_id="folder-abc")
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
def test_list_no_credentials_file(runner, tmp_path, monkeypatch):
|
|
76
|
-
monkeypatch.chdir(tmp_path)
|
|
77
|
-
|
|
78
|
-
result = runner.invoke(app, ["gdrive", "list", "--folder-id", "folder-abc"])
|
|
79
|
-
|
|
80
|
-
assert result.exit_code == 1
|
|
81
|
-
assert CREDENTIALS_FILENAME in result.output
|
|
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
|
{podojo_cli-0.8.2/src/podojo_cli/gdrive → podojo_cli-0.9.0/src/podojo_cli/video}/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|