Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
1ad4070
Add rich traceback, Fix size bug in space edit command
tgross03 Dec 10, 2025
046bf46
Merge branch 'main' into add_docs
tgross03 Dec 10, 2025
ea44755
Add first pages, Add logo, Set Theme
tgross03 Dec 11, 2025
f852ea1
Cleanup
tgross03 Dec 11, 2025
1684158
Fix logo in README
tgross03 Dec 11, 2025
8b9ab31
Restructure docs
tgross03 Dec 12, 2025
e8931a1
Restructure docs
tgross03 Dec 15, 2025
f3a1d2c
Restructure docs
tgross03 Dec 18, 2025
3cfb5e3
Add CLI reference, Add first guides and structure to docs
tgross03 Dec 19, 2025
d72b142
Add API reference extensions
tgross03 Dec 21, 2025
85968fe
Remove old source file
tgross03 Dec 21, 2025
64e4c8a
Fix logo in README
tgross03 Dec 21, 2025
95c0f20
Restructure package, Start creation of API reference
tgross03 Dec 21, 2025
4d52992
Cleanup import structure
tgross03 Dec 22, 2025
5b127ff
Finish API reference
tgross03 Dec 22, 2025
dc3cd16
Remove pandas from dependencies
tgross03 Dec 22, 2025
ed4e899
Add towncrier, Add scripts
tgross03 Dec 22, 2025
d5f2d30
Add remote upload test workflow
tgross03 Dec 22, 2025
d6cc7a7
Fix scp
tgross03 Dec 22, 2025
470228f
Fix scp
tgross03 Dec 22, 2025
4b7ea0a
Fix scp v3
tgross03 Dec 22, 2025
d64447f
Fix scp v4
tgross03 Dec 22, 2025
b612e56
Fix scp v5
tgross03 Dec 22, 2025
4af9f1f
Fix ssh key generation
tgross03 Dec 22, 2025
e203cd4
Fix ssh key generation
tgross03 Dec 22, 2025
383e0b4
Fix ssh on remote
tgross03 Dec 22, 2025
6f547ac
Fix ssh on remote
tgross03 Dec 22, 2025
9869010
Reduce verbosity of workflow
tgross03 Dec 22, 2025
426d5f7
Fix Protocol not existing error
tgross03 Dec 22, 2025
1e0ec8f
Fix Protocol not existing error
tgross03 Dec 22, 2025
0f1066b
Change generated directory
tgross03 Dec 22, 2025
45f0ed8
Raise verbosity level for ssh / scp commands
tgross03 Dec 22, 2025
6f1f84e
Update workflow event
tgross03 Dec 22, 2025
21e523e
Update workflow, Remove scripts
tgross03 Dec 23, 2025
b9735b3
Add transparency notice
tgross03 Dec 27, 2025
026f411
Modify transparency notice
tgross03 Dec 27, 2025
c1057dd
Add AI guidelines, Add docs test
tgross03 Dec 28, 2025
548b816
Merge branch 'main' into add_docs
tgross03 Dec 31, 2025
5e06294
Add changelog
tgross03 Dec 31, 2025
f69af3b
Add tutorial for using 'towncrier' changelogs
tgross03 Dec 31, 2025
55796a3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 31, 2025
7311ae4
Remove test changes
tgross03 Dec 31, 2025
51df0ef
Add tutorial to towncrier ignore
tgross03 Dec 31, 2025
205514d
Add changelog workflow, Adjust test / docs workflow
tgross03 Dec 31, 2025
e5eb3cd
Add ignore label to changelog workflow
tgross03 Dec 31, 2025
76655be
Add ignore label to changelog workflow
tgross03 Dec 31, 2025
513e49c
Fix ignore label in changelog workflow
tgross03 Dec 31, 2025
cd0afad
Fix quotes in changelog.yml for ignore label check
tgross03 Dec 31, 2025
292c038
Fix changelog workflow ignore label
tgross03 Dec 31, 2025
f7e204f
Fix changelog workflow ignore label
tgross03 Dec 31, 2025
f15dc2d
Fix changelog workflow ignore label
tgross03 Dec 31, 2025
2bc9a05
Fix changelog workflow ignore label
tgross03 Dec 31, 2025
19efb1d
Fix changelog workflow
tgross03 Dec 31, 2025
336f174
Fix changelog workflow
tgross03 Dec 31, 2025
754e97a
Fix changelog workflow
tgross03 Dec 31, 2025
004df05
Add test changelog
tgross03 Jan 1, 2026
118a7c5
Fix changelog workflow
tgross03 Jan 1, 2026
01202de
Fix release workflow
tgross03 Jan 1, 2026
74b9ac7
Fix release workflow
tgross03 Jan 1, 2026
2da292d
Fix release workflow
tgross03 Jan 1, 2026
ed1d53b
Fix release workflow
tgross03 Jan 1, 2026
ab09fe3
Create Changelog for v0.1.0-beta1
Jan 1, 2026
45dfc1f
Change release workflow order
tgross03 Jan 1, 2026
b54445d
Add test changes
tgross03 Jan 1, 2026
171d854
Add test changes (for PR 3)
tgross03 Jan 1, 2026
5ba93da
Add CHANGELOG.rst to towncrier ignore
tgross03 Jan 1, 2026
8906e7c
Create Changelog for v0.1.0-beta1
backpy-robot[bot] Jan 1, 2026
40bf251
Remove test CHANGELOG
tgross03 Jan 2, 2026
b6108ee
Add dependency groups
tgross03 Jan 2, 2026
878da08
Remove toml, Add tomli_w
tgross03 Jan 2, 2026
db423b1
Refactor password -> encryption submodule, Add MySQLServer class, Add…
tgross03 Jan 3, 2026
185bcb1
chores: Replace type classes with dataset+enum
tgross03 Jan 3, 2026
7505a30
fix: add commit-msg stage to default_install_hook_types
tgross03 Jan 3, 2026
e9bc6d0
chore: Remove currently unused workflow article
tgross03 Jan 3, 2026
1951867
fix: Pre-commit hooks execution stage
tgross03 Jan 3, 2026
87d0205
feat: pre-commit only default stage
tgross03 Jan 3, 2026
a61f33b
chore: Cleanup code, Specify attributions
tgross03 Jan 5, 2026
d499e88
refactor: Relicense configuration.py
tgross03 Jan 31, 2026
f8de550
feat: relicense to LGPL-3.0
tgross03 Feb 1, 2026
7eeffc9
fix: wrong license in pyproject.toml
tgross03 Feb 1, 2026
c381947
fix: Wrong types in config set CLI
tgross03 Feb 8, 2026
98e560f
chore: Remove irrelevant logs.txt
tgross03 Feb 27, 2026
2fdd455
feat!: Restructure and refactor TOML config, VariableLibrary and conf…
tgross03 Feb 27, 2026
e534ad2
feat: Add config tests
tgross03 Feb 27, 2026
554d191
Merge branch 'add_mysql' into add_docs
tgross03 Feb 27, 2026
4dbc01b
docs: Add changelog
tgross03 Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Changelog

on:
pull_request:
types: [labeled, unlabeled, opened, reopened, synchronize]

permissions:
contents: read

env:
PR_NUMBER: ${{ github.event.number }}

jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Check for file
if: ${{
hashFiles(format('docs/changes/{0}.*.rst', github.event.number)) == '' &&
! contains( github.event.pull_request.labels.*.name, 'skip-changelog')
}}
run: |
ls docs/changes
echo ERROR: No changelog file found for pull request \#"$PR_NUMBER"!
exit 1

43 changes: 23 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: CI

on:
Expand All @@ -21,7 +18,7 @@ jobs:
python-version: ["3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
Expand All @@ -31,7 +28,7 @@ jobs:
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e ".[tests]"
pip install -e . --group tests
pip freeze

- name: Test with pytest
Expand All @@ -43,18 +40,24 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}

# pre-commit:
# runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ["3.14"]
#
# steps:
# - uses: actions/checkout@v4
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v5
# with:
# python-version: ${{ matrix.python-version }}
# - name: Display Python version
# run: python -c "import sys; print(sys.version)"
# - uses: pre-commit/action@v3.0.1
test_docs:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.14'
architecture: 'x64'
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install documentation dependencies
run: |
pip install --upgrade pip
pip install -e . --group docs
pip freeze
- name: Build documentation
run: |
make -C docs html
90 changes: 90 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Docs

on:
release:
types: [published]

permissions:
contents: write

jobs:
build_and_release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.14'
architecture: 'x64'
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -e . --group docs
pip freeze
- name: Build towncrier
run: |
towncrier build --yes

- name: Build sphinx docs
run: |
make -C docs html
- name: Compress build
run: |
sudo apt update --yes && sudo apt install zip --yes
cd docs/_build/html && zip -r ../html.zip ./*
cd ../../../

# The App Token creation and git config setup were adapted from:
# - create-github-app-token (https://github.com/actions/create-github-app-token)
# Originally licensed under MIT License. Copyright (c) 2023 Gregor Martynus, Parker Brown.
- name: Create GitHub App token
id: app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Get GitHub App User ID
id: get-user-id
run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Setup git config
run: |
set +x
git config --global user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
git config --global user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com'
- name: Commit and Push
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
set +x
git add -u docs/changes/
git add docs/changes/*.rst
git commit -m "Create Changelog for ${{ github.event.release.tag_name }}" || exit 0

git push "https://x-access-token:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" HEAD:${{ github.event.release.target_commitish }}

# Inspired by: https://stackoverflow.com/a/60479844 and https://stackoverflow.com/a/70447517
- name: Create SSH key
run: |
install -m 600 -D /dev/null ~/.ssh/id_key
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_key
ssh-keyscan -H "$SSH_HOSTNAME" > ~/.ssh/known_hosts
env:
SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}}
SSH_HOSTNAME: ${{secrets.SSH_HOSTNAME}}
- name: Upload to server
run: |
ssh -v -i ~/.ssh/id_key "$SSH_USER@$SSH_HOSTNAME" "rm -rf '$SSH_TARGET_DIR/' && mkdir -p '$SSH_TARGET_DIR'"
scp -v -i ~/.ssh/id_key -r docs/_build/html.zip "$SSH_USER"@"$SSH_HOSTNAME":"$SSH_TARGET_DIR"/html.zip
ssh -v -i ~/.ssh/id_key "$SSH_USER@$SSH_HOSTNAME" "unzip -o '$SSH_TARGET_DIR/html.zip' -d '$SSH_TARGET_DIR' && rm -rf '$SSH_TARGET_DIR/html.zip'"
env:
SSH_USER: ${{secrets.SSH_USER}}
SSH_HOSTNAME: ${{secrets.SSH_HOSTNAME}}
SSH_TARGET_DIR: ${{secrets.SSH_TARGET_DIR}}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ instance/

# Sphinx documentation
docs/_build/
docs/build
docs/_generated

# PyBuilder
.pybuilder/
Expand Down
12 changes: 12 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
# - pyvisgen (https://github.com/radionets-project/pyvisgen/blob/main/.pre-commit-config.yaml)
# Originally licensed under MIT License. Copyright (c) 2021 radionets-project.

default_install_hook_types:
- pre-commit
- commit-msg

default_stages: [pre-commit]

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
Expand Down Expand Up @@ -31,3 +37,9 @@ repos:
rev: v2.4.1
hooks:
- id: codespell
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v4.3.0
hooks:
- id: conventional-pre-commit
stages: [ commit-msg ]
args: [--verbose]
9 changes: 4 additions & 5 deletions ASSETS_LEGAL.rst
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
==============
Asset Licenses
==============
--------------

This file documents the sources and licenses of additional media used within this repository,
which is not inside of the main source code of the module.

**Backpy Logo and Icon**

=================== ===================================================================================================================================================================
**File** `</assets/backpy_logo.png>`_ `</assets/backpy_icon.png>`_
=================== ==========================================================================================================================================================================================================================================================================================
**File** `</docs/_static/logos/backpy_logo_dark.png>`_ `</docs/_static/logos/backpy_logo_light.png>`_ `</docs/_static/logos/backpy_icon_dark.png>`_ `</docs/_static/logos/backpy_icon_light.png>`_ `</docs/_static/logos/backpy_header_dark.png>`_ `</docs/_static/logos/backpy_header_light.png>`_
**Author** `<https://github.com/tgross03>`_
**Used Elements** | `Font Awesome 'database' icon <https://fontawesome.com/icons/database?f=classic&s=solid>`_ (License: `CC-4.0-BY <https://creativecommons.org/licenses/by/4.0/>`_)
| `Catppuccin Colors <https://catppuccin.com/palette/>`_ (License: `MIT License <https://catppuccin.com/licensing/>`_)
=================== ===================================================================================================================================================================
=================== ==========================================================================================================================================================================================================================================================================================


Loading
Loading