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.
- headliz-0.1.0/.github/workflows/ci.yml +36 -0
- headliz-0.1.0/.github/workflows/publish-dockerhub.yml +62 -0
- headliz-0.1.0/.github/workflows/publish-pypi.yml +58 -0
- headliz-0.1.0/.github/workflows/release.yml +160 -0
- headliz-0.1.0/.gitignore +168 -0
- headliz-0.1.0/.python-version +1 -0
- headliz-0.1.0/.run/Makefile Targets.run.xml +350 -0
- headliz-0.1.0/CHANGELOG.md +27 -0
- headliz-0.1.0/Dockerfile +43 -0
- headliz-0.1.0/Makefile +768 -0
- headliz-0.1.0/PKG-INFO +193 -0
- headliz-0.1.0/PROJECT_CONTEXT.md +21 -0
- headliz-0.1.0/README.md +176 -0
- headliz-0.1.0/docker-compose.yml +16 -0
- headliz-0.1.0/headliz/__init__.py +21 -0
- headliz-0.1.0/headliz/api.py +65 -0
- headliz-0.1.0/headliz/civitai/__init__.py +0 -0
- headliz-0.1.0/headliz/civitai/browser.py +85 -0
- headliz-0.1.0/headliz/civitai/config.py +93 -0
- headliz-0.1.0/headliz/civitai/models.py +14 -0
- headliz-0.1.0/headliz/civitai/pages/__init__.py +0 -0
- headliz-0.1.0/headliz/civitai/pages/login_page.py +147 -0
- headliz-0.1.0/headliz/civitai/pages/upload_page.py +260 -0
- headliz-0.1.0/headliz/civitai/service.py +209 -0
- headliz-0.1.0/headliz/cli.py +91 -0
- headliz-0.1.0/headliz/config.py +68 -0
- headliz-0.1.0/headliz/core.py +63 -0
- headliz-0.1.0/headliz/logger.py +55 -0
- headliz-0.1.0/headliz/pinterest/__init__.py +0 -0
- headliz-0.1.0/headliz/pinterest/browser.py +99 -0
- headliz-0.1.0/headliz/pinterest/config.py +79 -0
- headliz-0.1.0/headliz/pinterest/models.py +15 -0
- headliz-0.1.0/headliz/pinterest/pages/__init__.py +0 -0
- headliz-0.1.0/headliz/pinterest/pages/login_page.py +178 -0
- headliz-0.1.0/headliz/pinterest/pages/upload_page.py +656 -0
- headliz-0.1.0/headliz/pinterest/service.py +225 -0
- headliz-0.1.0/headliz/project.py +7 -0
- headliz-0.1.0/project.mk +215 -0
- headliz-0.1.0/pyproject.toml +30 -0
- headliz-0.1.0/test/src/test_civitai_upload.py +64 -0
- headliz-0.1.0/test/src/test_docker_api.py +55 -0
- headliz-0.1.0/test/src/test_pinterest_upload.py +62 -0
- 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
|
+
|
headliz-0.1.0/.gitignore
ADDED
|
@@ -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
|