chore: add poetry and CI tests

This commit is contained in:
thePR0M3TH3AN
2025-08-06 17:06:28 -04:00
parent f571ded60c
commit fd419fb943
3 changed files with 3125 additions and 5 deletions

38
.github/workflows/tests.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Tests
on:
push:
branches: ["**"]
pull_request:
branches: ["**"]
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10", "3.11", "3.12"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
run: pipx install poetry
- name: Install dependencies
run: poetry install
- name: Check formatting
run: poetry run black --check .
- name: Run security audit
run: poetry run pip-audit
- name: Run tests with coverage
run: |
poetry run coverage run -m pytest
poetry run coverage xml
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.os }}-py${{ matrix.python-version }}
path: coverage.xml

3042
poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,47 @@
[project] [tool.poetry]
name = "seedpass" name = "seedpass"
version = "0.1.0" version = "0.1.0"
description = "Deterministic password manager with a BeeWare GUI"
authors = []
[build-system] [tool.poetry.dependencies]
requires = ["setuptools>=61", "wheel"] python = ">=3.10,<3.13"
build-backend = "setuptools.build_meta" toga-core = ">=0.5.2"
colorama = ">=0.4.6"
termcolor = ">=1.1.0"
cryptography = ">=40.0.2"
bip-utils = ">=2.5.0"
bech32 = "1.2.0"
coincurve = ">=18.0.0"
mnemonic = "*"
aiohttp = ">=3.12.15"
bcrypt = "*"
portalocker = ">=2.8"
nostr-sdk = ">=0.43"
websocket-client = "1.7.0"
websockets = ">=15.0.0"
tomli = "*"
pgpy = "0.6.0"
pyotp = ">=2.8.0"
pyperclip = "*"
qrcode = ">=8.2"
typer = ">=0.12.3"
fastapi = ">=0.116.0"
uvicorn = ">=0.35.0"
httpx = ">=0.28.1"
requests = ">=2.32"
python-multipart = ">=0.0.20"
orjson = "*"
argon2-cffi = "*"
[project.scripts] [tool.poetry.group.dev.dependencies]
pytest = "^8.2"
coverage = "^7.5"
black = "^24.3"
pip-audit = "^2.7"
pytest-xdist = "^3.5"
[tool.poetry.scripts]
seedpass = "seedpass.cli:app" seedpass = "seedpass.cli:app"
seedpass-gui = "seedpass_gui.app:main" seedpass-gui = "seedpass_gui.app:main"
@@ -49,3 +84,8 @@ requires = [
"argon2-cffi", "argon2-cffi",
] ]
icon = "logo/png/SeedPass-Logo-24.png" icon = "logo/png/SeedPass-Logo-24.png"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"