headliz 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.
Files changed (43) hide show
  1. headliz-0.1.0/.github/workflows/ci.yml +36 -0
  2. headliz-0.1.0/.github/workflows/publish-dockerhub.yml +62 -0
  3. headliz-0.1.0/.github/workflows/publish-pypi.yml +58 -0
  4. headliz-0.1.0/.github/workflows/release.yml +160 -0
  5. headliz-0.1.0/.gitignore +168 -0
  6. headliz-0.1.0/.python-version +1 -0
  7. headliz-0.1.0/.run/Makefile Targets.run.xml +350 -0
  8. headliz-0.1.0/CHANGELOG.md +27 -0
  9. headliz-0.1.0/Dockerfile +43 -0
  10. headliz-0.1.0/Makefile +768 -0
  11. headliz-0.1.0/PKG-INFO +193 -0
  12. headliz-0.1.0/PROJECT_CONTEXT.md +21 -0
  13. headliz-0.1.0/README.md +176 -0
  14. headliz-0.1.0/docker-compose.yml +16 -0
  15. headliz-0.1.0/headliz/__init__.py +21 -0
  16. headliz-0.1.0/headliz/api.py +65 -0
  17. headliz-0.1.0/headliz/civitai/__init__.py +0 -0
  18. headliz-0.1.0/headliz/civitai/browser.py +85 -0
  19. headliz-0.1.0/headliz/civitai/config.py +93 -0
  20. headliz-0.1.0/headliz/civitai/models.py +14 -0
  21. headliz-0.1.0/headliz/civitai/pages/__init__.py +0 -0
  22. headliz-0.1.0/headliz/civitai/pages/login_page.py +147 -0
  23. headliz-0.1.0/headliz/civitai/pages/upload_page.py +260 -0
  24. headliz-0.1.0/headliz/civitai/service.py +209 -0
  25. headliz-0.1.0/headliz/cli.py +91 -0
  26. headliz-0.1.0/headliz/config.py +68 -0
  27. headliz-0.1.0/headliz/core.py +63 -0
  28. headliz-0.1.0/headliz/logger.py +55 -0
  29. headliz-0.1.0/headliz/pinterest/__init__.py +0 -0
  30. headliz-0.1.0/headliz/pinterest/browser.py +99 -0
  31. headliz-0.1.0/headliz/pinterest/config.py +79 -0
  32. headliz-0.1.0/headliz/pinterest/models.py +15 -0
  33. headliz-0.1.0/headliz/pinterest/pages/__init__.py +0 -0
  34. headliz-0.1.0/headliz/pinterest/pages/login_page.py +178 -0
  35. headliz-0.1.0/headliz/pinterest/pages/upload_page.py +656 -0
  36. headliz-0.1.0/headliz/pinterest/service.py +225 -0
  37. headliz-0.1.0/headliz/project.py +7 -0
  38. headliz-0.1.0/project.mk +215 -0
  39. headliz-0.1.0/pyproject.toml +30 -0
  40. headliz-0.1.0/test/src/test_civitai_upload.py +64 -0
  41. headliz-0.1.0/test/src/test_docker_api.py +55 -0
  42. headliz-0.1.0/test/src/test_pinterest_upload.py +62 -0
  43. headliz-0.1.0/uv.lock +597 -0
@@ -0,0 +1,36 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ workflow_dispatch:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ quality-and-build:
15
+ name: Quality And Build
16
+ runs-on: ubuntu-latest
17
+
18
+ steps:
19
+ - name: Checkout
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Install uv
23
+ uses: astral-sh/setup-uv@v6
24
+ with:
25
+ version: "latest"
26
+ enable-cache: true
27
+
28
+ - name: Setup CI Environment
29
+ run: make ci-setup
30
+
31
+ - name: Run Quality Gates
32
+ run: make qa
33
+
34
+ - name: Build Package
35
+ run: make build
36
+
@@ -0,0 +1,62 @@
1
+ name: Publish Docker Hub
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ ci-config:
14
+ name: Read CI Config
15
+ runs-on: ubuntu-latest
16
+ outputs:
17
+ enable_dockerhub_publish: ${{ steps.config.outputs.enable_dockerhub_publish }}
18
+ dockerhub_environment: ${{ steps.config.outputs.dockerhub_environment }}
19
+ dockerhub_image: ${{ steps.config.outputs.dockerhub_image }}
20
+ dockerfile: ${{ steps.config.outputs.dockerfile }}
21
+ docker_build_context: ${{ steps.config.outputs.docker_build_context }}
22
+ docker_push_latest: ${{ steps.config.outputs.docker_push_latest }}
23
+
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v4
27
+
28
+ - name: Export Config To GitHub Output
29
+ id: config
30
+ run: make ci-export-config
31
+
32
+ publish:
33
+ name: Publish Docker Image
34
+ needs: ci-config
35
+ if: needs.ci-config.outputs.enable_dockerhub_publish == '1'
36
+ runs-on: ubuntu-latest
37
+ environment: ${{ needs.ci-config.outputs.dockerhub_environment }}
38
+
39
+ steps:
40
+ - name: Checkout
41
+ uses: actions/checkout@v4
42
+ with:
43
+ fetch-depth: 0
44
+
45
+ - name: Setup Docker Buildx
46
+ uses: docker/setup-buildx-action@v3
47
+
48
+ - name: Docker Hub Login
49
+ run: make ci-docker-login
50
+ env:
51
+ DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
52
+ DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
53
+
54
+ - name: Resolve Docker Image Tag
55
+ id: docker_tag
56
+ run: make ci-export-docker-tag
57
+
58
+ - name: Build And Push Docker Image
59
+ run: make ci-publish-dockerhub
60
+ env:
61
+ DOCKER_IMAGE_TAG: ${{ steps.docker_tag.outputs.docker_image_tag }}
62
+
@@ -0,0 +1,58 @@
1
+ name: Publish PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: read
11
+ id-token: write
12
+
13
+ jobs:
14
+ ci-config:
15
+ name: Read CI Config
16
+ runs-on: ubuntu-latest
17
+ outputs:
18
+ enable_pypi_publish: ${{ steps.config.outputs.enable_pypi_publish }}
19
+ pypi_environment: ${{ steps.config.outputs.pypi_environment }}
20
+
21
+ steps:
22
+ - name: Checkout
23
+ uses: actions/checkout@v4
24
+
25
+ - name: Export Config To GitHub Output
26
+ id: config
27
+ run: make ci-export-config
28
+
29
+ publish:
30
+ name: Publish To PyPI
31
+ needs: ci-config
32
+ if: needs.ci-config.outputs.enable_pypi_publish == '1'
33
+ runs-on: ubuntu-latest
34
+ environment: ${{ needs.ci-config.outputs.pypi_environment }}
35
+
36
+ steps:
37
+ - name: Checkout
38
+ uses: actions/checkout@v4
39
+ with:
40
+ fetch-depth: 0
41
+
42
+ - name: Install uv
43
+ uses: astral-sh/setup-uv@v6
44
+ with:
45
+ version: "latest"
46
+ enable-cache: true
47
+
48
+ - name: Setup CI Environment
49
+ run: make ci-setup
50
+
51
+ - name: Build Package
52
+ run: make build-uv
53
+
54
+ - name: Publish Package
55
+ run: make ci-publish-pypi
56
+ env:
57
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
58
+
@@ -0,0 +1,160 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: write
11
+
12
+ jobs:
13
+ ci-config:
14
+ name: Read CI Config
15
+ runs-on: ubuntu-latest
16
+ outputs:
17
+ release_branch: ${{ steps.config.outputs.release_branch }}
18
+ windows_installer_enabled: ${{ steps.config.outputs.windows_installer_enabled }}
19
+ build_linux: ${{ steps.config.outputs.build_linux }}
20
+ build_macos: ${{ steps.config.outputs.build_macos }}
21
+ build_windows: ${{ steps.config.outputs.build_windows }}
22
+ release_artifacts: ${{ steps.config.outputs.release_artifacts }}
23
+ changelog_file: ${{ steps.config.outputs.changelog_file }}
24
+ release_notes_file: ${{ steps.config.outputs.release_notes_file }}
25
+
26
+ steps:
27
+ - name: Checkout
28
+ uses: actions/checkout@v4
29
+
30
+ - name: Export Config To GitHub Output
31
+ id: config
32
+ run: make ci-export-config
33
+
34
+ changelog-and-release:
35
+ name: Generate Changelog And Create Release
36
+ needs: ci-config
37
+ runs-on: ubuntu-latest
38
+
39
+ steps:
40
+ - name: Checkout
41
+ uses: actions/checkout@v4
42
+ with:
43
+ fetch-depth: 0
44
+
45
+ - name: Install uv
46
+ uses: astral-sh/setup-uv@v6
47
+ with:
48
+ version: "latest"
49
+ enable-cache: true
50
+
51
+ - name: Setup CI Environment
52
+ run: make ci-setup
53
+
54
+ - name: Install git-cliff
55
+ run: make ci-install-git-cliff
56
+
57
+ - name: Generate Changelog
58
+ run: make ci-generate-changelog
59
+
60
+ - name: Commit Changelog
61
+ run: make ci-commit-changelog
62
+
63
+ - name: Generate Release Notes
64
+ run: make ci-generate-release-notes
65
+
66
+ - name: Create Release
67
+ uses: softprops/action-gh-release@v2
68
+ with:
69
+ body_path: ${{ needs.ci-config.outputs.release_notes_file }}
70
+
71
+ build-linux:
72
+ name: Build Assets (Linux)
73
+ needs:
74
+ - ci-config
75
+ - changelog-and-release
76
+ if: needs.ci-config.outputs.build_linux == '1'
77
+ runs-on: ubuntu-latest
78
+
79
+ steps:
80
+ - name: Checkout
81
+ uses: actions/checkout@v4
82
+
83
+ - name: Install uv
84
+ uses: astral-sh/setup-uv@v6
85
+ with:
86
+ version: "latest"
87
+ enable-cache: true
88
+
89
+ - name: Setup CI Environment
90
+ run: make ci-setup
91
+
92
+ - name: Build Release Assets
93
+ run: make ci-build-release-assets
94
+
95
+ - name: Upload Artifacts
96
+ uses: softprops/action-gh-release@v2
97
+ with:
98
+ files: ${{ needs.ci-config.outputs.release_artifacts }}
99
+
100
+ build-macos:
101
+ name: Build Assets (macOS)
102
+ needs:
103
+ - ci-config
104
+ - changelog-and-release
105
+ if: needs.ci-config.outputs.build_macos == '1'
106
+ runs-on: macos-latest
107
+
108
+ steps:
109
+ - name: Checkout
110
+ uses: actions/checkout@v4
111
+
112
+ - name: Install uv
113
+ uses: astral-sh/setup-uv@v6
114
+ with:
115
+ version: "latest"
116
+ enable-cache: true
117
+
118
+ - name: Setup CI Environment
119
+ run: make ci-setup
120
+
121
+ - name: Build Release Assets
122
+ run: make ci-build-release-assets
123
+
124
+ - name: Upload Artifacts
125
+ uses: softprops/action-gh-release@v2
126
+ with:
127
+ files: ${{ needs.ci-config.outputs.release_artifacts }}
128
+
129
+ build-windows:
130
+ name: Build Assets (Windows)
131
+ needs:
132
+ - ci-config
133
+ - changelog-and-release
134
+ if: needs.ci-config.outputs.build_windows == '1'
135
+ runs-on: windows-latest
136
+
137
+ steps:
138
+ - name: Checkout
139
+ uses: actions/checkout@v4
140
+
141
+ - name: Install Make
142
+ run: choco install make
143
+
144
+ - name: Install uv
145
+ uses: astral-sh/setup-uv@v6
146
+ with:
147
+ version: "latest"
148
+ enable-cache: true
149
+
150
+ - name: Setup CI Environment
151
+ run: make ci-setup
152
+
153
+ - name: Build Release Assets
154
+ run: make ci-build-release-assets
155
+
156
+ - name: Upload Artifacts
157
+ uses: softprops/action-gh-release@v2
158
+ with:
159
+ files: ${{ needs.ci-config.outputs.release_artifacts }}
160
+
@@ -0,0 +1,168 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so may contain sensitive information.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the Python version
87
+ # is defined in the build system.
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or even
94
+ # fail to install.
95
+ #Pipfile.lock
96
+
97
+ # poetry
98
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99
+ #poetry.lock
100
+
101
+ # pdm
102
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
103
+ #pdm.lock
104
+
105
+ # PEP 582; used by e.g. github.com/pdm-project/pdm
106
+ __pypackages__/
107
+
108
+ # Celery stuff
109
+ celerybeat-schedule
110
+ celerybeat.pid
111
+
112
+ # SageMath parsed files
113
+ *.sage.py
114
+
115
+ # Environments
116
+ .env
117
+ .venv
118
+ env/
119
+ venv/
120
+ ENV/
121
+ env.bak/
122
+ venv.bak/
123
+
124
+ # Spyder project settings
125
+ .spyderproject
126
+ .spyproject
127
+
128
+ # Rope project settings
129
+ .ropeproject
130
+
131
+ # mkdocs documentation
132
+ /site
133
+
134
+ # mypy
135
+ .mypy_cache/
136
+ .dmypy.json
137
+ dmypy.json
138
+
139
+ # Pyre type checker
140
+ .pyre/
141
+
142
+ # pytype static analyzer
143
+ .pytype/
144
+
145
+ # Cython debug symbols
146
+ cython_debug/
147
+
148
+ # PyCharm
149
+ .idea/
150
+
151
+ # VS Code
152
+ .vscode/
153
+
154
+ # macOS
155
+ .DS_Store
156
+
157
+ # --- Project Specific ---
158
+
159
+ # Auth states and cookies (sensitive)
160
+ *.json
161
+ !pyproject.toml
162
+ !package.json
163
+
164
+ # Screenshots and automated test artifacts
165
+ screenshots/
166
+ temp/
167
+ logs/
168
+ .playwright/
@@ -0,0 +1 @@
1
+ 3.13