sleamdge 0.0.0.dev0__tar.gz → 0.2.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.
- sleamdge-0.2.1/.copier-answers.yml +45 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/.pre-commit-config.yaml +3 -0
- sleamdge-0.2.1/.woodpecker/autoupdate-deps.yaml +14 -0
- sleamdge-0.2.1/.woodpecker/container.yaml +67 -0
- sleamdge-0.2.1/.woodpecker/docs.yaml +24 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/.woodpecker/package.yaml +25 -19
- sleamdge-0.2.1/.woodpecker/test.yaml +36 -0
- sleamdge-0.2.1/Dockerfile +93 -0
- sleamdge-0.2.1/PKG-INFO +79 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/README.md +15 -11
- sleamdge-0.2.1/commitlint.config.js +34 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docker-compose.yml +5 -3
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/conf.py +9 -4
- sleamdge-0.2.1/docs/source/config.rst +41 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/index.rst +1 -1
- sleamdge-0.2.1/pyproject.toml +155 -0
- sleamdge-0.2.1/sleamdge/__init__.py +35 -0
- sleamdge-0.2.1/sleamdge/__main__.py +6 -0
- sleamdge-0.2.1/sleamdge/command.py +0 -0
- sleamdge-0.2.1/sleamdge/config.py +0 -0
- sleamdge-0.2.1/sleamdge.egg-info/PKG-INFO +79 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge.egg-info/SOURCES.txt +3 -2
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/uv.lock +440 -391
- sleamdge-0.0.0.dev0/.woodpecker/autoupdate-deps.yaml +0 -28
- sleamdge-0.0.0.dev0/.woodpecker/container-cache.yaml +0 -27
- sleamdge-0.0.0.dev0/.woodpecker/container-ci.yaml +0 -20
- sleamdge-0.0.0.dev0/.woodpecker/container.yaml +0 -40
- sleamdge-0.0.0.dev0/.woodpecker/docs.yaml +0 -24
- sleamdge-0.0.0.dev0/.woodpecker/test.yaml +0 -32
- sleamdge-0.0.0.dev0/Dockerfile +0 -24
- sleamdge-0.0.0.dev0/PKG-INFO +0 -733
- sleamdge-0.0.0.dev0/commitlint.config.js +0 -2
- sleamdge-0.0.0.dev0/docs/source/config.rst +0 -14
- sleamdge-0.0.0.dev0/pyproject.toml +0 -127
- sleamdge-0.0.0.dev0/sleamdge/__init__.py +0 -13
- sleamdge-0.0.0.dev0/sleamdge/__main__.py +0 -3
- sleamdge-0.0.0.dev0/sleamdge.egg-info/PKG-INFO +0 -733
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/.gitignore +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/LICENSE +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/doap.xml +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/Makefile +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/codeberg.svg +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/features.rst +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/readme.rst +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/docs/source/user.rst +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/setup.cfg +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/client.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/contact.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/gateway.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/group.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/session.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/types.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge/util.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge.egg-info/dependency_links.txt +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge.egg-info/entry_points.txt +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge.egg-info/requires.txt +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/sleamdge.egg-info/top_level.txt +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/tests/test_base.py +0 -0
- {sleamdge-0.0.0.dev0 → sleamdge-0.2.1}/tests/test_util.py +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Do not edit manually!
|
|
2
|
+
# Changes here will be overwritten by copier.
|
|
3
|
+
# https://copier.readthedocs.io/
|
|
4
|
+
_commit: 6fcd5f7
|
|
5
|
+
_src_path: git+https://codeberg.org/slidge/legacy-module-template
|
|
6
|
+
authors:
|
|
7
|
+
- email: nicoco@nicoco.fr
|
|
8
|
+
name: Nicolas Cedilnik
|
|
9
|
+
ci_id: 14070
|
|
10
|
+
container_build_files:
|
|
11
|
+
- uv.lock
|
|
12
|
+
- pyproject.toml
|
|
13
|
+
container_build_native: false
|
|
14
|
+
container_builder_deps:
|
|
15
|
+
- git
|
|
16
|
+
- make
|
|
17
|
+
container_builder_deps_backports: []
|
|
18
|
+
container_debian_version: bookworm
|
|
19
|
+
container_dev_custom_hot_reload: ''
|
|
20
|
+
container_dev_extra_lines: ''
|
|
21
|
+
container_python_version: '3.11'
|
|
22
|
+
container_requires_rustup: false
|
|
23
|
+
container_runtime_deps: []
|
|
24
|
+
custom_build_system: ''
|
|
25
|
+
custom_readme_head: ''
|
|
26
|
+
custom_readme_tail: ''
|
|
27
|
+
dependencies:
|
|
28
|
+
- steamio>=1.1,<2
|
|
29
|
+
- slidge>=0.2.0a3,<0.3
|
|
30
|
+
dev_dependencies: []
|
|
31
|
+
intersphinx_mappings: []
|
|
32
|
+
lint_excludes: []
|
|
33
|
+
mypy_ignores: []
|
|
34
|
+
native_builds: false
|
|
35
|
+
pre_commit_custom_hooks: ''
|
|
36
|
+
project_name: sleamdge
|
|
37
|
+
requires_lottie: false
|
|
38
|
+
silo:
|
|
39
|
+
lib:
|
|
40
|
+
name: steamio
|
|
41
|
+
url: https://steam-py.github.io/docs/latest/
|
|
42
|
+
name: Steam
|
|
43
|
+
url: https://steamcommunity.com/
|
|
44
|
+
uv_sources: []
|
|
45
|
+
wheels: false
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
4
|
+
when:
|
|
5
|
+
event: [cron, manual]
|
|
6
|
+
cron: lockfile
|
|
7
|
+
|
|
8
|
+
steps:
|
|
9
|
+
refresh-deps:
|
|
10
|
+
image: codeberg.org/slidge/woodpecker-uv-update-lockfile:latest
|
|
11
|
+
pull: true
|
|
12
|
+
settings:
|
|
13
|
+
token:
|
|
14
|
+
from_secret: CODEBERG_TOKEN
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
4
|
+
when:
|
|
5
|
+
event: [push, tag]
|
|
6
|
+
path:
|
|
7
|
+
- "sleamdge/**"
|
|
8
|
+
- Dockerfile
|
|
9
|
+
- pyproject.toml
|
|
10
|
+
- uv.lock
|
|
11
|
+
|
|
12
|
+
labels:
|
|
13
|
+
platform: linux/amd64
|
|
14
|
+
|
|
15
|
+
clone:
|
|
16
|
+
- name: clone-deep
|
|
17
|
+
image: woodpeckerci/plugin-git
|
|
18
|
+
settings:
|
|
19
|
+
tags: true
|
|
20
|
+
partial: false
|
|
21
|
+
|
|
22
|
+
variables:
|
|
23
|
+
- &settings
|
|
24
|
+
repo: codeberg.org/${CI_REPO_OWNER}/sleamdge
|
|
25
|
+
username: ${CI_REPO_OWNER}
|
|
26
|
+
password:
|
|
27
|
+
from_secret: CODEBERG_TOKEN
|
|
28
|
+
registry: codeberg.org
|
|
29
|
+
target: sleamdge
|
|
30
|
+
# this only caches one of the two platforms unfortunately
|
|
31
|
+
# https://github.com/docker/buildx/discussions/1382
|
|
32
|
+
# https://github.com/docker/buildx/issues/1044
|
|
33
|
+
cache_images:
|
|
34
|
+
- codeberg.org/${CI_REPO_OWNER}/sleamdge:buildcache
|
|
35
|
+
platforms: linux/amd64,linux/arm64
|
|
36
|
+
|
|
37
|
+
steps:
|
|
38
|
+
build-tag:
|
|
39
|
+
image: woodpeckerci/plugin-docker-buildx
|
|
40
|
+
when:
|
|
41
|
+
event: [tag]
|
|
42
|
+
settings:
|
|
43
|
+
<<: *settings
|
|
44
|
+
tags:
|
|
45
|
+
- latest
|
|
46
|
+
- ${CI_COMMIT_TAG}
|
|
47
|
+
|
|
48
|
+
build-branch:
|
|
49
|
+
when:
|
|
50
|
+
event: [push]
|
|
51
|
+
image: woodpeckerci/plugin-docker-buildx
|
|
52
|
+
settings:
|
|
53
|
+
<<: *settings
|
|
54
|
+
tags:
|
|
55
|
+
- ${CI_COMMIT_BRANCH}
|
|
56
|
+
|
|
57
|
+
build-ci:
|
|
58
|
+
when:
|
|
59
|
+
event: [push]
|
|
60
|
+
branch: ${CI_REPO_DEFAULT_BRANCH}
|
|
61
|
+
image: woodpeckerci/plugin-docker-buildx
|
|
62
|
+
settings:
|
|
63
|
+
<<: *settings
|
|
64
|
+
target: ci
|
|
65
|
+
tag: ci
|
|
66
|
+
cache_images:
|
|
67
|
+
- codeberg.org/${CI_REPO_OWNER}/sleamdge:buildcache-ci
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
4
|
+
when:
|
|
5
|
+
event: [push, tag, pull_request]
|
|
6
|
+
path: ["sleamdge/**/*.py", "docs/**/*", "README.md"]
|
|
7
|
+
|
|
8
|
+
steps:
|
|
9
|
+
build:
|
|
10
|
+
image: codeberg.org/${CI_REPO_OWNER}/sleamdge:ci
|
|
11
|
+
pull: true
|
|
12
|
+
commands:
|
|
13
|
+
- cp -r /venv .venv
|
|
14
|
+
- uv sync --all-groups --all-extras
|
|
15
|
+
- cd docs && make html
|
|
16
|
+
|
|
17
|
+
publish:
|
|
18
|
+
image: codeberg.org/slidge/woodpecker-publish-pages
|
|
19
|
+
pull: true
|
|
20
|
+
when:
|
|
21
|
+
event: [push, tag]
|
|
22
|
+
settings:
|
|
23
|
+
token:
|
|
24
|
+
from_secret: CODEBERG_TOKEN
|
|
@@ -1,33 +1,37 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
1
4
|
when:
|
|
2
|
-
event: [
|
|
3
|
-
path: [
|
|
5
|
+
event: [push, tag]
|
|
6
|
+
path: ["sleamdge/**/*", "pyproject.toml", "README.md"]
|
|
7
|
+
branch: main
|
|
4
8
|
|
|
5
9
|
variables:
|
|
6
|
-
- &image codeberg.org
|
|
7
|
-
- &only-main-tag
|
|
8
|
-
when:
|
|
9
|
-
branch: main
|
|
10
|
-
event: tag
|
|
10
|
+
- &ci-image codeberg.org/${CI_REPO_OWNER}/sleamdge:ci
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
image:
|
|
15
|
-
|
|
12
|
+
clone:
|
|
13
|
+
- name: clone-deep
|
|
14
|
+
image: woodpeckerci/plugin-git
|
|
15
|
+
settings:
|
|
16
|
+
tags: true
|
|
17
|
+
partial: false
|
|
16
18
|
|
|
19
|
+
steps:
|
|
17
20
|
changelog:
|
|
18
21
|
image: codeberg.org/slidge/woodpecker-generate-changelog
|
|
19
22
|
pull: true
|
|
20
23
|
|
|
21
24
|
build:
|
|
22
|
-
image: *image
|
|
25
|
+
image: *ci-image
|
|
26
|
+
pull: true
|
|
23
27
|
commands:
|
|
24
28
|
- uv build
|
|
25
29
|
|
|
26
30
|
codeberg-pypi:
|
|
27
31
|
when:
|
|
28
|
-
event: [
|
|
32
|
+
event: [push, tag]
|
|
33
|
+
image: *ci-image
|
|
29
34
|
depends_on: build
|
|
30
|
-
image: *image
|
|
31
35
|
environment:
|
|
32
36
|
CODEBERG_TOKEN:
|
|
33
37
|
from_secret: CODEBERG_TOKEN
|
|
@@ -35,9 +39,10 @@ steps:
|
|
|
35
39
|
- uv publish --index codeberg --token $CODEBERG_TOKEN
|
|
36
40
|
|
|
37
41
|
pypi:
|
|
38
|
-
image: *image
|
|
42
|
+
image: *ci-image
|
|
39
43
|
depends_on: build
|
|
40
|
-
|
|
44
|
+
when:
|
|
45
|
+
event: tag
|
|
41
46
|
environment:
|
|
42
47
|
PYPI_TOKEN:
|
|
43
48
|
from_secret: PYPI_TOKEN
|
|
@@ -46,11 +51,12 @@ steps:
|
|
|
46
51
|
|
|
47
52
|
codeberg-release:
|
|
48
53
|
image: woodpeckerci/plugin-release
|
|
49
|
-
depends_on: build
|
|
50
|
-
|
|
54
|
+
depends_on: [changelog, build]
|
|
55
|
+
when:
|
|
56
|
+
event: tag
|
|
51
57
|
settings:
|
|
52
58
|
files:
|
|
53
|
-
- dist
|
|
59
|
+
- dist/sleamdge*
|
|
54
60
|
api_key:
|
|
55
61
|
from_secret: CODEBERG_TOKEN
|
|
56
62
|
note: CHANGELOG
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
4
|
+
when:
|
|
5
|
+
event: [push, pull_request]
|
|
6
|
+
path: [pyproject.toml, uv.lock, "**/*.py"]
|
|
7
|
+
|
|
8
|
+
variables:
|
|
9
|
+
- &ci-image codeberg.org/${CI_REPO_OWNER}/sleamdge:ci
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
update-venv:
|
|
13
|
+
image: *ci-image
|
|
14
|
+
pull: true
|
|
15
|
+
commands:
|
|
16
|
+
- cp -r /venv .venv
|
|
17
|
+
- uv sync --all-groups --all-extras
|
|
18
|
+
|
|
19
|
+
ruff:
|
|
20
|
+
image: *ci-image
|
|
21
|
+
depends_on: update-venv
|
|
22
|
+
commands:
|
|
23
|
+
- ruff check
|
|
24
|
+
- ruff format --check
|
|
25
|
+
|
|
26
|
+
mypy:
|
|
27
|
+
image: *ci-image
|
|
28
|
+
depends_on: update-venv
|
|
29
|
+
commands:
|
|
30
|
+
- mypy
|
|
31
|
+
|
|
32
|
+
test:
|
|
33
|
+
image: *ci-image
|
|
34
|
+
depends_on: update-venv
|
|
35
|
+
commands:
|
|
36
|
+
- python -m pytest tests
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# This file is automatically generated with copier using https://codeberg.org/slidge/legacy-module-template
|
|
3
|
+
|
|
4
|
+
# Builder
|
|
5
|
+
# *******
|
|
6
|
+
FROM ghcr.io/astral-sh/uv:python3.11-bookworm-slim AS builder
|
|
7
|
+
|
|
8
|
+
# install git for setuptools scm
|
|
9
|
+
RUN apt-get update -y && \
|
|
10
|
+
apt-get install \
|
|
11
|
+
git \
|
|
12
|
+
make \
|
|
13
|
+
-y --no-install-recommends && \
|
|
14
|
+
rm -rf /var/lib/apt/lists/*
|
|
15
|
+
WORKDIR /build
|
|
16
|
+
ENV UV_PROJECT_ENVIRONMENT=/venv
|
|
17
|
+
ENV PATH="/venv/bin:/root/.cargo/bin:$PATH"
|
|
18
|
+
# By making the venv relocatable, we can copy it to /workspace/.venv in CI, and only update
|
|
19
|
+
# dependencies that might be out-of-date. If uv.lock is not modified, then updating
|
|
20
|
+
# the .venv is a no-op.
|
|
21
|
+
# This allows us to not wait on the CI container build for the test workflows to run,
|
|
22
|
+
# and also to run workflows for pull requests that modify the lockfile. In this,
|
|
23
|
+
# situation, updating the CI container is not an option.
|
|
24
|
+
RUN uv venv $UV_PROJECT_ENVIRONMENT --relocatable
|
|
25
|
+
COPY uv.lock pyproject.toml README.md .
|
|
26
|
+
COPY sleamdge sleamdge
|
|
27
|
+
# install dependencies in /venv
|
|
28
|
+
# .git/ needs to be mounted for setuptools-scm to set the version
|
|
29
|
+
RUN --mount=source=.git,target=/build/.git,type=bind \
|
|
30
|
+
uv sync --no-dev
|
|
31
|
+
|
|
32
|
+
# CI container
|
|
33
|
+
# ************
|
|
34
|
+
FROM builder AS ci
|
|
35
|
+
|
|
36
|
+
# In CI we copy /venv to .venv, then update it for the whole workflow.
|
|
37
|
+
RUN --mount=source=.git,target=/build/.git,type=bind \
|
|
38
|
+
uv sync --all-groups --no-install-project
|
|
39
|
+
ENV UV_PROJECT_ENVIRONMENT=.venv
|
|
40
|
+
ENV UV_LINK_MODE=copy
|
|
41
|
+
ENV PATH="/woodpecker/src/codeberg.org/slidge/sleamdge/.venv/bin:$PATH"
|
|
42
|
+
|
|
43
|
+
# Dev container
|
|
44
|
+
# *************
|
|
45
|
+
FROM builder AS dev
|
|
46
|
+
|
|
47
|
+
# copy "localhost" certs from the prosody slidge dev container, so
|
|
48
|
+
COPY --from=codeberg.org/slidge/prosody-slidge-dev:latest \
|
|
49
|
+
/etc/prosody/certs/localhost.crt \
|
|
50
|
+
/usr/local/share/ca-certificates/
|
|
51
|
+
RUN update-ca-certificates
|
|
52
|
+
RUN apt-get update -y \
|
|
53
|
+
&& apt-get install -y --no-install-recommends \
|
|
54
|
+
libmagic1 \
|
|
55
|
+
media-types \
|
|
56
|
+
shared-mime-info \
|
|
57
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
58
|
+
RUN uv pip install watchdog[watchmedo]
|
|
59
|
+
COPY --from=ci /venv /venv
|
|
60
|
+
ENTRYPOINT ["watchmedo", "auto-restart", \
|
|
61
|
+
"--pattern", "*.py", \
|
|
62
|
+
"--directory", "/build/sleamdge", \
|
|
63
|
+
"--recursive", \
|
|
64
|
+
"sleamdge", "--", \
|
|
65
|
+
"--jid", "slidge.localhost", \
|
|
66
|
+
"--secret", "secret", \
|
|
67
|
+
"--debug", \
|
|
68
|
+
"--upload-service", "upload.localhost", \
|
|
69
|
+
"--admins", "test@localhost", \
|
|
70
|
+
"--dev-mode"]
|
|
71
|
+
|
|
72
|
+
# Prod container
|
|
73
|
+
# **************
|
|
74
|
+
FROM docker.io/python:3.11-slim-bookworm AS sleamdge
|
|
75
|
+
|
|
76
|
+
ENV PYTHONUNBUFFERED=1
|
|
77
|
+
ENV PATH="/venv/bin:$PATH"
|
|
78
|
+
STOPSIGNAL SIGINT
|
|
79
|
+
WORKDIR /var/lib/slidge
|
|
80
|
+
# libmagic1: to guess mime type from files
|
|
81
|
+
# media-types: to determine file name suffix based on file type
|
|
82
|
+
RUN apt-get update -y \
|
|
83
|
+
&& apt-get install -y --no-install-recommends \
|
|
84
|
+
libmagic1 \
|
|
85
|
+
media-types \
|
|
86
|
+
shared-mime-info \
|
|
87
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
88
|
+
RUN addgroup --system --gid 10000 slidge
|
|
89
|
+
RUN adduser --system --uid 10000 --ingroup slidge --home /var/lib/slidge slidge
|
|
90
|
+
USER slidge
|
|
91
|
+
COPY --from=builder /venv /venv
|
|
92
|
+
COPY --from=builder /build/sleamdge /venv/lib/python3.11/site-packages/sleamdge
|
|
93
|
+
ENTRYPOINT ["sleamdge"]
|
sleamdge-0.2.1/PKG-INFO
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sleamdge
|
|
3
|
+
Version: 0.2.1
|
|
4
|
+
Summary: A Steam/XMPP gateway
|
|
5
|
+
Author-email: Nicolas Cedilnik <nicoco@nicoco.fr>
|
|
6
|
+
License-Expression: AGPL-3.0-or-later
|
|
7
|
+
Project-URL: Homepage, https://codeberg.org/slidge/sleamdge
|
|
8
|
+
Project-URL: Issues, https://codeberg.org/slidge/sleamdge/issues
|
|
9
|
+
Project-URL: Repository, https://codeberg.org/slidge/sleamdge
|
|
10
|
+
Project-URL: Chat room, https://slidge.im/xmpp-web/#/guest?join=slidge@conference.nicoco.fr
|
|
11
|
+
Project-URL: Documentation, https://slidge.im/docs/sleamdge/main
|
|
12
|
+
Project-URL: changelog, https://codeberg.org/slidge/sleamdge/releases
|
|
13
|
+
Keywords: xmpp,gateway,bridge,instant messaging,chat,steam
|
|
14
|
+
Classifier: Topic :: Internet :: XMPP
|
|
15
|
+
Requires-Python: >=3.11
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: steamio<2,>=1.1
|
|
19
|
+
Requires-Dist: slidge<0.3,>=0.2.0a3
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
# sleamdge
|
|
23
|
+
|
|
24
|
+
A
|
|
25
|
+
[feature-rich](https://slidge.im/docs/sleamdge/main/features.html)
|
|
26
|
+
[Steam](https://steamcommunity.com/) to
|
|
27
|
+
[XMPP](https://xmpp.org/) puppeteering
|
|
28
|
+
[gateway](https://xmpp.org/extensions/xep-0100.html), based on
|
|
29
|
+
[slidge](https://slidge.im) and
|
|
30
|
+
[steamio](https://steam-py.github.io/docs/latest/).
|
|
31
|
+
|
|
32
|
+
[](https://pypi.org/project/sleamdge/)
|
|
33
|
+
[](https://ci.codeberg.org/repos/14070)
|
|
34
|
+
[](https://slidge.im/xmpp-web/#/guest?join=slidge@conference.nicoco.fr)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
Refer to the [slidge admin documentation](https://slidge.im/docs/slidge/main/admin/)
|
|
40
|
+
for general info on how to set up an XMPP server component.
|
|
41
|
+
|
|
42
|
+
### Containers
|
|
43
|
+
|
|
44
|
+
From [the codeberg package registry](https://codeberg.org/slidge/-/packages/container/sleamdge/latest)
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
docker run codeberg.org/slidge/sleamdge # works with podman too
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Use the `:latest` tag for the latest release, `:vX.X.X` for release X.X.X, and `:main`
|
|
51
|
+
for the bleeding edge.
|
|
52
|
+
|
|
53
|
+
### Python package
|
|
54
|
+
|
|
55
|
+
With [pipx](https://pypa.github.io/pipx/):
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
|
|
59
|
+
# for the latest stable release (if any)
|
|
60
|
+
pipx install sleamdge
|
|
61
|
+
|
|
62
|
+
# for the bleeding edge
|
|
63
|
+
pipx install sleamdge \
|
|
64
|
+
--pip-args='--extra-index-url https://codeberg.org/api/packages/slidge/pypi/simple/'
|
|
65
|
+
|
|
66
|
+
sleamdge --help
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Documentation
|
|
70
|
+
|
|
71
|
+
Hosted on [codeberg pages](https://slidge.im/docs/sleamdge/main/).
|
|
72
|
+
|
|
73
|
+
## Dev
|
|
74
|
+
|
|
75
|
+
```sh
|
|
76
|
+
git clone https://codeberg.org/slidge/sleamdge
|
|
77
|
+
cd sleamdge
|
|
78
|
+
docker-compose up # works with podman-compose too
|
|
79
|
+
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# sleamdge
|
|
2
2
|
|
|
3
3
|
A
|
|
4
|
-
[feature-rich](https://slidge.im/sleamdge/features.html)
|
|
4
|
+
[feature-rich](https://slidge.im/docs/sleamdge/main/features.html)
|
|
5
5
|
[Steam](https://steamcommunity.com/) to
|
|
6
6
|
[XMPP](https://xmpp.org/) puppeteering
|
|
7
7
|
[gateway](https://xmpp.org/extensions/xep-0100.html), based on
|
|
@@ -9,8 +9,9 @@ A
|
|
|
9
9
|
[steamio](https://steam-py.github.io/docs/latest/).
|
|
10
10
|
|
|
11
11
|
[](https://pypi.org/project/sleamdge/)
|
|
12
|
-
[](https://slidge.im/xmpp-web/#/guest)
|
|
12
|
+
[](https://ci.codeberg.org/repos/14070)
|
|
13
|
+
[](https://slidge.im/xmpp-web/#/guest?join=slidge@conference.nicoco.fr)
|
|
14
|
+
|
|
14
15
|
|
|
15
16
|
## Installation
|
|
16
17
|
|
|
@@ -19,12 +20,15 @@ for general info on how to set up an XMPP server component.
|
|
|
19
20
|
|
|
20
21
|
### Containers
|
|
21
22
|
|
|
22
|
-
From [the codeberg package registry](https://codeberg.org/slidge/-/packages
|
|
23
|
+
From [the codeberg package registry](https://codeberg.org/slidge/-/packages/container/sleamdge/latest)
|
|
23
24
|
|
|
24
25
|
```sh
|
|
25
|
-
docker run codeberg.org/slidge/sleamdge
|
|
26
|
+
docker run codeberg.org/slidge/sleamdge # works with podman too
|
|
26
27
|
```
|
|
27
28
|
|
|
29
|
+
Use the `:latest` tag for the latest release, `:vX.X.X` for release X.X.X, and `:main`
|
|
30
|
+
for the bleeding edge.
|
|
31
|
+
|
|
28
32
|
### Python package
|
|
29
33
|
|
|
30
34
|
With [pipx](https://pypa.github.io/pipx/):
|
|
@@ -35,20 +39,20 @@ With [pipx](https://pypa.github.io/pipx/):
|
|
|
35
39
|
pipx install sleamdge
|
|
36
40
|
|
|
37
41
|
# for the bleeding edge
|
|
38
|
-
pipx install sleamdge
|
|
42
|
+
pipx install sleamdge \
|
|
39
43
|
--pip-args='--extra-index-url https://codeberg.org/api/packages/slidge/pypi/simple/'
|
|
40
44
|
|
|
41
|
-
# to update bleeding edge installs
|
|
42
|
-
pipx install sleamdge==0.0.0.dev0 \
|
|
43
|
-
--pip-args='--extra-index-url https://codeberg.org/api/packages/slidge/pypi/simple/' --force
|
|
44
|
-
|
|
45
45
|
sleamdge --help
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
## Documentation
|
|
49
|
+
|
|
50
|
+
Hosted on [codeberg pages](https://slidge.im/docs/sleamdge/main/).
|
|
51
|
+
|
|
48
52
|
## Dev
|
|
49
53
|
|
|
50
54
|
```sh
|
|
51
55
|
git clone https://codeberg.org/slidge/sleamdge
|
|
52
56
|
cd sleamdge
|
|
53
|
-
docker-compose up
|
|
57
|
+
docker-compose up # works with podman-compose too
|
|
54
58
|
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// DO NOT EDIT
|
|
2
|
+
// Generated from .copier-answers.yml
|
|
3
|
+
//
|
|
4
|
+
// This files defines the allowed "headers" for the commit messages.
|
|
5
|
+
// Following the rules makes the changelog generation easier.
|
|
6
|
+
// They come from angular conventions, unless commented.
|
|
7
|
+
const Configuration = {
|
|
8
|
+
extends: ['@commitlint/config-conventional'],
|
|
9
|
+
rules: {
|
|
10
|
+
'type-enum':
|
|
11
|
+
[
|
|
12
|
+
2,
|
|
13
|
+
'always',
|
|
14
|
+
[
|
|
15
|
+
'build',
|
|
16
|
+
'chore',
|
|
17
|
+
'ci',
|
|
18
|
+
'docs',
|
|
19
|
+
'feat',
|
|
20
|
+
'fix',
|
|
21
|
+
'perf',
|
|
22
|
+
'refactor',
|
|
23
|
+
'revert',
|
|
24
|
+
'style',
|
|
25
|
+
'test',
|
|
26
|
+
'compat', // workaround to play nice with non-compliant clients or servers; ideally reverted once fixed upstream
|
|
27
|
+
'cfix', // fixes an unreleased commit, should not appear in changelog
|
|
28
|
+
'imprv', // improvement of an existing feature
|
|
29
|
+
]
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
module.exports = Configuration
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
2
4
|
services:
|
|
3
5
|
slidge:
|
|
4
6
|
build:
|
|
@@ -6,8 +8,8 @@ services:
|
|
|
6
8
|
target: dev
|
|
7
9
|
network_mode: service:prosody
|
|
8
10
|
volumes:
|
|
9
|
-
- ./sleamdge:/
|
|
10
|
-
- ./persistent:/var/lib/slidge
|
|
11
|
+
- ./sleamdge:/build/sleamdge
|
|
12
|
+
- ./persistent:/var/lib/slidge/slidge.localhost
|
|
11
13
|
depends_on:
|
|
12
14
|
prosody:
|
|
13
15
|
condition: service_started
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
# DO NOT EDIT
|
|
2
|
+
# Generated from .copier-answers.yml
|
|
3
|
+
|
|
4
|
+
import os
|
|
1
5
|
from datetime import datetime
|
|
2
6
|
from pathlib import Path
|
|
3
7
|
|
|
8
|
+
from slidge.__version__ import __version__ as slidge_version
|
|
9
|
+
|
|
4
10
|
project = "sleamdge"
|
|
5
|
-
branch = "main"
|
|
6
|
-
slidge_version = "main"
|
|
7
11
|
copyright = f"{datetime.today().year}, the {project} contributors"
|
|
8
12
|
author = f"the {project} contributors"
|
|
13
|
+
branch = os.getenv("CI_COMMIT_BRANCH", "main")
|
|
14
|
+
|
|
9
15
|
extensions = [
|
|
10
16
|
"sphinx.ext.autodoc",
|
|
11
17
|
"sphinx.ext.intersphinx",
|
|
@@ -26,12 +32,11 @@ autoapi_python_class_content = "both"
|
|
|
26
32
|
|
|
27
33
|
autoapi_type = "python"
|
|
28
34
|
autoapi_dirs = ["../../sleamdge"]
|
|
29
|
-
autoapi_ignore = ["generated/*"]
|
|
30
35
|
|
|
31
36
|
intersphinx_mapping = {
|
|
32
37
|
"python": ("https://docs.python.org/3", None),
|
|
33
38
|
"slixmpp": ("https://slixmpp.readthedocs.io/en/latest/", None),
|
|
34
|
-
"slidge": (f"https://slidge.im/docs/slidge/{slidge_version}", None),
|
|
39
|
+
"slidge": (f"https://slidge.im/docs/slidge/{slidge_version}/", None),
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
extlinks = {"xep": ("https://xmpp.org/extensions/xep-%s.html", "XEP-%s")}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Configuration
|
|
2
|
+
=============
|
|
3
|
+
|
|
4
|
+
Minimal setup
|
|
5
|
+
-------------
|
|
6
|
+
|
|
7
|
+
For a minimal ``prosody <https://prosody.im>`` based setup, add these lines at the bottom of
|
|
8
|
+
``/etc/prosody/prosody.cfg.lua``:
|
|
9
|
+
|
|
10
|
+
.. code-block:: lua
|
|
11
|
+
|
|
12
|
+
Component "sleamdge.example.org"
|
|
13
|
+
component_secret = "secret"
|
|
14
|
+
|
|
15
|
+
And start sleamdge with:
|
|
16
|
+
|
|
17
|
+
.. code-block:: bash
|
|
18
|
+
|
|
19
|
+
sleamdge \
|
|
20
|
+
--jid sleamdge.example.org \
|
|
21
|
+
--secret secret \
|
|
22
|
+
--home-dir /somewhere/writable
|
|
23
|
+
|
|
24
|
+
Advanced usage
|
|
25
|
+
--------------
|
|
26
|
+
|
|
27
|
+
Refer to the `slidge admin docs <https://slidge.im/docs/slidge/main/admin>`_ for more
|
|
28
|
+
advanced setups and examples of configuration for other XMPP servers.
|
|
29
|
+
|
|
30
|
+
You will probably want to add support for `attachments <https://slidge.im/docs/slidge/main/admin/attachments.html>`_
|
|
31
|
+
received from Steam, and setup sleamdge as a `privileged component <https://slidge.im/docs/slidge/main/admin/privilege.html>`_
|
|
32
|
+
for better UX.
|
|
33
|
+
|
|
34
|
+
sleamdge-specific config
|
|
35
|
+
------------------------
|
|
36
|
+
|
|
37
|
+
All `generic slidge configuration options <https://slidge.im/docs/slidge/main/admin/config/#common-config>`_
|
|
38
|
+
apply.
|
|
39
|
+
sleamdge provides these additional component-wide options:
|
|
40
|
+
|
|
41
|
+
.. config-obj:: sleamdge.config
|
|
@@ -2,7 +2,7 @@ sleamdge
|
|
|
2
2
|
========
|
|
3
3
|
|
|
4
4
|
A
|
|
5
|
-
`feature-rich <https://slidge.im/sleamdge/features.html>`_
|
|
5
|
+
`feature-rich <https://slidge.im/docs/sleamdge/main/features.html>`_
|
|
6
6
|
`Steam <https://steamcommunity.com/>`_ to
|
|
7
7
|
`XMPP <https://xmpp.org/>`_ puppeteering
|
|
8
8
|
`gateway <https://xmpp.org/extensions/xep-0100.html>`_, based on
|