Initial commit

This commit is contained in:
2026-02-03 21:38:23 -05:00
commit e261af3dd1
6 changed files with 1526 additions and 0 deletions

109
.gitignore vendored Normal file
View File

@@ -0,0 +1,109 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
requirements.txt
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
docs/awesome_template*.rst
docs/modules.rst
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# dotenv
.env
# virtualenv
.venv
venv/
ENV/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
# Pycharm
.idea/
.idea/vcs.xml

71
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,71 @@
---
repos:
- repo: local
hooks:
- id: end-of-file-fixer
name: Enforce end of file format
entry: end-of-file-fixer
language: system
types: [text]
- id: trailing-whitespace-fixer
name: Enforce removal of trailing whitespace
entry: trailing-whitespace-fixer
language: system
types: [text]
- id: black
name: Enforce black formatting for python
entry: black
language: system
types: [python]
- id: blacken-docs
name: Enforce black formatting for python documentation
entry: blacken-docs
language: system
types: [text]
- id: reorder-python-imports
name: Enforce import ordering for python
entry: isort
args:
- --filter-files
language: system
require_serial: true
types: [python]
- id: mdformat
name: Enforce mdformat formatting for markdown
entry: mdformat
language: system
args:
- "--number"
- "--wrap=90"
types: [markdown]
- id: check-toml
name: Check for valid TOML file syntax
entry: check-toml
language: system
types: [toml]
- id: check-json
name: Check for valid JSON file syntax
entry: check-json
language: system
types: [json]
- id: check-yaml
name: Check for valid YAML file syntax
entry: check-yaml
args:
- "--unsafe"
language: system
types: [yaml]
- id: check-merge-conflict
name: Check for unresolved merge conflicts
entry: check-merge-conflict
language: system
types: [text]

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# platform-swarm-node-psk
Allow Swarm nodes to exchange join tokens using a PSK

View File

1314
poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

29
pyproject.toml Normal file
View File

@@ -0,0 +1,29 @@
[tool.poetry]
name = "platform-swarm-node-psk"
version = "0.1.0"
description = "Allow nodes to exchange join tokens with a PSK"
authors = ["Ethan Paul <me@enp.one>"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.14"
fastapi = "^0.128.0"
docker = "^7.1.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[dependency-groups]
dev = [
"pre-commit (>=4.5.1,<5.0.0)",
"ipython (>=9.10.0,<10.0.0)",
"pre-commit-hooks (>=6.0.0,<7.0.0)",
"mdformat (>=1.0.0,<2.0.0)",
"mdformat-gfm (>=1.0.0,<2.0.0)",
"black (>=26.1.0,<27.0.0)",
"isort (>=7.0.0,<8.0.0)",
"blacken-docs (>=1.20.0,<2.0.0)"
]