azimut 0.1.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.
- azimut-0.1.0/.github/workflows/ci.yml +35 -0
- azimut-0.1.0/.github/workflows/release.yml +115 -0
- azimut-0.1.0/.gitignore +84 -0
- azimut-0.1.0/LICENSE +661 -0
- azimut-0.1.0/PKG-INFO +125 -0
- azimut-0.1.0/README.md +96 -0
- azimut-0.1.0/docs/ONTOLOGY.md +138 -0
- azimut-0.1.0/docs/SPEC.md +334 -0
- azimut-0.1.0/frontend/index.html +13 -0
- azimut-0.1.0/frontend/package-lock.json +1554 -0
- azimut-0.1.0/frontend/package.json +24 -0
- azimut-0.1.0/frontend/public/favicon.svg +68 -0
- azimut-0.1.0/frontend/src/App.svelte +173 -0
- azimut-0.1.0/frontend/src/app.css +358 -0
- azimut-0.1.0/frontend/src/components/CaseSidebar.svelte +1085 -0
- azimut-0.1.0/frontend/src/components/CaseSwitcher.svelte +447 -0
- azimut-0.1.0/frontend/src/components/ConfirmDialog.svelte +140 -0
- azimut-0.1.0/frontend/src/components/Icon.svelte +76 -0
- azimut-0.1.0/frontend/src/components/Logo.svelte +76 -0
- azimut-0.1.0/frontend/src/components/Modal.svelte +62 -0
- azimut-0.1.0/frontend/src/components/Toasts.svelte +55 -0
- azimut-0.1.0/frontend/src/lib/api.js +40 -0
- azimut-0.1.0/frontend/src/lib/composer.js +399 -0
- azimut-0.1.0/frontend/src/lib/composer.test.js +418 -0
- azimut-0.1.0/frontend/src/lib/inspect.js +250 -0
- azimut-0.1.0/frontend/src/lib/state.svelte.js +150 -0
- azimut-0.1.0/frontend/src/main.js +10 -0
- azimut-0.1.0/frontend/src/tools/Inspector.svelte +983 -0
- azimut-0.1.0/frontend/src/tools/MediaLibrary.svelte +942 -0
- azimut-0.1.0/frontend/src/tools/PostComposer.svelte +944 -0
- azimut-0.1.0/frontend/src/tools/ProofComposer.svelte +1793 -0
- azimut-0.1.0/frontend/src/tools/Satellite.svelte +1308 -0
- azimut-0.1.0/frontend/src/tools/inspect/AdjustSliders.svelte +82 -0
- azimut-0.1.0/frontend/src/tools/inspect/CollageCanvas.svelte +319 -0
- azimut-0.1.0/frontend/src/tools/inspect/CollageMenu.svelte +297 -0
- azimut-0.1.0/frontend/src/tools/inspect/CollagePreview.svelte +79 -0
- azimut-0.1.0/frontend/src/tools/inspect/FrameMenu.svelte +326 -0
- azimut-0.1.0/frontend/src/tools/inspect/PieceCropModal.svelte +130 -0
- azimut-0.1.0/frontend/src/tools/inspect/SaveGallery.svelte +171 -0
- azimut-0.1.0/frontend/src/tools/inspect/SaveMenu.svelte +85 -0
- azimut-0.1.0/frontend/src/tools/inspect/SelectionMenu.svelte +221 -0
- azimut-0.1.0/frontend/vite.config.js +17 -0
- azimut-0.1.0/packaging/azimut.spec +46 -0
- azimut-0.1.0/packaging/entry.py +10 -0
- azimut-0.1.0/pyproject.toml +53 -0
- azimut-0.1.0/src/azimut/__init__.py +3 -0
- azimut-0.1.0/src/azimut/__main__.py +3 -0
- azimut-0.1.0/src/azimut/api/__init__.py +0 -0
- azimut-0.1.0/src/azimut/api/cases.py +237 -0
- azimut-0.1.0/src/azimut/api/drafts.py +129 -0
- azimut-0.1.0/src/azimut/api/files.py +27 -0
- azimut-0.1.0/src/azimut/api/inspect.py +409 -0
- azimut-0.1.0/src/azimut/api/media.py +101 -0
- azimut-0.1.0/src/azimut/api/proofs.py +134 -0
- azimut-0.1.0/src/azimut/api/satellite.py +201 -0
- azimut-0.1.0/src/azimut/cli.py +38 -0
- azimut-0.1.0/src/azimut/config.py +69 -0
- azimut-0.1.0/src/azimut/engine/__init__.py +0 -0
- azimut-0.1.0/src/azimut/engine/geo.py +122 -0
- azimut-0.1.0/src/azimut/engine/inspect.py +742 -0
- azimut-0.1.0/src/azimut/engine/media.py +318 -0
- azimut-0.1.0/src/azimut/engine/satellite.py +73 -0
- azimut-0.1.0/src/azimut/engine/tiles.py +320 -0
- azimut-0.1.0/src/azimut/jobs.py +44 -0
- azimut-0.1.0/src/azimut/server.py +58 -0
- azimut-0.1.0/src/azimut/static/assets/index-BkJajQDU.css +1 -0
- azimut-0.1.0/src/azimut/static/assets/index-rbVNFUtr.js +30 -0
- azimut-0.1.0/src/azimut/static/assets/leaflet-rotate-hAaDqhcJ.js +1 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-400-normal-BnNz-3Mf.woff +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-400-normal-DcSlRu53.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-600-normal-DNQhW0y0.woff +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-600-normal-DW9ldEDP.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-700-normal-b_KP-pae.woff +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-700-normal-l0hKEjh4.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-400-normal-B1qoybeA.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-400-normal-ngSbnDVv.woff +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-600-normal-B2S5WIA4.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-600-normal-DywhiVWf.woff +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-700-normal-BSlCClLu.woff2 +0 -0
- azimut-0.1.0/src/azimut/static/assets/oxanium-latin-ext-700-normal-CPlnVieJ.woff +0 -0
- azimut-0.1.0/src/azimut/static/favicon.svg +68 -0
- azimut-0.1.0/src/azimut/static/index.html +14 -0
- azimut-0.1.0/src/azimut/workspace.py +343 -0
- azimut-0.1.0/tests/conftest.py +16 -0
- azimut-0.1.0/tests/test_cases_api.py +307 -0
- azimut-0.1.0/tests/test_drafts_api.py +83 -0
- azimut-0.1.0/tests/test_inspect_api.py +542 -0
- azimut-0.1.0/tests/test_media_api.py +218 -0
- azimut-0.1.0/tests/test_proofs_api.py +91 -0
- azimut-0.1.0/tests/test_satellite_api.py +258 -0
- azimut-0.1.0/tests/test_tiles.py +164 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
backend:
|
|
10
|
+
name: Backend tests
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: "3.12"
|
|
17
|
+
- run: pip install -e ".[dev]"
|
|
18
|
+
- run: pytest -q
|
|
19
|
+
|
|
20
|
+
frontend:
|
|
21
|
+
name: Frontend tests + build
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
defaults:
|
|
24
|
+
run:
|
|
25
|
+
working-directory: frontend
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
- uses: actions/setup-node@v4
|
|
29
|
+
with:
|
|
30
|
+
node-version: "20"
|
|
31
|
+
cache: npm
|
|
32
|
+
cache-dependency-path: frontend/package-lock.json
|
|
33
|
+
- run: npm ci
|
|
34
|
+
- run: npx vitest run
|
|
35
|
+
- run: npm run build
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
# Cut a release by pushing a semver tag, e.g. git tag v0.1.0 && git push origin v0.1.0
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
tags: ["v*"]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: write # create the GitHub release + upload assets
|
|
11
|
+
id-token: write # PyPI Trusted Publishing (OIDC) — no token secret needed
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
dist:
|
|
15
|
+
name: Build wheel + sdist
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: "20"
|
|
22
|
+
- uses: actions/setup-python@v5
|
|
23
|
+
with:
|
|
24
|
+
python-version: "3.12"
|
|
25
|
+
- name: Build frontend into the package
|
|
26
|
+
working-directory: frontend
|
|
27
|
+
run: npm ci && npm run build
|
|
28
|
+
- name: Build sdist + wheel
|
|
29
|
+
run: pipx run build
|
|
30
|
+
- name: Sanity-check the wheel bundles the UI
|
|
31
|
+
run: |
|
|
32
|
+
python - <<'PY'
|
|
33
|
+
import glob, zipfile
|
|
34
|
+
whl = sorted(glob.glob("dist/*.whl"))[-1]
|
|
35
|
+
n = [x for x in zipfile.ZipFile(whl).namelist() if x.startswith("azimut/static/")]
|
|
36
|
+
assert n, "wheel is missing azimut/static/** — did the frontend build run?"
|
|
37
|
+
print(f"{whl}: {len(n)} static files bundled")
|
|
38
|
+
PY
|
|
39
|
+
- uses: actions/upload-artifact@v4
|
|
40
|
+
with:
|
|
41
|
+
name: dist
|
|
42
|
+
path: dist/*
|
|
43
|
+
|
|
44
|
+
binaries:
|
|
45
|
+
name: Binary (${{ matrix.os }})
|
|
46
|
+
runs-on: ${{ matrix.os }}
|
|
47
|
+
strategy:
|
|
48
|
+
fail-fast: false
|
|
49
|
+
matrix:
|
|
50
|
+
include:
|
|
51
|
+
- os: ubuntu-latest
|
|
52
|
+
asset: azimut-linux-x86_64
|
|
53
|
+
- os: windows-latest
|
|
54
|
+
asset: azimut-windows-x86_64.exe
|
|
55
|
+
- os: macos-latest
|
|
56
|
+
asset: azimut-macos-arm64
|
|
57
|
+
steps:
|
|
58
|
+
- uses: actions/checkout@v4
|
|
59
|
+
- uses: actions/setup-node@v4
|
|
60
|
+
with:
|
|
61
|
+
node-version: "20"
|
|
62
|
+
- uses: actions/setup-python@v5
|
|
63
|
+
with:
|
|
64
|
+
python-version: "3.12"
|
|
65
|
+
- name: Build frontend into the package
|
|
66
|
+
working-directory: frontend
|
|
67
|
+
run: npm ci && npm run build
|
|
68
|
+
- name: Install package + PyInstaller
|
|
69
|
+
run: |
|
|
70
|
+
pip install .
|
|
71
|
+
pip install pyinstaller
|
|
72
|
+
- name: Build single-file binary
|
|
73
|
+
run: pyinstaller packaging/azimut.spec --distpath dist-bin --workpath build-bin
|
|
74
|
+
- name: Smoke-test the binary
|
|
75
|
+
shell: bash
|
|
76
|
+
run: |
|
|
77
|
+
BIN=dist-bin/azimut
|
|
78
|
+
[ "${{ runner.os }}" = "Windows" ] && BIN=dist-bin/azimut.exe
|
|
79
|
+
"$BIN" --version
|
|
80
|
+
- name: Name the asset per-OS
|
|
81
|
+
shell: bash
|
|
82
|
+
run: |
|
|
83
|
+
if [ "${{ runner.os }}" = "Windows" ]; then
|
|
84
|
+
mv dist-bin/azimut.exe "dist-bin/${{ matrix.asset }}"
|
|
85
|
+
else
|
|
86
|
+
mv dist-bin/azimut "dist-bin/${{ matrix.asset }}"
|
|
87
|
+
fi
|
|
88
|
+
- uses: actions/upload-artifact@v4
|
|
89
|
+
with:
|
|
90
|
+
name: ${{ matrix.asset }}
|
|
91
|
+
path: dist-bin/${{ matrix.asset }}
|
|
92
|
+
|
|
93
|
+
release:
|
|
94
|
+
name: GitHub release + PyPI publish
|
|
95
|
+
needs: [dist, binaries]
|
|
96
|
+
runs-on: ubuntu-latest
|
|
97
|
+
if: startsWith(github.ref, 'refs/tags/v')
|
|
98
|
+
steps:
|
|
99
|
+
- uses: actions/download-artifact@v4
|
|
100
|
+
with:
|
|
101
|
+
path: artifacts
|
|
102
|
+
- name: Gather release assets (binaries + wheel/sdist)
|
|
103
|
+
run: |
|
|
104
|
+
mkdir -p upload
|
|
105
|
+
find artifacts -type f -exec cp {} upload/ \;
|
|
106
|
+
ls -l upload
|
|
107
|
+
- name: Create GitHub release
|
|
108
|
+
uses: softprops/action-gh-release@v2
|
|
109
|
+
with:
|
|
110
|
+
files: upload/*
|
|
111
|
+
generate_release_notes: true
|
|
112
|
+
- name: Publish to PyPI (Trusted Publishing)
|
|
113
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
114
|
+
with:
|
|
115
|
+
packages-dir: artifacts/dist
|
azimut-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Environment / secrets
|
|
2
|
+
.env
|
|
3
|
+
.env.*
|
|
4
|
+
!.env.example
|
|
5
|
+
*.pem
|
|
6
|
+
*.key
|
|
7
|
+
secrets/
|
|
8
|
+
|
|
9
|
+
# Python
|
|
10
|
+
__pycache__/
|
|
11
|
+
*.py[cod]
|
|
12
|
+
*$py.class
|
|
13
|
+
*.egg-info/
|
|
14
|
+
.eggs/
|
|
15
|
+
.venv/
|
|
16
|
+
venv/
|
|
17
|
+
env/
|
|
18
|
+
.Python
|
|
19
|
+
build/
|
|
20
|
+
dist/
|
|
21
|
+
*.whl
|
|
22
|
+
.pytest_cache/
|
|
23
|
+
.mypy_cache/
|
|
24
|
+
.ruff_cache/
|
|
25
|
+
.tox/
|
|
26
|
+
pip-log.txt
|
|
27
|
+
|
|
28
|
+
# Node / JS
|
|
29
|
+
node_modules/
|
|
30
|
+
npm-debug.log*
|
|
31
|
+
yarn-debug.log*
|
|
32
|
+
yarn-error.log*
|
|
33
|
+
pnpm-debug.log*
|
|
34
|
+
.pnpm-store/
|
|
35
|
+
dist/
|
|
36
|
+
build/
|
|
37
|
+
.next/
|
|
38
|
+
.nuxt/
|
|
39
|
+
.turbo/
|
|
40
|
+
.parcel-cache/
|
|
41
|
+
|
|
42
|
+
# Editors / IDE
|
|
43
|
+
.vscode/
|
|
44
|
+
!.vscode/extensions.json
|
|
45
|
+
.idea/
|
|
46
|
+
*.swp
|
|
47
|
+
*.swo
|
|
48
|
+
*~
|
|
49
|
+
.DS_Store
|
|
50
|
+
Thumbs.db
|
|
51
|
+
|
|
52
|
+
# Workspace / OS
|
|
53
|
+
*.code-workspace
|
|
54
|
+
.cache/
|
|
55
|
+
.tmp/
|
|
56
|
+
tmp/
|
|
57
|
+
*.log
|
|
58
|
+
logs/
|
|
59
|
+
|
|
60
|
+
# Data / local artifacts
|
|
61
|
+
*.sqlite3
|
|
62
|
+
*.db
|
|
63
|
+
data/
|
|
64
|
+
*.csv
|
|
65
|
+
!docs/**/*.csv
|
|
66
|
+
|
|
67
|
+
# Docker
|
|
68
|
+
*.pid
|
|
69
|
+
.docker/
|
|
70
|
+
|
|
71
|
+
# Misc
|
|
72
|
+
*.bak
|
|
73
|
+
*.orig
|
|
74
|
+
|
|
75
|
+
# Azimut build artifacts (frontend builds into the Python package)
|
|
76
|
+
src/azimut/static/
|
|
77
|
+
|
|
78
|
+
# Local tooling / assistant configs
|
|
79
|
+
CLAUDE.md
|
|
80
|
+
.claude/
|
|
81
|
+
|
|
82
|
+
# PyInstaller local output
|
|
83
|
+
dist-bin/
|
|
84
|
+
build-bin/
|