python-gitea 0.0.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.
- python_gitea-0.0.1/.github/dependabot.yml +20 -0
- python_gitea-0.0.1/.github/workflows/CI.yml +62 -0
- python_gitea-0.0.1/.github/workflows/create_tag.yml +51 -0
- python_gitea-0.0.1/.github/workflows/documentation.yml +41 -0
- python_gitea-0.0.1/.github/workflows/draft_release.yml +50 -0
- python_gitea-0.0.1/.github/workflows/publish.yml +76 -0
- python_gitea-0.0.1/.github/workflows/publish_testpypi.yml +95 -0
- python_gitea-0.0.1/.github/workflows/release.yml +62 -0
- python_gitea-0.0.1/.gitignore +136 -0
- python_gitea-0.0.1/.ignore_words.txt +71 -0
- python_gitea-0.0.1/.markdownlint.yaml +44 -0
- python_gitea-0.0.1/.pre-commit-config.yaml +146 -0
- python_gitea-0.0.1/.pypirc +10 -0
- python_gitea-0.0.1/CITATION.cff +12 -0
- python_gitea-0.0.1/CODE_OF_CONDUCT.md +132 -0
- python_gitea-0.0.1/CONTRIBUTING.md +176 -0
- python_gitea-0.0.1/LICENSE +21 -0
- python_gitea-0.0.1/PKG-INFO +185 -0
- python_gitea-0.0.1/README.md +131 -0
- python_gitea-0.0.1/SECURITY.md +53 -0
- python_gitea-0.0.1/SUPPORT.md +34 -0
- python_gitea-0.0.1/cliff.toml +127 -0
- python_gitea-0.0.1/commitlint.config.js +30 -0
- python_gitea-0.0.1/cspell.json +30 -0
- python_gitea-0.0.1/docs/dev/troubleshooting.md +300 -0
- python_gitea-0.0.1/docs/gen_ref_pages.py +93 -0
- python_gitea-0.0.1/docs/index.md +10 -0
- python_gitea-0.0.1/docs/javascripts/mathjax.js +12 -0
- python_gitea-0.0.1/docs/style/api.css +18 -0
- python_gitea-0.0.1/docs/user_guide/installation.md +122 -0
- python_gitea-0.0.1/mkdocs.yml +112 -0
- python_gitea-0.0.1/package.json +6 -0
- python_gitea-0.0.1/pyproject.toml +193 -0
- python_gitea-0.0.1/src/gitea/__init__.py +9 -0
- python_gitea-0.0.1/src/gitea/__main__.py +8 -0
- python_gitea-0.0.1/src/gitea/cli/__init__.py +0 -0
- python_gitea-0.0.1/src/gitea/cli/main.py +89 -0
- python_gitea-0.0.1/src/gitea/client/__init__.py +8 -0
- python_gitea-0.0.1/src/gitea/client/async_gitea.py +88 -0
- python_gitea-0.0.1/src/gitea/client/base.py +40 -0
- python_gitea-0.0.1/src/gitea/client/gitea.py +68 -0
- python_gitea-0.0.1/src/gitea/utils/__init__.py +7 -0
- python_gitea-0.0.1/src/gitea/utils/log.py +69 -0
- python_gitea-0.0.1/src/gitea/version.py +13 -0
- python_gitea-0.0.1/tests/__init__.py +0 -0
- python_gitea-0.0.1/tests/client/__init__.py +0 -0
- python_gitea-0.0.1/tests/client/test_client_async_gitea.py +169 -0
- python_gitea-0.0.1/tests/client/test_client_base.py +49 -0
- python_gitea-0.0.1/tests/client/test_client_gitea.py +97 -0
- python_gitea-0.0.1/tests/conftest.py +17 -0
- python_gitea-0.0.1/tests/test_import.py +33 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: pip
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: daily
|
|
7
|
+
time: "13:00"
|
|
8
|
+
open-pull-requests-limit: 10
|
|
9
|
+
allow:
|
|
10
|
+
- dependency-type: direct
|
|
11
|
+
- dependency-type: indirect
|
|
12
|
+
commit-message:
|
|
13
|
+
prefix: "chore(deps): "
|
|
14
|
+
- package-ecosystem: "github-actions"
|
|
15
|
+
directory: "/"
|
|
16
|
+
schedule:
|
|
17
|
+
interval: daily
|
|
18
|
+
time: "13:00"
|
|
19
|
+
commit-message:
|
|
20
|
+
prefix: "chore(deps): "
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: [main]
|
|
5
|
+
pull_request:
|
|
6
|
+
branches: [main]
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
workflow_call:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
python-version: ["3.10", "3.11", "3.12"]
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v6
|
|
18
|
+
|
|
19
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
20
|
+
uses: actions/setup-python@v6
|
|
21
|
+
with:
|
|
22
|
+
python-version: ${{ matrix.python-version }}
|
|
23
|
+
|
|
24
|
+
- name: Cache pip dependencies
|
|
25
|
+
uses: actions/cache@v5
|
|
26
|
+
with:
|
|
27
|
+
path: ~/.cache/pip
|
|
28
|
+
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/pyproject.toml') }}
|
|
29
|
+
restore-keys: |
|
|
30
|
+
${{ runner.os }}-pip-${{ matrix.python-version }}-
|
|
31
|
+
${{ runner.os }}-pip-
|
|
32
|
+
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
run: |
|
|
35
|
+
python -m pip install --upgrade pip
|
|
36
|
+
pip install -e ".[dev,docs,test]"
|
|
37
|
+
|
|
38
|
+
- name: Run tests with pytest
|
|
39
|
+
run: pytest
|
|
40
|
+
|
|
41
|
+
- name: Upload coverage to Codecov
|
|
42
|
+
uses: codecov/codecov-action@v5
|
|
43
|
+
|
|
44
|
+
codeql:
|
|
45
|
+
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || (github.event_name == 'workflow_call') }}
|
|
46
|
+
name: codeql
|
|
47
|
+
runs-on: ubuntu-latest
|
|
48
|
+
permissions:
|
|
49
|
+
security-events: write
|
|
50
|
+
steps:
|
|
51
|
+
- uses: actions/checkout@v6
|
|
52
|
+
|
|
53
|
+
- name: Initialize CodeQL
|
|
54
|
+
uses: github/codeql-action/init@v4
|
|
55
|
+
with:
|
|
56
|
+
languages: python
|
|
57
|
+
|
|
58
|
+
- name: Autobuild
|
|
59
|
+
uses: github/codeql-action/autobuild@v4
|
|
60
|
+
|
|
61
|
+
- name: Perform CodeQL Analysis
|
|
62
|
+
uses: github/codeql-action/analyze@v4
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
name: Create Tag
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 0 * * 2"
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
ci:
|
|
13
|
+
uses: ./.github/workflows/CI.yml
|
|
14
|
+
permissions:
|
|
15
|
+
security-events: write
|
|
16
|
+
|
|
17
|
+
create_tag:
|
|
18
|
+
needs: ci
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
outputs:
|
|
21
|
+
new_tag: ${{ steps.tag_version.outputs.new_tag }}
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v6
|
|
24
|
+
with:
|
|
25
|
+
fetch-depth: 0
|
|
26
|
+
|
|
27
|
+
- name: Bump version and push tag
|
|
28
|
+
id: tag_version
|
|
29
|
+
uses: mathieudutour/github-tag-action@v6.2
|
|
30
|
+
with:
|
|
31
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
32
|
+
release_branches: main
|
|
33
|
+
default_bump: patch
|
|
34
|
+
tag_prefix: v
|
|
35
|
+
|
|
36
|
+
- name: Output tag information
|
|
37
|
+
run: |
|
|
38
|
+
echo "### Tag Created :rocket:" >> $GITHUB_STEP_SUMMARY
|
|
39
|
+
echo "- **New tag**: ${{ steps.tag_version.outputs.new_tag }}" >> $GITHUB_STEP_SUMMARY
|
|
40
|
+
echo "- **Previous tag**: ${{ steps.tag_version.outputs.previous_tag }}" >> $GITHUB_STEP_SUMMARY
|
|
41
|
+
echo "- **Changelog**: ${{ steps.tag_version.outputs.changelog }}" >> $GITHUB_STEP_SUMMARY
|
|
42
|
+
|
|
43
|
+
release:
|
|
44
|
+
needs: create_tag
|
|
45
|
+
if: needs.create_tag.outputs.new_tag != '' && needs.create_tag.outputs.new_tag != 'undefined'
|
|
46
|
+
uses: ./.github/workflows/release.yml
|
|
47
|
+
permissions:
|
|
48
|
+
contents: write
|
|
49
|
+
id-token: write
|
|
50
|
+
with:
|
|
51
|
+
tag_name: ${{ needs.create_tag.outputs.new_tag }}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pages: write
|
|
11
|
+
id-token: write
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: pages
|
|
15
|
+
cancel-in-progress: false
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
deploy:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
environment:
|
|
21
|
+
name: github-pages
|
|
22
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v6
|
|
25
|
+
- uses: actions/setup-python@v6
|
|
26
|
+
with:
|
|
27
|
+
python-version: 3.x
|
|
28
|
+
- uses: actions/cache@v5
|
|
29
|
+
with:
|
|
30
|
+
path: ~/.cache/pip
|
|
31
|
+
key: ${{ runner.os }}-pip-docs-${{ hashFiles('**/pyproject.toml') }}
|
|
32
|
+
restore-keys: |
|
|
33
|
+
${{ runner.os }}-pip-docs-
|
|
34
|
+
${{ runner.os }}-pip-
|
|
35
|
+
- run: pip install -e ".[docs]"
|
|
36
|
+
- run: mkdocs build --site-dir site
|
|
37
|
+
- uses: actions/upload-pages-artifact@v4
|
|
38
|
+
with:
|
|
39
|
+
path: site
|
|
40
|
+
- id: deployment
|
|
41
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Draft Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
pull-requests: read
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: draft-release
|
|
13
|
+
cancel-in-progress: true
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
draft-release:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v6
|
|
20
|
+
with:
|
|
21
|
+
fetch-depth: 0
|
|
22
|
+
|
|
23
|
+
- name: Generate changelog
|
|
24
|
+
id: changelog
|
|
25
|
+
uses: orhun/git-cliff-action@v4.7.0
|
|
26
|
+
with:
|
|
27
|
+
config: cliff.toml
|
|
28
|
+
args: --unreleased --verbose
|
|
29
|
+
env:
|
|
30
|
+
OUTPUT: CHANGELOG.md
|
|
31
|
+
|
|
32
|
+
- name: Delete existing draft release
|
|
33
|
+
continue-on-error: true
|
|
34
|
+
run: |
|
|
35
|
+
gh release delete next-release --yes
|
|
36
|
+
env:
|
|
37
|
+
GH_TOKEN: ${{ github.token }}
|
|
38
|
+
|
|
39
|
+
- name: Create or Update Draft Release
|
|
40
|
+
uses: softprops/action-gh-release@v2
|
|
41
|
+
with:
|
|
42
|
+
tag_name: next-release
|
|
43
|
+
name: "Next Release (Draft)"
|
|
44
|
+
body: |
|
|
45
|
+
${{ steps.changelog.outputs.content }}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
*This is an automatically generated draft release.*
|
|
49
|
+
draft: true
|
|
50
|
+
prerelease: false
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
tag_name:
|
|
7
|
+
description: "Tag name for the publish (e.g., v1.2.3)"
|
|
8
|
+
required: true
|
|
9
|
+
type: string
|
|
10
|
+
workflow_call:
|
|
11
|
+
inputs:
|
|
12
|
+
tag_name:
|
|
13
|
+
description: "Tag name for the publish (e.g., v1.2.3)"
|
|
14
|
+
required: true
|
|
15
|
+
type: string
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
build:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v6
|
|
22
|
+
with:
|
|
23
|
+
ref: ${{ inputs.tag_name || github.event.inputs.tag_name }}
|
|
24
|
+
fetch-depth: 0
|
|
25
|
+
|
|
26
|
+
- name: Output build information
|
|
27
|
+
run: |
|
|
28
|
+
echo "### Publishing Build :package:" >> $GITHUB_STEP_SUMMARY
|
|
29
|
+
echo "- **Version tag**: ${{ inputs.tag_name || github.event.inputs.tag_name }}" >> $GITHUB_STEP_SUMMARY
|
|
30
|
+
|
|
31
|
+
- name: Set up Python
|
|
32
|
+
uses: actions/setup-python@v6
|
|
33
|
+
with:
|
|
34
|
+
python-version: "3.10"
|
|
35
|
+
|
|
36
|
+
- name: Cache pip dependencies
|
|
37
|
+
uses: actions/cache@v5
|
|
38
|
+
with:
|
|
39
|
+
path: ~/.cache/pip
|
|
40
|
+
key: ${{ runner.os }}-pip-3.10-${{ hashFiles('**/pyproject.toml') }}
|
|
41
|
+
restore-keys: |
|
|
42
|
+
${{ runner.os }}-pip-3.10-
|
|
43
|
+
${{ runner.os }}-pip-
|
|
44
|
+
|
|
45
|
+
- name: Install build dependencies
|
|
46
|
+
run: |
|
|
47
|
+
python -m pip install --upgrade pip
|
|
48
|
+
pip install build
|
|
49
|
+
|
|
50
|
+
- name: Build distribution
|
|
51
|
+
run: python -m build
|
|
52
|
+
|
|
53
|
+
- name: Upload build artifacts
|
|
54
|
+
uses: actions/upload-artifact@v6
|
|
55
|
+
with:
|
|
56
|
+
name: python-package-distributions
|
|
57
|
+
path: dist/
|
|
58
|
+
|
|
59
|
+
publish-to-pypi:
|
|
60
|
+
needs: build
|
|
61
|
+
runs-on: ubuntu-latest
|
|
62
|
+
environment: pypi
|
|
63
|
+
permissions:
|
|
64
|
+
id-token: write
|
|
65
|
+
|
|
66
|
+
steps:
|
|
67
|
+
- name: Download build artifacts
|
|
68
|
+
uses: actions/download-artifact@v7
|
|
69
|
+
with:
|
|
70
|
+
name: python-package-distributions
|
|
71
|
+
path: dist/
|
|
72
|
+
|
|
73
|
+
- name: Publish to PyPI
|
|
74
|
+
uses: pypa/gh-action-pypi-publish@v1.13.0
|
|
75
|
+
with:
|
|
76
|
+
packages-dir: dist/
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
name: Publish to TestPyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
tag_name:
|
|
10
|
+
description: "Tag name for the publish (e.g., v1.2.3)"
|
|
11
|
+
required: false
|
|
12
|
+
type: string
|
|
13
|
+
workflow_call:
|
|
14
|
+
inputs:
|
|
15
|
+
tag_name:
|
|
16
|
+
description: "Tag name for the publish (e.g., v1.2.3)"
|
|
17
|
+
required: false
|
|
18
|
+
type: string
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
build:
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v6
|
|
25
|
+
with:
|
|
26
|
+
ref: ${{ inputs.tag_name || github.sha }}
|
|
27
|
+
fetch-depth: 0
|
|
28
|
+
|
|
29
|
+
- name: Output build information
|
|
30
|
+
run: |
|
|
31
|
+
echo "### Publishing Build :package:" >> $GITHUB_STEP_SUMMARY
|
|
32
|
+
echo "- **Version tag**: ${{ inputs.tag_name || github.sha }}" >> $GITHUB_STEP_SUMMARY
|
|
33
|
+
|
|
34
|
+
- name: Set up Python
|
|
35
|
+
uses: actions/setup-python@v6
|
|
36
|
+
with:
|
|
37
|
+
python-version: "3.10"
|
|
38
|
+
|
|
39
|
+
- name: Cache pip dependencies
|
|
40
|
+
uses: actions/cache@v5
|
|
41
|
+
with:
|
|
42
|
+
path: ~/.cache/pip
|
|
43
|
+
key: ${{ runner.os }}-pip-3.10-${{ hashFiles('**/pyproject.toml') }}
|
|
44
|
+
restore-keys: |
|
|
45
|
+
${{ runner.os }}-pip-3.10-
|
|
46
|
+
${{ runner.os }}-pip-
|
|
47
|
+
|
|
48
|
+
- name: Install build dependencies
|
|
49
|
+
run: |
|
|
50
|
+
python -m pip install --upgrade pip
|
|
51
|
+
pip install build hatch
|
|
52
|
+
|
|
53
|
+
- name: Set version for publishing
|
|
54
|
+
run: |
|
|
55
|
+
if [ -n "${{ inputs.tag_name }}" ]; then
|
|
56
|
+
# Use the tag, stripping 'v' prefix if present
|
|
57
|
+
VERSION=$(echo "${{ inputs.tag_name }}" | sed 's/^v//')
|
|
58
|
+
else
|
|
59
|
+
# For untagged builds, use a dev version without local part
|
|
60
|
+
# Get the dev version from hatch-vcs, then strip +local
|
|
61
|
+
VERSION=$(hatch version | sed 's/+.*//')
|
|
62
|
+
fi
|
|
63
|
+
|
|
64
|
+
# Update pyproject.toml with sed
|
|
65
|
+
sed -i "s/dynamic = \[\"version\"\]/version = \"$VERSION\"\ndynamic = []/" pyproject.toml
|
|
66
|
+
|
|
67
|
+
- name: Build distribution
|
|
68
|
+
run: python -m build
|
|
69
|
+
|
|
70
|
+
- name: Upload build artifacts
|
|
71
|
+
uses: actions/upload-artifact@v6
|
|
72
|
+
with:
|
|
73
|
+
name: python-package-distributions
|
|
74
|
+
path: dist/
|
|
75
|
+
|
|
76
|
+
publish-to-testpypi:
|
|
77
|
+
needs: build
|
|
78
|
+
runs-on: ubuntu-latest
|
|
79
|
+
environment: testpypi
|
|
80
|
+
permissions:
|
|
81
|
+
id-token: write
|
|
82
|
+
|
|
83
|
+
steps:
|
|
84
|
+
- name: Download build artifacts
|
|
85
|
+
uses: actions/download-artifact@v7
|
|
86
|
+
with:
|
|
87
|
+
name: python-package-distributions
|
|
88
|
+
path: dist/
|
|
89
|
+
|
|
90
|
+
- name: Publish to TestPyPI
|
|
91
|
+
uses: pypa/gh-action-pypi-publish@v1.13.0
|
|
92
|
+
with:
|
|
93
|
+
repository-url: https://test.pypi.org/legacy/
|
|
94
|
+
packages-dir: dist/
|
|
95
|
+
verbose: true
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
tag_name:
|
|
7
|
+
description: "Tag name for the release (e.g., v1.2.3)"
|
|
8
|
+
required: true
|
|
9
|
+
type: string
|
|
10
|
+
workflow_call:
|
|
11
|
+
inputs:
|
|
12
|
+
tag_name:
|
|
13
|
+
description: "Tag name for the release (e.g., v1.2.3)"
|
|
14
|
+
required: true
|
|
15
|
+
type: string
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: write
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
release:
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
permissions:
|
|
24
|
+
contents: write
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v6
|
|
27
|
+
with:
|
|
28
|
+
fetch-depth: 0
|
|
29
|
+
ref: ${{ inputs.tag_name || github.event.inputs.tag_name }}
|
|
30
|
+
|
|
31
|
+
- name: Generate changelog
|
|
32
|
+
id: changelog
|
|
33
|
+
uses: orhun/git-cliff-action@v4.7.0
|
|
34
|
+
with:
|
|
35
|
+
config: cliff.toml
|
|
36
|
+
args: --current --verbose
|
|
37
|
+
env:
|
|
38
|
+
OUTPUT: CHANGELOG.md
|
|
39
|
+
|
|
40
|
+
- name: Delete draft release
|
|
41
|
+
continue-on-error: true
|
|
42
|
+
run: |
|
|
43
|
+
gh release delete next-release --yes
|
|
44
|
+
env:
|
|
45
|
+
GH_TOKEN: ${{ github.token }}
|
|
46
|
+
|
|
47
|
+
- name: Create Release
|
|
48
|
+
uses: softprops/action-gh-release@v2
|
|
49
|
+
with:
|
|
50
|
+
tag_name: ${{ inputs.tag_name || github.event.inputs.tag_name }}
|
|
51
|
+
body: ${{ steps.changelog.outputs.content }}
|
|
52
|
+
draft: false
|
|
53
|
+
prerelease: ${{ contains(inputs.tag_name || github.event.inputs.tag_name, 'alpha') || contains(inputs.tag_name || github.event.inputs.tag_name, 'beta') }}
|
|
54
|
+
|
|
55
|
+
publish:
|
|
56
|
+
needs: release
|
|
57
|
+
uses: ./.github/workflows/publish.yml
|
|
58
|
+
permissions:
|
|
59
|
+
contents: write
|
|
60
|
+
id-token: write
|
|
61
|
+
with:
|
|
62
|
+
tag_name: ${{ inputs.tag_name || github.event.inputs.tag_name }}
|
|
@@ -0,0 +1,136 @@
|
|
|
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
|
+
pip-wheel-metadata/
|
|
24
|
+
share/python-wheels/
|
|
25
|
+
*.egg-info/
|
|
26
|
+
.installed.cfg
|
|
27
|
+
*.egg
|
|
28
|
+
MANIFEST
|
|
29
|
+
|
|
30
|
+
# PyInstaller
|
|
31
|
+
# Usually these files are written by a python script from a template
|
|
32
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
33
|
+
*.manifest
|
|
34
|
+
*.spec
|
|
35
|
+
|
|
36
|
+
# Installer logs
|
|
37
|
+
pip-log.txt
|
|
38
|
+
pip-delete-this-directory.txt
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.nox/
|
|
44
|
+
.coverage
|
|
45
|
+
.coverage.*
|
|
46
|
+
.cache
|
|
47
|
+
nosetests.xml
|
|
48
|
+
coverage.xml
|
|
49
|
+
*.cover
|
|
50
|
+
*.py,cover
|
|
51
|
+
.hypothesis/
|
|
52
|
+
.pytest_cache/
|
|
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
|
+
target/
|
|
76
|
+
|
|
77
|
+
# Jupyter Notebook
|
|
78
|
+
.ipynb_checkpoints
|
|
79
|
+
|
|
80
|
+
# IPython
|
|
81
|
+
profile_default/
|
|
82
|
+
ipython_config.py
|
|
83
|
+
|
|
84
|
+
# pyenv
|
|
85
|
+
.python-version
|
|
86
|
+
|
|
87
|
+
# pipenv
|
|
88
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
89
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
90
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
91
|
+
# install all needed dependencies.
|
|
92
|
+
#Pipfile.lock
|
|
93
|
+
|
|
94
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
95
|
+
__pypackages__/
|
|
96
|
+
|
|
97
|
+
# Celery stuff
|
|
98
|
+
celerybeat-schedule
|
|
99
|
+
celerybeat.pid
|
|
100
|
+
|
|
101
|
+
# SageMath parsed files
|
|
102
|
+
*.sage.py
|
|
103
|
+
|
|
104
|
+
# Environments
|
|
105
|
+
.env
|
|
106
|
+
.venv
|
|
107
|
+
env/
|
|
108
|
+
venv/
|
|
109
|
+
ENV/
|
|
110
|
+
env.bak/
|
|
111
|
+
venv.bak/
|
|
112
|
+
|
|
113
|
+
# Spyder project settings
|
|
114
|
+
.spyderproject
|
|
115
|
+
.spyproject
|
|
116
|
+
|
|
117
|
+
# Rope project settings
|
|
118
|
+
.ropeproject
|
|
119
|
+
|
|
120
|
+
# mkdocs documentation
|
|
121
|
+
/site
|
|
122
|
+
|
|
123
|
+
# mypy
|
|
124
|
+
.mypy_cache/
|
|
125
|
+
.dmypy.json
|
|
126
|
+
dmypy.json
|
|
127
|
+
|
|
128
|
+
# Pyre type checker
|
|
129
|
+
.pyre/
|
|
130
|
+
|
|
131
|
+
# Mac metadata files
|
|
132
|
+
.DS_Store
|
|
133
|
+
|
|
134
|
+
# Node.js
|
|
135
|
+
node_modules/
|
|
136
|
+
package-lock.json
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
abstractproperty
|
|
2
|
+
addinivalue
|
|
3
|
+
addopts
|
|
4
|
+
analyse
|
|
5
|
+
asdict
|
|
6
|
+
autoupdate
|
|
7
|
+
buildapi
|
|
8
|
+
Cabe
|
|
9
|
+
capsys
|
|
10
|
+
cff
|
|
11
|
+
ciso
|
|
12
|
+
classmethod
|
|
13
|
+
codespell
|
|
14
|
+
commitlint
|
|
15
|
+
conftest
|
|
16
|
+
contextlib
|
|
17
|
+
contextmanager
|
|
18
|
+
coveragerc
|
|
19
|
+
dbutils
|
|
20
|
+
docstrings
|
|
21
|
+
DOI
|
|
22
|
+
EDITMSG
|
|
23
|
+
endfor
|
|
24
|
+
envlist
|
|
25
|
+
envpython
|
|
26
|
+
getrecursionlimit
|
|
27
|
+
gitea
|
|
28
|
+
glightbox
|
|
29
|
+
hotfixes
|
|
30
|
+
htmlcov
|
|
31
|
+
inlinevar
|
|
32
|
+
isort
|
|
33
|
+
mathjax
|
|
34
|
+
metaclass
|
|
35
|
+
mkdocstrings
|
|
36
|
+
noqa
|
|
37
|
+
nssm
|
|
38
|
+
numpy
|
|
39
|
+
octocat
|
|
40
|
+
oneline
|
|
41
|
+
optparse
|
|
42
|
+
overgeneral
|
|
43
|
+
posargs
|
|
44
|
+
postprocessors
|
|
45
|
+
pycache
|
|
46
|
+
pycodestyle
|
|
47
|
+
pydantic
|
|
48
|
+
pylint
|
|
49
|
+
pyodbc
|
|
50
|
+
PYPI
|
|
51
|
+
pyproject
|
|
52
|
+
pyproject.toml
|
|
53
|
+
pyright
|
|
54
|
+
pyspark
|
|
55
|
+
pytest
|
|
56
|
+
pythonpath
|
|
57
|
+
pyupgrade
|
|
58
|
+
pywin
|
|
59
|
+
rcfile
|
|
60
|
+
scipy
|
|
61
|
+
scriptable
|
|
62
|
+
setrecursionlimit
|
|
63
|
+
shellcheck
|
|
64
|
+
softprops
|
|
65
|
+
subpackages
|
|
66
|
+
Tera
|
|
67
|
+
testpaths
|
|
68
|
+
testpypi
|
|
69
|
+
tkinter
|
|
70
|
+
venv
|
|
71
|
+
xunit
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Enable line length check, set to 80 for readability
|
|
3
|
+
MD013:
|
|
4
|
+
line_length: 120
|
|
5
|
+
# Allow headings to exceed line length
|
|
6
|
+
heading: false
|
|
7
|
+
# Allow code blocks to exceed line length
|
|
8
|
+
code_blocks: false
|
|
9
|
+
|
|
10
|
+
# Require ATX-style headings (# instead of = or -)
|
|
11
|
+
MD003:
|
|
12
|
+
style: atx
|
|
13
|
+
|
|
14
|
+
# Enforce consistent list indentation
|
|
15
|
+
MD007:
|
|
16
|
+
indent: 2
|
|
17
|
+
|
|
18
|
+
# Allow multiple consecutive blank lines for flexibility
|
|
19
|
+
MD012: false
|
|
20
|
+
|
|
21
|
+
# Enforce trailing punctuation in headings for consistency
|
|
22
|
+
MD026:
|
|
23
|
+
punctuation: ".,;:!?"
|
|
24
|
+
|
|
25
|
+
# Allow inline HTML for flexibility in Markdown rendering
|
|
26
|
+
MD033: false
|
|
27
|
+
|
|
28
|
+
# Disable first-line heading requirement
|
|
29
|
+
# to allow flexibility in document structure
|
|
30
|
+
MD041: false
|
|
31
|
+
|
|
32
|
+
# Enforce consistent quote style
|
|
33
|
+
MD014:
|
|
34
|
+
style: double
|
|
35
|
+
|
|
36
|
+
# Disable no-space-in-emphasis to allow flexibility in emphasis formatting
|
|
37
|
+
MD036: false
|
|
38
|
+
|
|
39
|
+
# Enforce proper list marker style (e.g., - or *)
|
|
40
|
+
MD032:
|
|
41
|
+
style: dash
|
|
42
|
+
|
|
43
|
+
MD046:
|
|
44
|
+
style: fenced
|