nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 lxml,
6 pytest-cov-stub,
7 pytest-httpserver,
8 pytestCheckHook,
9 python-dateutil,
10 pyyaml,
11 requests,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "owslib";
17 version = "0.35.0";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "geopython";
22 repo = "OWSLib";
23 tag = version;
24 hash = "sha256-/5FJai6ad4ZQAK/IhiIuGv4yiBcT/iXFYcbZ+jeCoyI=";
25 };
26
27 postPatch = ''
28 substituteInPlace tox.ini \
29 --replace-fail "--doctest-modules" "" \
30 --replace-fail "--doctest-glob='tests/**/*.txt'" ""
31 '';
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 lxml
37 python-dateutil
38 pyyaml
39 requests
40 ];
41
42 nativeCheckInputs = [
43 pytest-cov-stub
44 pytest-httpserver
45 pytestCheckHook
46 ];
47
48 pythonImportsCheck = [ "owslib" ];
49
50 preCheck = ''
51 # _pytest.pathlib.ImportPathMismatchError: ('owslib.swe.sensor.sml', '/build/source/build/...
52 export PY_IGNORE_IMPORTMISMATCH=1
53 '';
54
55 disabledTestMarks = [
56 # Disable tests which require network access
57 "online"
58 ];
59
60 disabledTestPaths = [
61 # Tests requires network access
62 "tests/test_ogcapi_connectedsystems_osh.py"
63 ];
64
65 meta = {
66 description = "Client for Open Geospatial Consortium web service interface standards";
67 homepage = "https://www.osgeo.org/projects/owslib/";
68 changelog = "https://github.com/geopython/OWSLib/releases/tag/${src.tag}";
69 license = lib.licenses.bsd3;
70 teams = [ lib.teams.geospatial ];
71 };
72}