Skip to content

Commit 72837c0

Browse files
authored
Initial commit
0 parents  commit 72837c0

33 files changed

+3058
-0
lines changed

.env.example

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ENV_VARIABLE_ONE=<your_environment_variable_value_one>
2+
ENV_VARIABLE_TWO=<your_environment_variable_value_two>
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: 🐛 Bug Report
3+
about: Report a bug to help us improve the project
4+
title: '[BUG] '
5+
labels: 'bug'
6+
assignees: ''
7+
8+
---
9+
10+
## Bug Description
11+
12+
<!-- A clear and concise description of what the bug is -->
13+
14+
## Steps to Reproduce
15+
16+
1.
17+
2.
18+
3.
19+
20+
**Code snippet (if applicable):**
21+
```python
22+
# Your code here
23+
```
24+
25+
## Expected Behavior
26+
27+
<!-- A clear description of what you expected to happen -->
28+
29+
## Actual Behavior
30+
31+
<!-- A clear description of what actually happened -->
32+
33+
## Environment
34+
35+
- **Component:** [API | Core functionality | Any]
36+
- **OS:** [Windows | MacOS | Linux]
37+
- **Python Version:**
38+
39+
## Screenshots/Logs
40+
41+
<!-- If applicable, add screenshots or error logs -->
42+
43+
## Additional Context
44+
45+
<!-- Add any other context about the problem here -->
46+
47+
## Possible Solution
48+
49+
<!-- If you have suggestions on how to fix the bug, please describe them here -->

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Discussion
4+
url: https://github.com/VectorInstitute/aieng-template-implementation/discussions
5+
about: Ask questions or discuss ideas with the community
6+
- name: 📖 Documentation
7+
url: https://github.com/VectorInstitute/aieng-template-implementation#readme
8+
about: Check the documentation for setup and usage guides
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
name: ✨ Feature Request
3+
about: Suggest a new feature or enhancement
4+
title: '[FEATURE] '
5+
labels: 'enhancement'
6+
assignees: ''
7+
8+
---
9+
10+
## Problem Statement
11+
12+
<!-- Is your feature request related to a problem? Describe the problem or use case -->
13+
14+
## Proposed Solution
15+
16+
<!-- A clear description of what you want to happen -->
17+
18+
## Alternative Solutions
19+
20+
<!-- Describe any alternative solutions or features you've considered -->
21+
22+
## Use Cases
23+
24+
<!-- Describe specific use cases where this feature would be valuable -->
25+
-
26+
-
27+
-
28+
29+
## Implementation Ideas
30+
31+
<!-- If you have ideas about how this could be implemented, describe them here -->
32+
33+
## Component Impact
34+
35+
<!-- Which parts of the system would this feature affect? -->
36+
- [ ] API
37+
- [ ] Core functionality
38+
- [ ] Docker/Infrastructure
39+
- [ ] Documentation
40+
- [ ] Any other part of the system
41+
42+
## Additional Context
43+
44+
<!-- Add any other context, mockups, or screenshots about the feature request here -->
45+
46+
## Priority
47+
48+
<!-- How important is this feature to you? -->
49+
- [ ] Nice to have
50+
- [ ] Would be helpful
51+
- [ ] Important for my use case
52+
- [ ] Critical/blocking

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions"
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"

.github/pull_request_template.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
## Summary
2+
3+
<!-- Provide a brief description of what this PR does -->
4+
5+
Clickup Ticket(s): Link(s) if applicable.
6+
7+
## Type of Change
8+
9+
- [ ] 🐛 Bug fix (non-breaking change that fixes an issue)
10+
- [ ] ✨ New feature (non-breaking change that adds functionality)
11+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] 📝 Documentation update
13+
- [ ] 🔧 Refactoring (no functional changes)
14+
- [ ] ⚡ Performance improvement
15+
- [ ] 🧪 Test improvements
16+
- [ ] 🔒 Security fix
17+
18+
## Changes Made
19+
20+
<!-- List the main changes made in this PR -->
21+
-
22+
-
23+
-
24+
25+
## Testing
26+
27+
<!-- Describe how you tested these changes -->
28+
- [ ] Tests pass locally (`uv run pytest tests/`)
29+
- [ ] Type checking passes (`uv run mypy <src_dir>`)
30+
- [ ] Linting passes (`uv run ruff check src_dir/`)
31+
- [ ] Manual testing performed (describe below)
32+
33+
**Manual testing details:**
34+
<!-- Describe any manual testing performed -->
35+
36+
## Screenshots/Recordings
37+
38+
<!-- If applicable, add screenshots or recordings to demonstrate the changes -->
39+
40+
## Related Issues
41+
42+
<!-- Link any related issues using "Closes #123" or "Relates to #123" -->
43+
44+
## Deployment Notes
45+
46+
<!-- Any special deployment considerations or migration steps -->
47+
48+
## Checklist
49+
50+
- [ ] Code follows the project's style guidelines
51+
- [ ] Self-review of code completed
52+
- [ ] Documentation updated (if applicable)
53+
- [ ] No sensitive information (API keys, credentials) exposed

.github/workflows/code_checks.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: code checks
2+
permissions:
3+
contents: read
4+
pull-requests: write
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
paths:
11+
- .pre-commit-config.yaml
12+
- .github/workflows/code_checks.yml
13+
- '**.py'
14+
- uv.lock
15+
- pyproject.toml
16+
- '**.ipynb'
17+
pull_request:
18+
branches:
19+
- main
20+
paths:
21+
- .pre-commit-config.yaml
22+
- .github/workflows/code_checks.yml
23+
- '**.py'
24+
- uv.lock
25+
- pyproject.toml
26+
- '**.ipynb'
27+
28+
jobs:
29+
run-code-check:
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v5.0.0
33+
34+
- name: Install uv
35+
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41
36+
with:
37+
# Install a specific version of uv.
38+
version: "0.7.6"
39+
enable-cache: true
40+
41+
- name: "Set up Python"
42+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c
43+
with:
44+
python-version-file: ".python-version"
45+
46+
- name: Install dependencies and check code
47+
run: |
48+
uv venv .venv
49+
source .venv/bin/activate
50+
uv sync --all-extras --dev
51+
pre-commit run --all-files
52+
53+
- name: pip-audit (gh-action-pip-audit)
54+
uses: pypa/gh-action-pip-audit@1220774d901786e6f652ae159f7b6bc8fea6d266
55+
with:
56+
virtual-environment: .venv/

.github/workflows/publish.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: publish package
2+
permissions:
3+
contents: write
4+
pull-requests: write
5+
6+
on:
7+
push:
8+
tags:
9+
- "v*"
10+
11+
jobs:
12+
deploy:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Install apt dependencies
16+
run: |
17+
sudo apt-get update
18+
sudo apt-get install libcurl4-openssl-dev libssl-dev
19+
- uses: actions/checkout@v5.0.0
20+
21+
- name: Install uv
22+
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41
23+
with:
24+
# Install a specific version of uv.
25+
version: "0.7.6"
26+
enable-cache: true
27+
28+
- name: "Set up Python"
29+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c
30+
with:
31+
python-version-file: ".python-version"
32+
33+
- name: Install dependencies
34+
run: |
35+
cd aieng-topic-impl
36+
uv venv .venv
37+
source .venv/bin/activate
38+
uv sync --all-extras --dev
39+
40+
- name: Build package
41+
run: cd aieng-topic-impl && source .venv/bin/activate && uv build
42+
43+
- name: Publish package
44+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e
45+
with:
46+
user: __token__
47+
password: ${{ secrets.PYPI_API_TOKEN }}
48+
packages-dir: aieng-topic-impl/dist/

.github/workflows/unit_tests.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: unit tests
2+
permissions:
3+
contents: read
4+
pull-requests: write
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
paths:
11+
- .pre-commit-config.yaml
12+
- .github/workflows/code_checks.yml
13+
- .github/workflows/docs.yml
14+
- .github/workflows/unit_tests.yml
15+
- '**.py'
16+
- '**.ipynb'
17+
- uv.lock
18+
- pyproject.toml
19+
- '**.rst'
20+
- '**.md'
21+
pull_request:
22+
branches:
23+
- main
24+
paths:
25+
- .pre-commit-config.yaml
26+
- .github/workflows/code_checks.yml
27+
- .github/workflows/docs.yml
28+
- .github/workflows/unit_tests.yml
29+
- '**.py'
30+
- '**.ipynb'
31+
- uv.lock
32+
- pyproject.toml
33+
- '**.rst'
34+
- '**.md'
35+
36+
jobs:
37+
unit-tests:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v5.0.0
41+
42+
- name: Install uv
43+
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41
44+
with:
45+
# Install a specific version of uv.
46+
version: "0.7.6"
47+
enable-cache: true
48+
49+
- name: "Set up Python"
50+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c
51+
with:
52+
python-version-file: ".python-version"
53+
54+
- name: Install dependencies and check code
55+
run: |
56+
cd aieng-topic-impl
57+
uv venv .venv
58+
source .venv/bin/activate
59+
uv sync --all-extras --dev
60+
uv run pytest -m "not integration_test" tests

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Python-generated files
2+
__pycache__/
3+
*.py[oc]
4+
build/
5+
dist/
6+
wheels/
7+
*.egg-info
8+
9+
# Virtual environments
10+
.venv
11+
12+
# Lint & Test
13+
.mypy_cache/
14+
.pytest_cache/
15+
.ruff_cache/
16+
17+
# Vscode
18+
.vscode
19+
20+
# macos
21+
*.DS_Store
22+
23+
# ipynb checkpoints
24+
**.ipynb_checkpoints
25+
26+
.env

0 commit comments

Comments
 (0)