Skip to content

Commit e5b0568

Browse files
committed
(feat) Implemented and tested
0 parents  commit e5b0568

File tree

17 files changed

+961
-0
lines changed

17 files changed

+961
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Bug Report
2+
description: Report an issue or unexpected behavior in the project.
3+
title: "[Bug]: "
4+
labels: [ "bug" ]
5+
body:
6+
- type: checkboxes
7+
id: terms
8+
attributes:
9+
label: Before submitting this issue, I confirm that...
10+
description: Please ensure you have reviewed the following before submitting the issue.
11+
options:
12+
- label: I have searched the existing issues for duplicates.
13+
required: true
14+
- label: I have read the documentation to confirm this is not expected behavior.
15+
required: true
16+
17+
- type: textarea
18+
id: what-happened
19+
attributes:
20+
label: What happened?
21+
description: Describe the unexpected behavior. What did you expect to happen instead? Are there any screenshots?
22+
validations:
23+
required: true
24+
25+
- type: textarea
26+
id: logs
27+
attributes:
28+
label: Relevant log output
29+
description: Copy and paste any relevant log output here. It will automatically be formatted as code.
30+
render: shell
31+
32+
- type: textarea
33+
id: versions
34+
attributes:
35+
label: Versions
36+
description: >
37+
Provide details about the environment, including:
38+
- The application version (e.g., `labtasker --version`).
39+
- Where did you install the application? (Github main? PyPI?)
40+
- The client operating system version.
41+
- The Python version.
42+
- The python requirements.txt or lock files (if applicable).
43+
- The server operating system version, Docker setups (if applicable).
44+
validations:
45+
required: true
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Feature Request
2+
description: Suggest a new feature or improvement for the project.
3+
title: "[Feature]: "
4+
labels: [ "enhancement" ]
5+
body:
6+
- type: textarea
7+
id: feature-description
8+
attributes:
9+
label: Describe the feature you'd like
10+
description: Please provide a clear description of the feature or improvement.
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: rationale
16+
attributes:
17+
label: Rationale
18+
description: Why would this feature be useful or beneficial? What are the typical use cases?
19+
20+
- type: textarea
21+
id: alternatives
22+
attributes:
23+
label: Alternatives
24+
description: Are there alternative tools or workarounds you have considered?
25+
26+
- type: textarea
27+
id: additional-context
28+
attributes:
29+
label: Additional context
30+
description: Add any other context, advice on implementation, or demo?

.github/dependabot.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
version: 2
2+
updates:
3+
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "daily"
8+
commit-message:
9+
prefix: "(deps)"
10+
11+
- package-ecosystem: "pip"
12+
directory: "/"
13+
schedule:
14+
interval: "daily"
15+
commit-message:
16+
prefix: "(deps)"
17+
versioning-strategy: increase-if-necessary
18+
groups:
19+
updates:
20+
patterns:
21+
- "*"

.github/workflows/release.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: release to PyPI
2+
3+
on:
4+
release:
5+
types: [ published ]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
release-build:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: actions/setup-python@v5
19+
with:
20+
python-version: "3.13"
21+
22+
- name: Check if version match
23+
if: ${{ github.ref_type == 'tag' }}
24+
env:
25+
GIT_TAG: ${{ github.ref_name }}
26+
run: |
27+
python -m pip install --upgrade pip
28+
pip install "."
29+
python scripts/check_version.py --tag ${GIT_TAG}
30+
31+
- name: Build release distributions
32+
run: |
33+
python -m pip install build
34+
python -m build
35+
36+
- name: Upload distributions
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: release-dists
40+
path: dist/
41+
42+
pypi-publish:
43+
name: upload release to PyPI
44+
runs-on: ubuntu-latest
45+
needs:
46+
- release-build
47+
environment: pypi
48+
permissions:
49+
# IMPORTANT: this permission is mandatory for Trusted Publishing
50+
id-token: write
51+
steps:
52+
- name: Retrieve release distributions
53+
uses: actions/download-artifact@v4
54+
with:
55+
name: release-dists
56+
path: dist/
57+
58+
- name: Publish package distributions to PyPI
59+
uses: pypa/gh-action-pypi-publish@release/v1

.gitignore

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
# Created by https://www.toptal.com/developers/gitignore/api/python
2+
# Edit at https://www.toptal.com/developers/gitignore?templates=python
3+
4+
# Antlr intermediate files
5+
**/*.interp
6+
**/*.tokens
7+
8+
**/.labtasker
9+
10+
tmp/
11+
12+
.idea/
13+
14+
### Python ###
15+
# Byte-compiled / optimized / DLL files
16+
__pycache__/
17+
*.py[cod]
18+
*$py.class
19+
20+
# C extensions
21+
*.so
22+
23+
# Distribution / packaging
24+
.Python
25+
build/
26+
develop-eggs/
27+
dist/
28+
downloads/
29+
eggs/
30+
.eggs/
31+
lib/
32+
lib64/
33+
parts/
34+
sdist/
35+
var/
36+
wheels/
37+
share/python-wheels/
38+
*.egg-info/
39+
.installed.cfg
40+
*.egg
41+
MANIFEST
42+
43+
# PyInstaller
44+
# Usually these files are written by a python script from a template
45+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
46+
*.manifest
47+
*.spec
48+
49+
# Installer logs
50+
pip-log.txt
51+
pip-delete-this-directory.txt
52+
53+
# Unit test / coverage reports
54+
htmlcov/
55+
.tox/
56+
.nox/
57+
.coverage
58+
.coverage.*
59+
.cache
60+
nosetests.xml
61+
coverage.xml
62+
*.cover
63+
*.py,cover
64+
.hypothesis/
65+
.pytest_cache/
66+
cover/
67+
68+
# Translations
69+
*.mo
70+
*.pot
71+
72+
# Django stuff:
73+
*.log
74+
local_settings.py
75+
db.sqlite3
76+
db.sqlite3-journal
77+
78+
# Flask stuff:
79+
instance/
80+
.webassets-cache
81+
82+
# Scrapy stuff:
83+
.scrapy
84+
85+
# Sphinx documentation
86+
docs/_build/
87+
88+
# PyBuilder
89+
.pybuilder/
90+
target/
91+
92+
# Jupyter Notebook
93+
.ipynb_checkpoints
94+
95+
# IPython
96+
profile_default/
97+
ipython_config.py
98+
99+
# pyenv
100+
# For a library or package, you might want to ignore these files since the code is
101+
# intended to run in multiple environments; otherwise, check them in:
102+
# .python-version
103+
104+
# pipenv
105+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
106+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
107+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
108+
# install all needed dependencies.
109+
#Pipfile.lock
110+
111+
# poetry
112+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
113+
# This is especially recommended for binary packages to ensure reproducibility, and is more
114+
# commonly ignored for libraries.
115+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
116+
#poetry.lock
117+
118+
# pdm
119+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
120+
#pdm.lock
121+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
122+
# in version control.
123+
# https://pdm.fming.dev/#use-with-ide
124+
.pdm.toml
125+
126+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
127+
__pypackages__/
128+
129+
# Celery stuff
130+
celerybeat-schedule
131+
celerybeat.pid
132+
133+
# SageMath parsed files
134+
*.sage.py
135+
136+
# Environments
137+
*.env
138+
.env
139+
.venv
140+
env/
141+
venv/
142+
ENV/
143+
env.bak/
144+
venv.bak/
145+
146+
# Spyder project settings
147+
.spyderproject
148+
.spyproject
149+
150+
# Rope project settings
151+
.ropeproject
152+
153+
# mkdocs documentation
154+
/site
155+
156+
# mypy
157+
.mypy_cache/
158+
.dmypy.json
159+
dmypy.json
160+
161+
# Pyre type checker
162+
.pyre/
163+
164+
# pytype static type analyzer
165+
.pytype/
166+
167+
# Cython debug symbols
168+
cython_debug/
169+
170+
# PyCharm
171+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
172+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
173+
# and can be added to the global gitignore or merged into this file. For a more nuclear
174+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
175+
#.idea/
176+
177+
### Python Patch ###
178+
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
179+
poetry.toml
180+
181+
# ruff
182+
.ruff_cache/
183+
184+
# LSP config files
185+
pyrightconfig.json
186+
187+
# End of https://www.toptal.com/developers/gitignore/api/python
188+
.DS_Store

.pre-commit-config.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
repos:
2+
- repo: https://github.com/pre-commit/pre-commit-hooks
3+
rev: v5.0.0
4+
hooks:
5+
- id: trailing-whitespace
6+
- id: end-of-file-fixer
7+
- id: check-yaml
8+
- id: check-added-large-files
9+
exclude: ^docs/docs/assets/
10+
- id: mixed-line-ending
11+
args: [--fix=lf]
12+
13+
- repo: https://github.com/psf/black
14+
rev: 24.8.0
15+
hooks:
16+
- id: black
17+
18+
- repo: https://github.com/pycqa/isort
19+
rev: 5.13.2
20+
hooks:
21+
- id: isort

0 commit comments

Comments
 (0)