ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
109 lines
2.0 KiB
Nix
109 lines
2.0 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, aiofiles
|
|
, asgi-csrf
|
|
, click
|
|
, click-default-group
|
|
, itsdangerous
|
|
, janus
|
|
, jinja2
|
|
, hupper
|
|
, mergedeep
|
|
, pint
|
|
, pluggy
|
|
, python-baseconv
|
|
, pyyaml
|
|
, uvicorn
|
|
, httpx
|
|
, pytestCheckHook
|
|
, pytest-asyncio
|
|
, pytest-timeout
|
|
, aiohttp
|
|
, beautifulsoup4
|
|
, asgiref
|
|
, setuptools
|
|
, trustme
|
|
, pythonOlder
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "datasette";
|
|
version = "0.64.6";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.8";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "simonw";
|
|
repo = pname;
|
|
rev = "refs/tags/${version}";
|
|
hash = "sha256-chU0AFaVfkJMRwraX/Ky0e6/g3ZSZ2efNIJ15veqFmg=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace setup.py \
|
|
--replace '"pytest-runner"' ""
|
|
'';
|
|
|
|
propagatedBuildInputs = [
|
|
aiofiles
|
|
asgi-csrf
|
|
asgiref
|
|
click
|
|
click-default-group
|
|
httpx
|
|
hupper
|
|
itsdangerous
|
|
janus
|
|
jinja2
|
|
mergedeep
|
|
pint
|
|
pluggy
|
|
python-baseconv
|
|
pyyaml
|
|
setuptools
|
|
uvicorn
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
aiohttp
|
|
beautifulsoup4
|
|
pytest-asyncio
|
|
pytest-timeout
|
|
pytestCheckHook
|
|
trustme
|
|
];
|
|
|
|
# takes 30-180 mins to run entire test suite, not worth the CPU resources, slows down reviews
|
|
# with pytest-xdist, it still takes around 10 mins with 32 cores
|
|
# just run the csv tests, as this should give some indictation of correctness
|
|
pytestFlagsArray = [
|
|
"tests/test_csv.py"
|
|
];
|
|
|
|
disabledTests = [
|
|
"facet"
|
|
"_invalid_database" # checks error message when connecting to invalid database
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"datasette"
|
|
"datasette.cli"
|
|
"datasette.app"
|
|
"datasette.database"
|
|
"datasette.renderer"
|
|
"datasette.tracer"
|
|
"datasette.plugins"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Multi-tool for exploring and publishing data";
|
|
mainProgram = "datasette";
|
|
homepage = "https://datasette.io/";
|
|
changelog = "https://github.com/simonw/datasette/releases/tag/${version}";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ ];
|
|
};
|
|
}
|