mirror of
https://github.com/aquatix/digimarks.git
synced 2025-12-06 22:05:09 +01:00
More uv usage
This commit is contained in:
@@ -30,7 +30,10 @@ necessary packages:
|
|||||||
git clone https://github.com/aquatix/digimarks.git
|
git clone https://github.com/aquatix/digimarks.git
|
||||||
cd digimarks
|
cd digimarks
|
||||||
mkvirtualenv digimarks # or whatever project you are working on
|
mkvirtualenv digimarks # or whatever project you are working on
|
||||||
pip install -r requirements.txt
|
# If you just want to run it, no need for development dependencies
|
||||||
|
uv sync --active --no-dev
|
||||||
|
# Otherwise, install everything
|
||||||
|
uv sync --active
|
||||||
|
|
||||||
|
|
||||||
Migrating from version 1
|
Migrating from version 1
|
||||||
|
|||||||
@@ -6,20 +6,19 @@ build-backend = "setuptools.build_meta"
|
|||||||
name = "digimarks"
|
name = "digimarks"
|
||||||
version = "1.1.99"
|
version = "1.1.99"
|
||||||
authors = [
|
authors = [
|
||||||
{name = "Michiel Scholten", email = "michiel@diginaut.net"},
|
{ name = "Michiel Scholten", email = "michiel@diginaut.net" },
|
||||||
]
|
]
|
||||||
description='Simple bookmarking service, using a SQLite database to store bookmarks, supporting tags, automatic title fetching and REST API calls.'
|
description = 'Simple bookmarking service, using a SQLite database to store bookmarks, supporting tags, automatic title fetching and REST API calls.'
|
||||||
readme = "README.rst"
|
readme = "README.rst"
|
||||||
requires-python = ">=3.7"
|
requires-python = ">=3.10"
|
||||||
keywords = ["bookmarks", "api"]
|
keywords = ["bookmarks", "api"]
|
||||||
license = {text = "Apache"}
|
license = { text = "Apache" }
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Framework :: FastAPI",
|
"Framework :: FastAPI",
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"License :: OSI Approved :: Apache Software License",
|
"License :: OSI Approved :: Apache Software License",
|
||||||
]
|
]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"importlib-metadata; python_version<'3.8'",
|
|
||||||
"fastapi[all]",
|
"fastapi[all]",
|
||||||
"sqlmodel",
|
"sqlmodel",
|
||||||
"alembic",
|
"alembic",
|
||||||
@@ -30,6 +29,29 @@ dependencies = [
|
|||||||
"extract_favicon",
|
"extract_favicon",
|
||||||
"feedgen",
|
"feedgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[dependency-groups]
|
||||||
|
dev = [
|
||||||
|
{include-group = "lint"},
|
||||||
|
{include-group = "pub"},
|
||||||
|
{include-group = "test"}
|
||||||
|
]
|
||||||
|
test = [
|
||||||
|
"pytest>=7.0.0",
|
||||||
|
"pytest-cov>=4.0.0",
|
||||||
|
]
|
||||||
|
lint = [
|
||||||
|
"ruff>=0.1.0",
|
||||||
|
"mypy>=1.0.0",
|
||||||
|
]
|
||||||
|
# Publishing on PyPI
|
||||||
|
pub = [
|
||||||
|
"build",
|
||||||
|
"twine"
|
||||||
|
]
|
||||||
|
server = [
|
||||||
|
"gunicorn>=23.0.0",
|
||||||
|
]
|
||||||
# dynamic = ["version"]
|
# dynamic = ["version"]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
"""digimarks main module."""
|
"""digimarks main module."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
from collections.abc import Sequence
|
||||||
from contextlib import asynccontextmanager
|
from contextlib import asynccontextmanager
|
||||||
from datetime import UTC, datetime
|
from datetime import UTC, datetime
|
||||||
from typing import Annotated, Sequence, Type
|
from typing import Annotated
|
||||||
|
|
||||||
import httpx
|
import httpx
|
||||||
from fastapi import Depends, FastAPI, HTTPException, Query, Request
|
from fastapi import Depends, FastAPI, HTTPException, Query, Request
|
||||||
@@ -124,7 +125,7 @@ def index(request: Request):
|
|||||||
|
|
||||||
|
|
||||||
@app.get('/api/v1/admin/{system_key}/users/{user_id}', response_model=User)
|
@app.get('/api/v1/admin/{system_key}/users/{user_id}', response_model=User)
|
||||||
async def get_user(session: SessionDep, system_key: str, user_id: int) -> Type[User]:
|
async def get_user(session: SessionDep, system_key: str, user_id: int) -> type[User]:
|
||||||
"""Show user information."""
|
"""Show user information."""
|
||||||
logger.info('User %d requested', user_id)
|
logger.info('User %d requested', user_id)
|
||||||
if system_key != settings.system_key:
|
if system_key != settings.system_key:
|
||||||
|
|||||||
Reference in New Issue
Block a user