garsync 0.3.0__tar.gz → 0.3.1__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.
- {garsync-0.3.0 → garsync-0.3.1}/PKG-INFO +10 -7
- {garsync-0.3.0 → garsync-0.3.1}/README.md +5 -2
- {garsync-0.3.0 → garsync-0.3.1}/pyproject.toml +7 -7
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/__init__.py +1 -1
- {garsync-0.3.0 → garsync-0.3.1}/LICENSE +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/__main__.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/__init__.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/auth.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/deps.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/main.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/__init__.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/activities.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/biometrics.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/sleep.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/stats.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/routes/sync.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/api/schemas.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/cli.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/client.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/__init__.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/backup.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/connection.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/migrations/env.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/migrations/script.py.mako +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/migrations/versions/0001_v1_baseline.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/migrations/versions/0002_v2.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/repository.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/db/schema.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/exporter.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/models.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/pipeline.py +0 -0
- {garsync-0.3.0 → garsync-0.3.1}/src/garsync/timeutil.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: garsync
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary:
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Author: Manu
|
|
@@ -12,14 +12,14 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.14
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.15
|
|
14
14
|
Requires-Dist: alembic (>=1.20.0,<2.0.0)
|
|
15
|
-
Requires-Dist: fastapi (>=0.
|
|
16
|
-
Requires-Dist: garminconnect (>=0.3.
|
|
15
|
+
Requires-Dist: fastapi (>=0.142.2,<1.0.0)
|
|
16
|
+
Requires-Dist: garminconnect (>=0.3.17,<0.4.0)
|
|
17
17
|
Requires-Dist: pydantic (>=2.13.5,<3.0.0)
|
|
18
18
|
Requires-Dist: rich (>=15.0.0,<16.0.0)
|
|
19
|
-
Requires-Dist: sqlalchemy (>=2.1.
|
|
19
|
+
Requires-Dist: sqlalchemy (>=2.1.1,<3.0.0)
|
|
20
20
|
Requires-Dist: tenacity (>=9.1.4,<10.0.0)
|
|
21
21
|
Requires-Dist: typer (>=0.27.2,<0.28.0)
|
|
22
|
-
Requires-Dist: uvicorn[standard] (>=0.
|
|
22
|
+
Requires-Dist: uvicorn[standard] (>=0.54.0,<1.0.0)
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
|
|
25
25
|
# GarSync
|
|
@@ -62,9 +62,12 @@ make setup
|
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
### 3. Configure Secrets
|
|
65
|
-
Edit your Garmin credentials using SOPS
|
|
65
|
+
Edit your Garmin credentials using SOPS. The file is encrypted to garsync's dedicated age identity
|
|
66
|
+
(see [`docs/runbooks/onboard-new-machine.md`](docs/runbooks/onboard-new-machine.md)), and sops must
|
|
67
|
+
be told the format, because it cannot infer it from `.enc`:
|
|
66
68
|
```bash
|
|
67
|
-
|
|
69
|
+
SOPS_AGE_KEY_FILE=~/.config/age/garsync.txt \
|
|
70
|
+
sops --input-type dotenv --output-type dotenv secrets.env.enc
|
|
68
71
|
```
|
|
69
72
|
|
|
70
73
|
### 4. Sync & Launch
|
|
@@ -38,9 +38,12 @@ make setup
|
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
### 3. Configure Secrets
|
|
41
|
-
Edit your Garmin credentials using SOPS
|
|
41
|
+
Edit your Garmin credentials using SOPS. The file is encrypted to garsync's dedicated age identity
|
|
42
|
+
(see [`docs/runbooks/onboard-new-machine.md`](docs/runbooks/onboard-new-machine.md)), and sops must
|
|
43
|
+
be told the format, because it cannot infer it from `.enc`:
|
|
42
44
|
```bash
|
|
43
|
-
|
|
45
|
+
SOPS_AGE_KEY_FILE=~/.config/age/garsync.txt \
|
|
46
|
+
sops --input-type dotenv --output-type dotenv secrets.env.enc
|
|
44
47
|
```
|
|
45
48
|
|
|
46
49
|
### 4. Sync & Launch
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "garsync"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.1"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Manu",email = "mlorentedev@gmail.com"}
|
|
@@ -8,15 +8,15 @@ authors = [
|
|
|
8
8
|
readme = "README.md"
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
dependencies = [
|
|
11
|
-
"garminconnect (>=0.3.
|
|
11
|
+
"garminconnect (>=0.3.17,<0.4.0)",
|
|
12
12
|
"pydantic (>=2.13.5,<3.0.0)",
|
|
13
13
|
"tenacity (>=9.1.4,<10.0.0)",
|
|
14
14
|
"typer (>=0.27.2,<0.28.0)",
|
|
15
15
|
"rich (>=15.0.0,<16.0.0)",
|
|
16
|
-
"fastapi (>=0.
|
|
17
|
-
"uvicorn[standard] (>=0.
|
|
16
|
+
"fastapi (>=0.142.2,<1.0.0)",
|
|
17
|
+
"uvicorn[standard] (>=0.54.0,<1.0.0)",
|
|
18
18
|
"alembic (>=1.20.0,<2.0.0)",
|
|
19
|
-
"sqlalchemy (>=2.1.
|
|
19
|
+
"sqlalchemy (>=2.1.1,<3.0.0)",
|
|
20
20
|
]
|
|
21
21
|
|
|
22
22
|
|
|
@@ -35,8 +35,8 @@ dev = [
|
|
|
35
35
|
"pytest (>=9.1.1,<10.0.0)",
|
|
36
36
|
"pytest-cov (>=7.1.0,<8.0.0)",
|
|
37
37
|
"mypy (>=2.3.1,<3.0.0)",
|
|
38
|
-
"ruff (>=0.16.
|
|
39
|
-
"pytest-mock (>=3.
|
|
38
|
+
"ruff (>=0.16.9,<0.17.0)",
|
|
39
|
+
"pytest-mock (>=3.16.0,<4.0.0)",
|
|
40
40
|
"httpx (>=0.28.1,<1.0.0)"
|
|
41
41
|
]
|
|
42
42
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|