105 lines
2 KiB
Nix
105 lines
2 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitLab,
|
|
buildPythonPackage,
|
|
flit-core,
|
|
flask,
|
|
pillow,
|
|
requests,
|
|
python-dotenv,
|
|
authlib,
|
|
sentry-sdk,
|
|
python-dateutil,
|
|
dateparser,
|
|
croniter,
|
|
pydantic,
|
|
flask-cors,
|
|
flask-compress,
|
|
flask-babel,
|
|
flasgger,
|
|
yoyo-migrations,
|
|
psycopg,
|
|
psycopg-pool,
|
|
tzdata,
|
|
email-validator,
|
|
pydantic-extra-types,
|
|
python-multipart,
|
|
fs,
|
|
fs-s3fs,
|
|
geopic-tag-reader,
|
|
pygeofilter,
|
|
pygeoif,
|
|
rfeed,
|
|
geojson-pydantic,
|
|
...
|
|
}: let
|
|
pname = "geovisio";
|
|
version = "2.10.0";
|
|
repo = fetchFromGitLab {
|
|
owner = "panoramax";
|
|
repo = "server/api";
|
|
rev = version;
|
|
hash = "sha256-kCLcrOe7jJdIfmWWOmxQ5dOj8ZG2B7s0qFpHXs02B/E=";
|
|
};
|
|
in
|
|
buildPythonPackage {
|
|
inherit pname version;
|
|
|
|
pyproject = true;
|
|
|
|
src = repo;
|
|
|
|
build-system = [
|
|
flit-core
|
|
];
|
|
|
|
dependencies = [
|
|
flask
|
|
pillow
|
|
requests
|
|
python-dotenv
|
|
authlib
|
|
sentry-sdk
|
|
python-dateutil
|
|
dateparser
|
|
croniter
|
|
pydantic
|
|
flask-cors
|
|
flask-compress
|
|
flask-babel
|
|
flasgger
|
|
yoyo-migrations
|
|
psycopg
|
|
psycopg-pool
|
|
tzdata
|
|
email-validator
|
|
pydantic-extra-types
|
|
python-multipart
|
|
fs
|
|
fs-s3fs
|
|
geopic-tag-reader
|
|
pygeofilter
|
|
pygeoif
|
|
rfeed
|
|
geojson-pydantic
|
|
# Missing from nixpkgs - may need custom packages:
|
|
# flask-executor
|
|
];
|
|
|
|
# Skip tests as they may require network access or specific setup
|
|
doCheck = false;
|
|
|
|
# Disable runtime dependencies check as many dependencies are not available in nixpkgs
|
|
dontCheckRuntimeDeps = true;
|
|
|
|
# Disable imports check as many dependencies are not available in nixpkgs
|
|
pythonImportsCheck = [];
|
|
|
|
meta = with lib; {
|
|
description = "Panoramax API client and tools for street-level imagery platform";
|
|
homepage = "https://gitlab.com/panoramax/server/api";
|
|
license = licenses.mit;
|
|
maintainers = [];
|
|
platforms = platforms.all;
|
|
};
|
|
}
|