diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix new file mode 100644 index 000000000000..581571f886df --- /dev/null +++ b/pkgs/development/python-modules/datasette/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, click +, click-default-group +, sanic +, jinja2 +, hupper +, pint +, pluggy +, pytest +, pytestrunner +, pytest-asyncio +, aiohttp +, beautifulsoup4 +}: + +buildPythonPackage rec { + pname = "datasette"; + version = "0.27"; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "datasette"; + rev = "0.27"; + sha256 = "02k1kk6bw034rs74w0viwzapxz684lqgjvw5q5j5xgr0i4kynylp"; + }; + + buildInputs = [ pytestrunner ]; + + propagatedBuildInputs = [ + click + click-default-group + sanic + jinja2 + hupper + pint + pluggy + ]; + + checkInputs = [ + pytest + pytest-asyncio + aiohttp + beautifulsoup4 + ]; + + postConfigure = '' + substituteInPlace setup.py \ + --replace "click==6.7" "click" \ + --replace "click-default-group==1.2" "click-default-group" \ + --replace "Sanic==0.7.0" "Sanic" \ + --replace "Jinja2==2.10" "Jinja2" \ + --replace "hupper==1.0" "hupper" \ + --replace "pint==0.8.1" "pint" + ''; + + # many tests require network access + checkPhase = '' + pytest --ignore tests/test_api.py \ + --ignore tests/test_csv.py \ + --ignore tests/test_html.py \ + --ignore tests/test_publish_heroku.py + ''; + + meta = with lib; { + description = "An instant JSON API for your SQLite databases"; + homepage = https://github.com/simonw/datasette; + license = licenses.asl20; + maintainers = [ maintainers.costrouc ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 02eb987260fc..ef2910fb466e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1337,6 +1337,8 @@ in datamash = callPackage ../tools/misc/datamash { }; + datasette = with python3Packages; toPythonApplication datasette; + datefudge = callPackage ../tools/system/datefudge { }; dateutils = callPackage ../tools/misc/dateutils { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5e9afc29e83b..6906c77b725b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -336,6 +336,8 @@ in { datamodeldict = callPackage ../development/python-modules/datamodeldict { }; + datasette = callPackage ../development/python-modules/datasette { }; + dbf = callPackage ../development/python-modules/dbf { }; dbfread = callPackage ../development/python-modules/dbfread { };