binned-cdf 0.2.3__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.
- binned_cdf-0.2.3/.github/ISSUE_TEMPLATE/bug.yml +61 -0
- binned_cdf-0.2.3/.github/ISSUE_TEMPLATE/config.yml +1 -0
- binned_cdf-0.2.3/.github/ISSUE_TEMPLATE/generic.yml +46 -0
- binned_cdf-0.2.3/.github/actions/configure-git/action.yaml +10 -0
- binned_cdf-0.2.3/.github/actions/lint-test/action.yaml +14 -0
- binned_cdf-0.2.3/.github/actions/publish-docs/action.yaml +32 -0
- binned_cdf-0.2.3/.github/codeowners +1 -0
- binned_cdf-0.2.3/.github/dependabot.yml +6 -0
- binned_cdf-0.2.3/.github/labeler.yml +27 -0
- binned_cdf-0.2.3/.github/labels.yml +47 -0
- binned_cdf-0.2.3/.github/pull_request_template.md +8 -0
- binned_cdf-0.2.3/.github/workflows/cd.yaml +104 -0
- binned_cdf-0.2.3/.github/workflows/check-issue.yaml +69 -0
- binned_cdf-0.2.3/.github/workflows/check-pr.yaml +44 -0
- binned_cdf-0.2.3/.github/workflows/ci.yaml +80 -0
- binned_cdf-0.2.3/.github/workflows/remove-temporary-docs.yaml +36 -0
- binned_cdf-0.2.3/.github/workflows/sync-labels.yaml +28 -0
- binned_cdf-0.2.3/.gitignore +43 -0
- binned_cdf-0.2.3/.pre-commit-config.yaml +37 -0
- binned_cdf-0.2.3/.python-version +1 -0
- binned_cdf-0.2.3/PKG-INFO +96 -0
- binned_cdf-0.2.3/binned_cdf/__init__.py +3 -0
- binned_cdf-0.2.3/binned_cdf/binned_logit_cdf.py +397 -0
- binned_cdf-0.2.3/docs/.gitignore +1 -0
- binned_cdf-0.2.3/docs/changelog.md +3 -0
- binned_cdf-0.2.3/docs/development/getting_started.md +132 -0
- binned_cdf-0.2.3/docs/development/installation.md +81 -0
- binned_cdf-0.2.3/docs/glossary.md +9 -0
- binned_cdf-0.2.3/docs/index.md +3 -0
- binned_cdf-0.2.3/docs/installation.md +22 -0
- binned_cdf-0.2.3/docs/js/mathjax.js +16 -0
- binned_cdf-0.2.3/docs/js/tablesort.js +6 -0
- binned_cdf-0.2.3/docs/licenses.md +18 -0
- binned_cdf-0.2.3/docs/macros.py +119 -0
- binned_cdf-0.2.3/docs/reference.md +4 -0
- binned_cdf-0.2.3/docs/stylesheets/extra.css +32 -0
- binned_cdf-0.2.3/examples/2D_density_estmation.py +112 -0
- binned_cdf-0.2.3/license.md +3 -0
- binned_cdf-0.2.3/mkdocs.yml +136 -0
- binned_cdf-0.2.3/pyproject.toml +164 -0
- binned_cdf-0.2.3/readme.md +74 -0
- binned_cdf-0.2.3/tests/conftest.py +10 -0
- binned_cdf-0.2.3/tests/test_binned_logit_cdf.py +757 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
description: Submit a bug report.
|
|
2
|
+
labels: ["type: bug"]
|
|
3
|
+
name: Bug Report
|
|
4
|
+
|
|
5
|
+
body:
|
|
6
|
+
- attributes:
|
|
7
|
+
value: |
|
|
8
|
+
## Bug Report
|
|
9
|
+
|
|
10
|
+
Thank zou for taking the time to prepare and submit this bug report!
|
|
11
|
+
type: markdown
|
|
12
|
+
|
|
13
|
+
- attributes:
|
|
14
|
+
label: Basics
|
|
15
|
+
description: Please check all boxes below.
|
|
16
|
+
options:
|
|
17
|
+
- label: I could not find any existing issues for my bug
|
|
18
|
+
required: true
|
|
19
|
+
- label: >
|
|
20
|
+
I have selected at least one `area:` label
|
|
21
|
+
required: true
|
|
22
|
+
type: checkboxes
|
|
23
|
+
|
|
24
|
+
- attributes:
|
|
25
|
+
label: Command?
|
|
26
|
+
description: What's the command you tried to run? It will be automatically rendered as code.
|
|
27
|
+
render: shell
|
|
28
|
+
type: textarea
|
|
29
|
+
validations:
|
|
30
|
+
required: true
|
|
31
|
+
|
|
32
|
+
- attributes:
|
|
33
|
+
label: Expected Behavior?
|
|
34
|
+
description: What's the expected behavior of that command?
|
|
35
|
+
type: textarea
|
|
36
|
+
validations:
|
|
37
|
+
required: true
|
|
38
|
+
|
|
39
|
+
- attributes:
|
|
40
|
+
label: Actual Behavior?
|
|
41
|
+
description: What's the actual behavior of that command?
|
|
42
|
+
type: textarea
|
|
43
|
+
validations:
|
|
44
|
+
required: true
|
|
45
|
+
|
|
46
|
+
- attributes:
|
|
47
|
+
label: Logs?
|
|
48
|
+
description: Paste the logs here. Those will be automatically rendered as code.
|
|
49
|
+
render: shell
|
|
50
|
+
id: logs
|
|
51
|
+
type: textarea
|
|
52
|
+
validations:
|
|
53
|
+
required: true
|
|
54
|
+
|
|
55
|
+
- attributes:
|
|
56
|
+
label: Additional Information?
|
|
57
|
+
description: Is there any additional information that did not fit the points above?
|
|
58
|
+
placeholder: |
|
|
59
|
+
- Related issues or PRs
|
|
60
|
+
- Screenshots
|
|
61
|
+
type: textarea
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
description: Submit a generic issue.
|
|
2
|
+
name: Generic Issue
|
|
3
|
+
|
|
4
|
+
body:
|
|
5
|
+
- attributes:
|
|
6
|
+
value: |
|
|
7
|
+
## Issue
|
|
8
|
+
|
|
9
|
+
Thank you for taking the time to prepare and submit this issue!
|
|
10
|
+
type: markdown
|
|
11
|
+
|
|
12
|
+
- attributes:
|
|
13
|
+
label: Basics
|
|
14
|
+
description: Please check all boxes below.
|
|
15
|
+
options:
|
|
16
|
+
- label: I could not find any existing issues for what I'm reporting
|
|
17
|
+
required: true
|
|
18
|
+
- label: >
|
|
19
|
+
I have selected at least one `area:` label
|
|
20
|
+
required: true
|
|
21
|
+
- label: >
|
|
22
|
+
I have selected at least one `type:` label
|
|
23
|
+
required: true
|
|
24
|
+
type: checkboxes
|
|
25
|
+
|
|
26
|
+
- attributes:
|
|
27
|
+
label: Description?
|
|
28
|
+
description: Provide a high-level description of your issue.
|
|
29
|
+
type: textarea
|
|
30
|
+
validations:
|
|
31
|
+
required: true
|
|
32
|
+
|
|
33
|
+
- attributes:
|
|
34
|
+
label: Solution?
|
|
35
|
+
description: Describe on a high-level how you would solve this issue.
|
|
36
|
+
type: textarea
|
|
37
|
+
validations:
|
|
38
|
+
required: true
|
|
39
|
+
|
|
40
|
+
- attributes:
|
|
41
|
+
label: Additional Information?
|
|
42
|
+
description: Is there any additional information that did not fit the points above?
|
|
43
|
+
placeholder: |
|
|
44
|
+
- Related issues or PRs
|
|
45
|
+
- Screenshots
|
|
46
|
+
type: textarea
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
name: "Configure Git"
|
|
2
|
+
description: "Configure Git user name and email for GitHub Actions."
|
|
3
|
+
runs:
|
|
4
|
+
using: "composite"
|
|
5
|
+
steps:
|
|
6
|
+
- name: Configure Git
|
|
7
|
+
run: |
|
|
8
|
+
git config user.name "github-actions[bot]"
|
|
9
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
10
|
+
shell: bash
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: "Lint and Test"
|
|
2
|
+
description: "Run the pre-commit checks and pytest."
|
|
3
|
+
runs:
|
|
4
|
+
using: "composite"
|
|
5
|
+
steps:
|
|
6
|
+
- name: Install & run pre-commit hooks
|
|
7
|
+
env:
|
|
8
|
+
SKIP: no-commit-to-branch
|
|
9
|
+
run: uv run --only-dev pre-commit run --all-files --show-diff-on-failure --verbose
|
|
10
|
+
shell: sh
|
|
11
|
+
|
|
12
|
+
- name: Run tests
|
|
13
|
+
run: uv run --dev pytest -m "not visual and not needs_cuda" --cov
|
|
14
|
+
shell: sh
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: "Publish Docs"
|
|
2
|
+
description: "Build and publish the documentation."
|
|
3
|
+
inputs:
|
|
4
|
+
version:
|
|
5
|
+
description: "docs version"
|
|
6
|
+
required: true
|
|
7
|
+
default: ""
|
|
8
|
+
alias:
|
|
9
|
+
description: "version alias"
|
|
10
|
+
required: true
|
|
11
|
+
default: "latest"
|
|
12
|
+
runs:
|
|
13
|
+
using: "composite"
|
|
14
|
+
steps:
|
|
15
|
+
- name: Determine version
|
|
16
|
+
run: |
|
|
17
|
+
if [ "${{ inputs.version }}" != "" ]; then
|
|
18
|
+
VERSION=${{ inputs.version }}
|
|
19
|
+
else
|
|
20
|
+
VERSION=$(uv run --no-dev python -c "from importlib.metadata import version; print(version('binned-cdf'))")
|
|
21
|
+
fi
|
|
22
|
+
echo "DOCS_VERSION=$(echo ${VERSION} | cut --delimiter="." --fields=1,2)" >> $GITHUB_ENV
|
|
23
|
+
shell: bash
|
|
24
|
+
|
|
25
|
+
- name: Configure Git
|
|
26
|
+
uses: ./.github/actions/configure-git
|
|
27
|
+
|
|
28
|
+
- name: Build & publish docs
|
|
29
|
+
run: |
|
|
30
|
+
git fetch origin gh-pages:gh-pages
|
|
31
|
+
uv run --only-dev mike deploy --push --update-aliases ${{ env.DOCS_VERSION }} ${{ inputs.alias }}
|
|
32
|
+
shell: sh
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @famura
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"area: docs":
|
|
2
|
+
- changed-files:
|
|
3
|
+
- any-glob-to-any-file:
|
|
4
|
+
- docs/**
|
|
5
|
+
- mkdocs.yml
|
|
6
|
+
- readme.md
|
|
7
|
+
|
|
8
|
+
"area: project":
|
|
9
|
+
- changed-files:
|
|
10
|
+
- any-glob-to-any-file:
|
|
11
|
+
- .github/**
|
|
12
|
+
- .pre-commit-config.yaml
|
|
13
|
+
- .python-version
|
|
14
|
+
- .vscode/**
|
|
15
|
+
- license.md
|
|
16
|
+
- pyproject.toml
|
|
17
|
+
- uv.lock
|
|
18
|
+
|
|
19
|
+
"area: source":
|
|
20
|
+
- changed-files:
|
|
21
|
+
- any-glob-to-any-file:
|
|
22
|
+
- "binned_cdf/**"
|
|
23
|
+
|
|
24
|
+
"area: cli":
|
|
25
|
+
- changed-files:
|
|
26
|
+
- any-glob-to-any-file:
|
|
27
|
+
- binned_cdf/cli/**
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
- name: "area: cli"
|
|
2
|
+
color: "#c4ff4d"
|
|
3
|
+
description: "Command line interface (CLI)"
|
|
4
|
+
- name: "area: docs"
|
|
5
|
+
color: "#88ff4d"
|
|
6
|
+
description: "Documentation"
|
|
7
|
+
- name: "area: examples"
|
|
8
|
+
color: "#1a3d5c"
|
|
9
|
+
description: "Example code and notebooks"
|
|
10
|
+
- name: "area: repo"
|
|
11
|
+
color: "#4dff4d"
|
|
12
|
+
description: "Tooling or the repository"
|
|
13
|
+
- name: "area: source"
|
|
14
|
+
color: "#a64dff"
|
|
15
|
+
description: "Core source code"
|
|
16
|
+
|
|
17
|
+
- name: "priority: critical"
|
|
18
|
+
color: "#ff4d4d"
|
|
19
|
+
description: "Issue needs immediate attention"
|
|
20
|
+
- name: "priority: medium"
|
|
21
|
+
color: "#ff884d"
|
|
22
|
+
description: "Issue should be addressed soon"
|
|
23
|
+
- name: "priority: low"
|
|
24
|
+
color: "#ffc34d"
|
|
25
|
+
description: "Issue can be addressed later"
|
|
26
|
+
|
|
27
|
+
- name: "type: bug"
|
|
28
|
+
color: "#ff4dc4"
|
|
29
|
+
description: "Something isn't working"
|
|
30
|
+
- name: "type: discussion"
|
|
31
|
+
color: "#ff4dff"
|
|
32
|
+
description: "General discussion or question"
|
|
33
|
+
- name: "type: documentation"
|
|
34
|
+
color: "#c44dff"
|
|
35
|
+
description: "Improvements or additions to documentation"
|
|
36
|
+
- name: "type: feature"
|
|
37
|
+
color: "#884dff"
|
|
38
|
+
description: "New feature or feature request"
|
|
39
|
+
- name: "type: fix"
|
|
40
|
+
color: "#00ff00"
|
|
41
|
+
description: "Something is being fixed"
|
|
42
|
+
- name: "type: misc"
|
|
43
|
+
color: "#4d4dff"
|
|
44
|
+
description: "Everything else"
|
|
45
|
+
- name: "type: refactor"
|
|
46
|
+
color: "#4d88ff"
|
|
47
|
+
description: "Refactoring code without functional changes"
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
name: Continuous Deployment
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
bumped-version-part:
|
|
9
|
+
description: "The version part to bump."
|
|
10
|
+
type: choice
|
|
11
|
+
options:
|
|
12
|
+
- major
|
|
13
|
+
- minor
|
|
14
|
+
- patch
|
|
15
|
+
default: patch
|
|
16
|
+
required: true
|
|
17
|
+
|
|
18
|
+
concurrency:
|
|
19
|
+
group: ${{ github.workflow }}/${{ github.head_ref || github.ref }}
|
|
20
|
+
cancel-in-progress: true
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
bump-version:
|
|
24
|
+
name: Bump Version
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
container: docker:git
|
|
27
|
+
permissions:
|
|
28
|
+
contents: write
|
|
29
|
+
timeout-minutes: 10
|
|
30
|
+
steps:
|
|
31
|
+
- name: Install prerequisites
|
|
32
|
+
run: apk add nodejs
|
|
33
|
+
|
|
34
|
+
- name: Check out repository
|
|
35
|
+
uses: actions/checkout@v6
|
|
36
|
+
|
|
37
|
+
- name: Bump version and push tag
|
|
38
|
+
id: version
|
|
39
|
+
uses: mathieudutour/github-tag-action@v6.2
|
|
40
|
+
with:
|
|
41
|
+
default_bump: ${{ github.event.inputs.bumped-version-part || 'patch' }}
|
|
42
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
43
|
+
|
|
44
|
+
- name: Add version info
|
|
45
|
+
run: echo "Bumped ${VERSION_PART} version part from ${OLD_TAG} to ${NEW_TAG}." >> $GITHUB_STEP_SUMMARY
|
|
46
|
+
env:
|
|
47
|
+
VERSION_PART: ${{ steps.version.outputs.release_type }}
|
|
48
|
+
OLD_TAG: ${{ steps.version.outputs.previous_tag }}
|
|
49
|
+
NEW_TAG: ${{ steps.version.outputs.new_tag }}
|
|
50
|
+
|
|
51
|
+
ci:
|
|
52
|
+
name: CI
|
|
53
|
+
needs: bump-version
|
|
54
|
+
uses: ./.github/workflows/ci.yaml
|
|
55
|
+
secrets: inherit
|
|
56
|
+
permissions:
|
|
57
|
+
contents: write
|
|
58
|
+
pull-requests: write
|
|
59
|
+
|
|
60
|
+
deploy:
|
|
61
|
+
name: Deploy Docs
|
|
62
|
+
needs: ci
|
|
63
|
+
if: github.repository == 'famura/binned-cdf'
|
|
64
|
+
runs-on: ubuntu-latest
|
|
65
|
+
timeout-minutes: 30
|
|
66
|
+
permissions:
|
|
67
|
+
contents: write
|
|
68
|
+
steps:
|
|
69
|
+
- name: Check out repository
|
|
70
|
+
uses: actions/checkout@v6
|
|
71
|
+
with:
|
|
72
|
+
fetch-depth: 0
|
|
73
|
+
|
|
74
|
+
- name: Set up uv
|
|
75
|
+
uses: astral-sh/setup-uv@v7
|
|
76
|
+
|
|
77
|
+
- name: Lint & test
|
|
78
|
+
uses: ./.github/actions/lint-test
|
|
79
|
+
|
|
80
|
+
- name: Build & publish docs
|
|
81
|
+
uses: ./.github/actions/publish-docs
|
|
82
|
+
|
|
83
|
+
publish-pypi:
|
|
84
|
+
name: Publish to PyPI
|
|
85
|
+
needs: deploy
|
|
86
|
+
runs-on: ubuntu-latest
|
|
87
|
+
environment: release
|
|
88
|
+
timeout-minutes: 15
|
|
89
|
+
permissions:
|
|
90
|
+
id-token: write
|
|
91
|
+
steps:
|
|
92
|
+
- name: Check out repository
|
|
93
|
+
uses: actions/checkout@v6
|
|
94
|
+
with:
|
|
95
|
+
fetch-depth: 0 # it is necessary for versioningit to get full git history
|
|
96
|
+
|
|
97
|
+
- name: Set up uv
|
|
98
|
+
uses: astral-sh/setup-uv@v7
|
|
99
|
+
|
|
100
|
+
- name: Build package
|
|
101
|
+
run: uv build
|
|
102
|
+
|
|
103
|
+
- name: Publish to PyPI
|
|
104
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: Check issue
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [labeled, opened, unlabeled]
|
|
6
|
+
|
|
7
|
+
concurrency:
|
|
8
|
+
group: ${{ github.job }}/${{ github.workflow }}/${{ github.head_ref || github.ref }}
|
|
9
|
+
cancel-in-progress: true
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
labels:
|
|
13
|
+
name: Labels
|
|
14
|
+
container: ubuntu:latest
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
env:
|
|
17
|
+
comment_header: |
|
|
18
|
+
## :card_index_dividers: Missing Labels
|
|
19
|
+
|
|
20
|
+
We categorize issues using specific label groups to help us prioritize and assign them.
|
|
21
|
+
steps:
|
|
22
|
+
- name: Check if required label prefixes are missing
|
|
23
|
+
id: check-labels
|
|
24
|
+
uses: actions/github-script@v8
|
|
25
|
+
with:
|
|
26
|
+
script: |
|
|
27
|
+
const requiredPrefixes = ['area:', 'type:'];
|
|
28
|
+
const names = (context.payload.issue && context.payload.issue.labels)
|
|
29
|
+
? context.payload.issue.labels.map(label => label.name)
|
|
30
|
+
: [];
|
|
31
|
+
const missingPrefixes = requiredPrefixes.filter(prefix => !names.some(name => name.startsWith(prefix)));
|
|
32
|
+
core.setOutput('missing-prefixes', missingPrefixes)
|
|
33
|
+
core.setOutput('missing-prefixes-md', missingPrefixes.map(prefix => `- \`${prefix}\``).join('\n'))
|
|
34
|
+
|
|
35
|
+
- name: Find comment
|
|
36
|
+
id: find-comment
|
|
37
|
+
uses: peter-evans/find-comment@v4
|
|
38
|
+
with:
|
|
39
|
+
body-includes: "${{ env.comment_header }}"
|
|
40
|
+
comment-author: "github-actions[bot]"
|
|
41
|
+
issue-number: ${{ github.event.issue.number }}
|
|
42
|
+
|
|
43
|
+
- name: Create or update comment
|
|
44
|
+
uses: peter-evans/create-or-update-comment@v5
|
|
45
|
+
if: ${{ steps.check-labels.outputs.missing-prefixes != '[]' }}
|
|
46
|
+
with:
|
|
47
|
+
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
|
48
|
+
issue-number: ${{ github.event.issue.number }}
|
|
49
|
+
body: |
|
|
50
|
+
${{ env.comment_header }}
|
|
51
|
+
|
|
52
|
+
Please add label(s) with the required prefix(es):
|
|
53
|
+
|
|
54
|
+
${{ steps.check-labels.outputs.missing-prefixes-md }}
|
|
55
|
+
edit-mode: replace
|
|
56
|
+
reactions-edit-mode: replace
|
|
57
|
+
|
|
58
|
+
- name: Resolve comment
|
|
59
|
+
uses: peter-evans/create-or-update-comment@v5
|
|
60
|
+
if: ${{ steps.check-labels.outputs.missing-prefixes == '[]' && steps.find-comment.outputs.comment-id != 0 }}
|
|
61
|
+
with:
|
|
62
|
+
comment-id: ${{ steps.find-comment.outputs.comment-id }}
|
|
63
|
+
issue-number: ${{ github.event.issue.number }}
|
|
64
|
+
body: |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
:white_check_mark: All set! Thanks for updating the labels.
|
|
69
|
+
reactions: rocket
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Check PR
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [edited, opened, ready_for_review, reopened, synchronize]
|
|
6
|
+
|
|
7
|
+
concurrency:
|
|
8
|
+
group: ${{ github.job }}/${{ github.workflow }}/${{ github.head_ref || github.ref }}
|
|
9
|
+
cancel-in-progress: true
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
pull-requests: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
labels:
|
|
17
|
+
name: Labels
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
container: ubuntu:latest
|
|
20
|
+
steps:
|
|
21
|
+
- name: Label areas
|
|
22
|
+
uses: actions/labeler@v6
|
|
23
|
+
with:
|
|
24
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
25
|
+
|
|
26
|
+
- name: Label size
|
|
27
|
+
uses: BedrockStreaming/pr-size-labeler@v2.0.0
|
|
28
|
+
with:
|
|
29
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
30
|
+
xs_diff: 20
|
|
31
|
+
xs_files: 2
|
|
32
|
+
xs_label: "size: xs"
|
|
33
|
+
s_diff: 100
|
|
34
|
+
s_files: 5
|
|
35
|
+
s_label: "size: s"
|
|
36
|
+
m_diff: 250
|
|
37
|
+
m_files: 10
|
|
38
|
+
m_label: "size: m"
|
|
39
|
+
l_diff: 500
|
|
40
|
+
l_files: 20
|
|
41
|
+
l_label: "size: l"
|
|
42
|
+
xl_diff: 750
|
|
43
|
+
xl_files: 30
|
|
44
|
+
xl_label: "size: xl"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: Continuous Integration
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, ready_for_review, reopened, synchronize]
|
|
6
|
+
workflow_call:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
concurrency:
|
|
10
|
+
group: ${{ github.job }}/${{ github.workflow }}/${{ github.head_ref || github.ref }}
|
|
11
|
+
cancel-in-progress: true
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
ci-default-python-version:
|
|
15
|
+
name: Default Python Version
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
contents: write
|
|
19
|
+
pull-requests: write
|
|
20
|
+
timeout-minutes: 120
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Check out repository
|
|
24
|
+
uses: actions/checkout@v6
|
|
25
|
+
|
|
26
|
+
- name: Set up uv
|
|
27
|
+
uses: astral-sh/setup-uv@v7
|
|
28
|
+
|
|
29
|
+
- name: Lint & test
|
|
30
|
+
uses: ./.github/actions/lint-test
|
|
31
|
+
|
|
32
|
+
- name: Add coverage comment
|
|
33
|
+
if: github.event_name == 'pull_request'
|
|
34
|
+
uses: MishaKav/pytest-coverage-comment@v1
|
|
35
|
+
with:
|
|
36
|
+
coverage-path-prefix: "binned_cdf/"
|
|
37
|
+
junitxml-path: pytest.xml
|
|
38
|
+
pytest-xml-coverage-path: coverage.xml
|
|
39
|
+
|
|
40
|
+
- name: Build & deploy temporary docs
|
|
41
|
+
if: github.event_name == 'pull_request' && github.event.pull_request.draft == false
|
|
42
|
+
uses: ./.github/actions/publish-docs
|
|
43
|
+
with:
|
|
44
|
+
alias: pr-${{ github.event.number }}
|
|
45
|
+
version: next-pr-${{ github.event.number }}
|
|
46
|
+
|
|
47
|
+
- name: Add docs comment
|
|
48
|
+
if: github.event_name == 'pull_request' && github.event.pull_request.draft == false
|
|
49
|
+
uses: marocchino/sticky-pull-request-comment@v2.9.4
|
|
50
|
+
with:
|
|
51
|
+
header: docs-comment
|
|
52
|
+
message: |
|
|
53
|
+
:books: Created [temporary docs](https://famura.github.io/binned-cdf/pr-${{ github.event.number }}).
|
|
54
|
+
|
|
55
|
+
Useful URLs:
|
|
56
|
+
|
|
57
|
+
- [Coverage](https://famura.github.io/binned-cdf/pr-${{ github.event.number }}/exported/coverage)
|
|
58
|
+
- [Tests](https://famura.github.io/binned-cdf/pr-${{ github.event.number }}/exported/tests)
|
|
59
|
+
|
|
60
|
+
ci-other-python-versions:
|
|
61
|
+
if: github.event.pull_request.draft == false
|
|
62
|
+
name: Other Python Versions
|
|
63
|
+
runs-on: ubuntu-latest
|
|
64
|
+
strategy:
|
|
65
|
+
matrix:
|
|
66
|
+
python-version: [3.13]
|
|
67
|
+
timeout-minutes: 120
|
|
68
|
+
|
|
69
|
+
steps:
|
|
70
|
+
- name: Check out repository
|
|
71
|
+
uses: actions/checkout@v6
|
|
72
|
+
|
|
73
|
+
- name: Set up uv
|
|
74
|
+
uses: astral-sh/setup-uv@v7
|
|
75
|
+
|
|
76
|
+
- name: Set Python version to ${{ matrix.python-version }}
|
|
77
|
+
run: uv python pin ${{ matrix.python-version }}
|
|
78
|
+
|
|
79
|
+
- name: Lint & test
|
|
80
|
+
uses: ./.github/actions/lint-test
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: Remove Temporary Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [closed]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
remove-temporary-docs:
|
|
9
|
+
name: Remove Temporary Docs
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
timeout-minutes: 30
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Check out repository
|
|
18
|
+
uses: actions/checkout@v6
|
|
19
|
+
|
|
20
|
+
- name: Set up uv
|
|
21
|
+
uses: astral-sh/setup-uv@v7
|
|
22
|
+
|
|
23
|
+
- name: Configure Git
|
|
24
|
+
uses: ./.github/actions/configure-git
|
|
25
|
+
|
|
26
|
+
- name: Remove temporary docs
|
|
27
|
+
run: |
|
|
28
|
+
VERSION=next-pr-${{ github.event.number }}
|
|
29
|
+
git fetch origin gh-pages:gh-pages
|
|
30
|
+
uv run --only-dev mike delete --push ${VERSION}
|
|
31
|
+
|
|
32
|
+
- name: Remove docs comment
|
|
33
|
+
uses: marocchino/sticky-pull-request-comment@v2.9.4
|
|
34
|
+
with:
|
|
35
|
+
delete: true
|
|
36
|
+
header: docs-comment
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: Sync Labels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths:
|
|
8
|
+
- .github/labels.yml
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
issues: write
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
sync:
|
|
17
|
+
name: Sync labels
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- name: Check out repository
|
|
21
|
+
uses: actions/checkout@v6
|
|
22
|
+
with:
|
|
23
|
+
sparse-checkout: .github/labels.yml
|
|
24
|
+
|
|
25
|
+
- uses: EndBug/label-sync@v2
|
|
26
|
+
with:
|
|
27
|
+
config-file: .github/labels.yml
|
|
28
|
+
delete-other-labels: true
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# distribution / packaging
|
|
7
|
+
.Python
|
|
8
|
+
env/
|
|
9
|
+
build/
|
|
10
|
+
develop-eggs/
|
|
11
|
+
dist/
|
|
12
|
+
eggs/
|
|
13
|
+
.eggs/
|
|
14
|
+
sdist/
|
|
15
|
+
*.egg-info/
|
|
16
|
+
*.egg
|
|
17
|
+
|
|
18
|
+
# pytest / coverage reports
|
|
19
|
+
.coverage
|
|
20
|
+
coverage.xml
|
|
21
|
+
pytest.xml
|
|
22
|
+
tests/results/
|
|
23
|
+
|
|
24
|
+
# environment
|
|
25
|
+
/.venv/
|
|
26
|
+
|
|
27
|
+
# PyCharm
|
|
28
|
+
.idea/
|
|
29
|
+
|
|
30
|
+
# vscode
|
|
31
|
+
/.vscode/
|
|
32
|
+
|
|
33
|
+
# mkdocs
|
|
34
|
+
/.site/
|
|
35
|
+
|
|
36
|
+
# macOS
|
|
37
|
+
.DS_store
|
|
38
|
+
|
|
39
|
+
# uv
|
|
40
|
+
uv.lock
|
|
41
|
+
|
|
42
|
+
# results from examples
|
|
43
|
+
examples/*.png
|