atbbs 0.3.0__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.
- atbbs-0.3.0/.claude/settings.local.json +7 -0
- atbbs-0.3.0/.github/workflows/docker.yml +29 -0
- atbbs-0.3.0/.github/workflows/pypi.yml +31 -0
- atbbs-0.3.0/.gitignore +20 -0
- atbbs-0.3.0/.python-version +1 -0
- atbbs-0.3.0/Dockerfile +35 -0
- atbbs-0.3.0/LICENSE.md +651 -0
- atbbs-0.3.0/PKG-INFO +108 -0
- atbbs-0.3.0/README.md +94 -0
- atbbs-0.3.0/assets/logo-1024.png +0 -0
- atbbs-0.3.0/assets/logo-512.png +0 -0
- atbbs-0.3.0/assets/logo.svg +7 -0
- atbbs-0.3.0/core/__init__.py +0 -0
- atbbs-0.3.0/core/auth/__init__.py +0 -0
- atbbs-0.3.0/core/auth/config.py +34 -0
- atbbs-0.3.0/core/auth/oauth.py +379 -0
- atbbs-0.3.0/core/auth/session.py +130 -0
- atbbs-0.3.0/core/constellation.py +75 -0
- atbbs-0.3.0/core/filters.py +9 -0
- atbbs-0.3.0/core/models.py +134 -0
- atbbs-0.3.0/core/records.py +366 -0
- atbbs-0.3.0/core/resolver.py +84 -0
- atbbs-0.3.0/core/slingshot.py +69 -0
- atbbs-0.3.0/core/util.py +20 -0
- atbbs-0.3.0/docker-compose.yml +13 -0
- atbbs-0.3.0/justfile +39 -0
- atbbs-0.3.0/lexicons/xyz.atboards.board.json +32 -0
- atbbs-0.3.0/lexicons/xyz.atboards.news.json +37 -0
- atbbs-0.3.0/lexicons/xyz.atboards.reply.json +62 -0
- atbbs-0.3.0/lexicons/xyz.atboards.site.json +62 -0
- atbbs-0.3.0/lexicons/xyz.atboards.thread.json +63 -0
- atbbs-0.3.0/main.py +6 -0
- atbbs-0.3.0/pyproject.toml +25 -0
- atbbs-0.3.0/tui/__init__.py +0 -0
- atbbs-0.3.0/tui/__main__.py +10 -0
- atbbs-0.3.0/tui/app.py +129 -0
- atbbs-0.3.0/tui/app.tcss +171 -0
- atbbs-0.3.0/tui/fetchers.py +4 -0
- atbbs-0.3.0/tui/local_server.py +39 -0
- atbbs-0.3.0/tui/screens/__init__.py +0 -0
- atbbs-0.3.0/tui/screens/activity.py +124 -0
- atbbs-0.3.0/tui/screens/board.py +106 -0
- atbbs-0.3.0/tui/screens/compose.py +180 -0
- atbbs-0.3.0/tui/screens/home.py +122 -0
- atbbs-0.3.0/tui/screens/login.py +162 -0
- atbbs-0.3.0/tui/screens/news.py +33 -0
- atbbs-0.3.0/tui/screens/site.py +81 -0
- atbbs-0.3.0/tui/screens/thread.py +241 -0
- atbbs-0.3.0/tui/util.py +3 -0
- atbbs-0.3.0/tui/widgets/__init__.py +0 -0
- atbbs-0.3.0/tui/widgets/breadcrumb.py +85 -0
- atbbs-0.3.0/tui/widgets/post.py +122 -0
- atbbs-0.3.0/uv.lock +778 -0
- atbbs-0.3.0/web/__init__.py +0 -0
- atbbs-0.3.0/web/app.py +59 -0
- atbbs-0.3.0/web/cli.py +15 -0
- atbbs-0.3.0/web/helpers.py +20 -0
- atbbs-0.3.0/web/routes.py +284 -0
- atbbs-0.3.0/web/routes_auth.py +218 -0
- atbbs-0.3.0/web/routes_sysop.py +403 -0
- atbbs-0.3.0/web/routes_write.py +144 -0
- atbbs-0.3.0/web/static/favicon.svg +7 -0
- atbbs-0.3.0/web/static/input.css +6 -0
- atbbs-0.3.0/web/static/style.css +2 -0
- atbbs-0.3.0/web/templates/account.html +137 -0
- atbbs-0.3.0/web/templates/base.html +43 -0
- atbbs-0.3.0/web/templates/board.html +116 -0
- atbbs-0.3.0/web/templates/error.html +8 -0
- atbbs-0.3.0/web/templates/home.html +65 -0
- atbbs-0.3.0/web/templates/login.html +18 -0
- atbbs-0.3.0/web/templates/site.html +78 -0
- atbbs-0.3.0/web/templates/sysop_create.html +60 -0
- atbbs-0.3.0/web/templates/sysop_edit.html +58 -0
- atbbs-0.3.0/web/templates/sysop_moderate.html +84 -0
- atbbs-0.3.0/web/templates/thread.html +175 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: Build and Push Web Server
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [master]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
packages: write
|
|
13
|
+
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Log in to GitHub Container Registry
|
|
18
|
+
uses: docker/login-action@v3
|
|
19
|
+
with:
|
|
20
|
+
registry: ghcr.io
|
|
21
|
+
username: ${{ github.actor }}
|
|
22
|
+
password: ${{ secrets.GITHUB_TOKEN }}
|
|
23
|
+
|
|
24
|
+
- name: Build and push
|
|
25
|
+
uses: docker/build-push-action@v6
|
|
26
|
+
with:
|
|
27
|
+
context: .
|
|
28
|
+
push: true
|
|
29
|
+
tags: ghcr.io/${{ github.repository }}:latest
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Build and Publish TUI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags: ["v*"]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
|
|
14
|
+
- name: Install uv
|
|
15
|
+
uses: astral-sh/setup-uv@v4
|
|
16
|
+
|
|
17
|
+
- name: Install Tailwind CSS
|
|
18
|
+
run: |
|
|
19
|
+
curl -sL https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64 -o tailwindcss
|
|
20
|
+
chmod +x tailwindcss
|
|
21
|
+
|
|
22
|
+
- name: Build CSS
|
|
23
|
+
run: ./tailwindcss -i web/static/input.css -o web/static/style.css --minify
|
|
24
|
+
|
|
25
|
+
- name: Build package
|
|
26
|
+
run: uv build
|
|
27
|
+
|
|
28
|
+
- name: Publish to PyPI
|
|
29
|
+
env:
|
|
30
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
|
|
31
|
+
run: uv publish
|
atbbs-0.3.0/.gitignore
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
# Tailwind binary
|
|
13
|
+
tailwindcss
|
|
14
|
+
|
|
15
|
+
# Auth secrets and database
|
|
16
|
+
secrets.json
|
|
17
|
+
*.db
|
|
18
|
+
|
|
19
|
+
# Seed scripts
|
|
20
|
+
seeds/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.14
|
atbbs-0.3.0/Dockerfile
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
FROM python:3.14-slim
|
|
2
|
+
|
|
3
|
+
WORKDIR /app
|
|
4
|
+
|
|
5
|
+
# Install uv for fast dependency management
|
|
6
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
|
7
|
+
|
|
8
|
+
# Install Tailwind CSS standalone CLI
|
|
9
|
+
ADD https://github.com/tailwindlabs/tailwindcss/releases/latest/download/tailwindcss-linux-x64 /usr/local/bin/tailwindcss
|
|
10
|
+
RUN chmod +x /usr/local/bin/tailwindcss
|
|
11
|
+
|
|
12
|
+
# Copy dependency files first (layer caching)
|
|
13
|
+
COPY pyproject.toml uv.lock README.md ./
|
|
14
|
+
|
|
15
|
+
# Install dependencies
|
|
16
|
+
RUN uv sync --frozen --no-dev
|
|
17
|
+
|
|
18
|
+
# Copy application code
|
|
19
|
+
COPY main.py ./
|
|
20
|
+
COPY core/ core/
|
|
21
|
+
COPY web/ web/
|
|
22
|
+
COPY lexicons/ lexicons/
|
|
23
|
+
|
|
24
|
+
# Build Tailwind CSS
|
|
25
|
+
RUN tailwindcss -i web/static/input.css -o web/static/style.css --minify
|
|
26
|
+
|
|
27
|
+
# Create data directory for secrets and database
|
|
28
|
+
RUN mkdir -p /data
|
|
29
|
+
|
|
30
|
+
ENV ATBBS_DATA_DIR=/data
|
|
31
|
+
ENV PYTHONUNBUFFERED=1
|
|
32
|
+
|
|
33
|
+
EXPOSE 8000
|
|
34
|
+
|
|
35
|
+
CMD ["uv", "run", "hypercorn", "main:app", "--bind", "0.0.0.0:8000", "--workers", "3"]
|