lol

Merge pull request #227869 from traxys/fit-trackee

fit-trackee: init at 0.7.15

authored by

OTABI Tomoya and committed by
GitHub
68ab8e80 2cb8276e

+434
+106
pkgs/development/python-modules/dramatiq/default.nix
··· 1 + { lib 2 + , stdenv 3 + , buildPythonPackage 4 + , pythonOlder 5 + , fetchFromGitHub 6 + , gevent 7 + , pika 8 + , prometheus-client 9 + , pylibmc 10 + , pytestCheckHook 11 + , redis 12 + , watchdog 13 + , watchdog-gevent 14 + }: 15 + 16 + buildPythonPackage rec { 17 + pname = "dramatiq"; 18 + version = "1.14.2"; 19 + format = "setuptools"; 20 + 21 + disabled = pythonOlder "3.7"; 22 + 23 + src = fetchFromGitHub { 24 + owner = "Bogdanp"; 25 + repo = "dramatiq"; 26 + rev = "v${version}"; 27 + hash = "sha256-yv6HUJI7wsAQdBJ5QNv7qXhtzPvCsrF1389kyemAV7Y="; 28 + }; 29 + 30 + propagatedBuildInputs = [ 31 + prometheus-client 32 + ]; 33 + 34 + passthru.optional-dependencies = { 35 + all = [ 36 + gevent 37 + pika 38 + pylibmc 39 + redis 40 + watchdog 41 + watchdog-gevent 42 + ]; 43 + gevent = [ 44 + gevent 45 + ]; 46 + memcached = [ 47 + pylibmc 48 + ]; 49 + rabbitmq = [ 50 + pika 51 + ]; 52 + redis = [ 53 + redis 54 + ]; 55 + watch = [ 56 + watchdog 57 + watchdog-gevent 58 + ]; 59 + }; 60 + 61 + nativeCheckInputs = [ pytestCheckHook pika redis pylibmc ]; 62 + 63 + postPatch = '' 64 + sed -i ./setup.cfg \ 65 + -e 's:--cov dramatiq::' \ 66 + -e 's:--cov-report html::' \ 67 + -e 's:--benchmark-autosave::' \ 68 + -e 's:--benchmark-compare::' \ 69 + ''; 70 + 71 + disabledTests = [ 72 + # Requires a running redis 73 + "test_after_process_boot_call_has_no_blocked_signals" 74 + "test_cli_can_be_reloaded_on_sighup" 75 + "test_cli_can_watch_for_source_code_changes" 76 + "test_cli_fork_functions_have_no_blocked_signals" 77 + "test_consumer_threads_have_no_blocked_signals" 78 + "test_middleware_fork_functions_have_no_blocked_signals" 79 + "test_redis_broker_can_connect_via_client" 80 + "test_redis_broker_can_connect_via_url" 81 + "test_redis_process_100k_messages_with_cli" 82 + "test_redis_process_10k_fib_with_cli" 83 + "test_redis_process_1k_latency_with_cli" 84 + "test_worker_threads_have_no_blocked_signals" 85 + # Requires a running rabbitmq 86 + "test_rabbitmq_broker_can_be_passed_a_list_of_parameters_for_failover" 87 + "test_rabbitmq_broker_can_be_passed_a_list_of_uri_for_failover" 88 + "test_rabbitmq_broker_can_be_passed_a_semicolon_separated_list_of_uris" 89 + "test_rabbitmq_broker_connections_are_lazy" 90 + "test_rabbitmq_process_100k_messages_with_cli" 91 + "test_rabbitmq_process_10k_fib_with_cli" 92 + "test_rabbitmq_process_1k_latency_with_cli" 93 + ] ++ lib.optionals stdenv.isDarwin [ 94 + # Takes too long for darwin ofborg 95 + "test_retry_exceptions_can_specify_a_delay" 96 + ]; 97 + 98 + pythonImportsCheck = [ "dramatiq" ]; 99 + 100 + meta = with lib; { 101 + description = "Background Processing for Python 3"; 102 + homepage = "https://github.com/Bogdanp/dramatiq"; 103 + license = licenses.gpl3Only; 104 + maintainers = with maintainers; [ traxys ]; 105 + }; 106 + }
+85
pkgs/development/python-modules/flask-dramatiq/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , pythonOlder 4 + , fetchFromGitLab 5 + , poetry-core 6 + , dramatiq 7 + , flask 8 + , requests 9 + , pytestCheckHook 10 + , flask-migrate 11 + , periodiq 12 + , postgresql 13 + , postgresqlTestHook 14 + , psycopg2 15 + }: 16 + 17 + buildPythonPackage { 18 + pname = "flask-dramatiq"; 19 + version = "0.6.0"; 20 + format = "pyproject"; 21 + 22 + disabled = pythonOlder "3.6"; 23 + 24 + src = fetchFromGitLab { 25 + owner = "bersace"; 26 + repo = "flask-dramatiq"; 27 + rev = "840209e9bf582b4dda468e8bba515f248f3f8534"; 28 + hash = "sha256-qjV1zyVzHPXMt+oUeGBdP9XVlbcSz2MF9Zygj543T4w="; 29 + }; 30 + 31 + postPatch = '' 32 + substituteInPlace pyproject.toml \ 33 + --replace 'poetry>=0.12' 'poetry-core' \ 34 + --replace 'poetry.masonry.api' 'poetry.core.masonry.api' 35 + 36 + patchShebangs --build ./example.py 37 + 38 + sed -i ./tests/unit/pytest.ini \ 39 + -e 's:--cov=flask_dramatiq::' \ 40 + -e 's:--cov-report=term-missing::' 41 + ''; 42 + 43 + nativeBuildInputs = [ 44 + poetry-core 45 + ]; 46 + 47 + propagatedBuildInputs = [ 48 + dramatiq 49 + ]; 50 + 51 + nativeCheckInputs = [ 52 + pytestCheckHook 53 + flask 54 + requests 55 + flask-migrate 56 + periodiq 57 + postgresql 58 + postgresqlTestHook 59 + psycopg2 60 + ] ++ dramatiq.optional-dependencies.rabbitmq; 61 + 62 + postgresqlTestSetupPost = '' 63 + substituteInPlace config.py \ 64 + --replace 'SQLALCHEMY_DATABASE_URI = f"postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}/{PGDATABASE}"' \ 65 + "SQLALCHEMY_DATABASE_URI = \"postgresql://$PGUSER/$PGDATABASE?host=$PGHOST\"" 66 + python3 ./example.py db upgrade 67 + ''; 68 + 69 + pytestFlagsArray = [ "-x" "tests/func/" "tests/unit"]; 70 + 71 + pythonImportsCheck = [ "flask_dramatiq" ]; 72 + 73 + # Does HTTP requests to localhost 74 + disabledTests = [ 75 + "test_fast" 76 + "test_other" 77 + ]; 78 + 79 + meta = with lib; { 80 + description = "Adds Dramatiq support to your Flask application"; 81 + homepage = "https://gitlab.com/bersace/flask-dramatiq"; 82 + license = licenses.bsd3; 83 + maintainers = with maintainers; [ traxys ]; 84 + }; 85 + }
+55
pkgs/development/python-modules/periodiq/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , pythonOlder 4 + , fetchFromGitLab 5 + , poetry-core 6 + , dramatiq 7 + , pendulum 8 + , setuptools 9 + , pytest-mock 10 + , pytestCheckHook 11 + }: 12 + 13 + buildPythonPackage rec { 14 + pname = "periodiq"; 15 + version = "0.12.1"; 16 + format = "pyproject"; 17 + 18 + disabled = pythonOlder "3.5"; 19 + 20 + src = fetchFromGitLab { 21 + owner = "bersace"; 22 + repo = "periodiq"; 23 + rev = "v${version}"; 24 + hash = "sha256-Ar0n+Wi1OUtRdhVxrU7Nz4je8ylaHgPZbXE0a30hzU0="; 25 + }; 26 + 27 + postPatch = '' 28 + substituteInPlace pyproject.toml \ 29 + --replace 'poetry>=0.12' 'poetry-core' \ 30 + --replace 'poetry.masonry.api' 'poetry.core.masonry.api' 31 + ''; 32 + 33 + nativeBuildInputs = [ 34 + poetry-core 35 + ]; 36 + 37 + propagatedBuildInputs = [ 38 + dramatiq 39 + pendulum 40 + setuptools 41 + ]; 42 + 43 + nativeCheckInputs = [ pytestCheckHook pytest-mock ]; 44 + 45 + pytestFlagsArray = [ "tests/unit" ]; 46 + 47 + pythonImportsCheck = [ "periodiq" ]; 48 + 49 + meta = with lib; { 50 + description = "Simple Scheduler for Dramatiq Task Queue"; 51 + homepage = "https://pypi.org/project/periodiq/"; 52 + license = licenses.lgpl3Only; 53 + maintainers = with maintainers; [ traxys ]; 54 + }; 55 + }
+31
pkgs/development/python-modules/staticmap/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , pillow 5 + , requests 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "staticmap"; 10 + version = "0.5.7"; 11 + format = "setuptools"; 12 + 13 + src = fetchPypi { 14 + inherit pname version; 15 + hash = "sha256-x6lrkCumEpLoGMILCBBhnWuBps21C8wauS1QrE2yCn8="; 16 + }; 17 + 18 + propagatedBuildInputs = [ requests pillow ]; 19 + 20 + pythonImportsCheck = [ "staticmap" ]; 21 + 22 + # Tests seem to be broken 23 + doCheck = false; 24 + 25 + meta = with lib; { 26 + description = "A small, python-based library for creating map images with lines and markers"; 27 + homepage = "https://pypi.org/project/staticmap/"; 28 + license = with licenses; [ asl20 ]; 29 + maintainers = with maintainers; [ traxys ]; 30 + }; 31 + }
+40
pkgs/development/python-modules/watchdog-gevent/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , gevent 5 + , pytestCheckHook 6 + , watchdog 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "watchdog-gevent"; 11 + version = "0.1.1"; 12 + format = "setuptools"; 13 + 14 + # Need to fetch from github because tests are not present in pypi 15 + src = fetchFromGitHub { 16 + owner = "Bogdanp"; 17 + repo = "watchdog_gevent"; 18 + rev = "v${version}"; 19 + hash = "sha256-FESm3fNuLmOg2ilI/x8U9LuAimHLnahcTHYzW/nzOVY="; 20 + }; 21 + 22 + propagatedBuildInputs = [ watchdog gevent ]; 23 + 24 + postPatch = '' 25 + sed -i setup.cfg \ 26 + -e 's:--cov watchdog_gevent::' \ 27 + -e 's:--cov-report html::' 28 + ''; 29 + 30 + nativeCheckInputs = [ pytestCheckHook ]; 31 + 32 + pythonImportsCheck = [ "watchdog_gevent" ]; 33 + 34 + meta = with lib; { 35 + description = "A gevent-based observer for watchdog"; 36 + homepage = "https://github.com/Bogdanp/watchdog_gevent"; 37 + license = licenses.asl20; 38 + maintainers = with maintainers; [ traxys ]; 39 + }; 40 + }
+105
pkgs/servers/geospatial/fit-trackee/default.nix
··· 1 + { lib 2 + , python3 3 + , fetchFromGitHub 4 + , fetchPypi 5 + , postgresql 6 + , postgresqlTestHook 7 + }: 8 + let 9 + python = python3.override { 10 + packageOverrides = self: super: { 11 + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { 12 + version = "1.4.49"; 13 + src = fetchPypi { 14 + pname = "SQLAlchemy"; 15 + inherit version; 16 + hash = "sha256-Bv8ly64ww5bEt3N0ZPKn/Deme32kCZk7GCsCTOyArtk="; 17 + }; 18 + # Remove "test/typing" that does not exist 19 + disabledTestPaths = [ 20 + "test/aaa_profiling" 21 + "test/ext/mypy" 22 + ]; 23 + }); 24 + }; 25 + }; 26 + 27 + in 28 + python.pkgs.buildPythonApplication rec { 29 + pname = "fit-trackee"; 30 + version = "0.7.22"; 31 + format = "pyproject"; 32 + 33 + src = fetchFromGitHub { 34 + owner = "SamR1"; 35 + repo = "FitTrackee"; 36 + rev = "v${version}"; 37 + hash = "sha256-aPQ8jLssN9nx0Bpd/44E3sQi2w0cR8ecG76DJjreeHA="; 38 + }; 39 + 40 + postPatch = '' 41 + substituteInPlace pyproject.toml \ 42 + --replace psycopg2-binary psycopg2 \ 43 + --replace 'poetry>=0.12' 'poetry-core' \ 44 + --replace 'poetry.masonry.api' 'poetry.core.masonry.api' 45 + ''; 46 + 47 + nativeBuildInputs = [ 48 + python3.pkgs.poetry-core 49 + ]; 50 + 51 + propagatedBuildInputs = with python.pkgs; [ 52 + authlib 53 + babel 54 + dramatiq 55 + flask 56 + flask-bcrypt 57 + flask-dramatiq 58 + flask-limiter 59 + flask-migrate 60 + gpxpy 61 + gunicorn 62 + humanize 63 + psycopg2 64 + pyjwt 65 + pyopenssl 66 + pytz 67 + shortuuid 68 + sqlalchemy 69 + staticmap 70 + ua-parser 71 + ] ++ dramatiq.optional-dependencies.redis; 72 + 73 + pythonImportsCheck = [ "fittrackee" ]; 74 + 75 + nativeCheckInputs = with python.pkgs; [ 76 + pytestCheckHook 77 + freezegun 78 + postgresqlTestHook 79 + postgresql 80 + ]; 81 + 82 + pytestFlagsArray = [ 83 + "fittrackee" 84 + ]; 85 + 86 + postgresqlTestSetupPost = '' 87 + export DATABASE_TEST_URL=postgresql://$PGUSER/$PGDATABAS?host=$PGHOST 88 + ''; 89 + 90 + postInstall = '' 91 + mkdir -p $out/var/share/fittrackee-instance 92 + ''; 93 + 94 + preCheck = '' 95 + export TMP=$(mktemp -d) 96 + ''; 97 + 98 + meta = with lib; { 99 + description = "Self-hosted outdoor activity tracker :bicyclist"; 100 + homepage = "https://github.com/SamR1/FitTrackee"; 101 + changelog = "https://github.com/SamR1/FitTrackee/blob/${src.rev}/CHANGELOG.md"; 102 + license = licenses.agpl3Only; 103 + maintainers = with maintainers; [ traxys ]; 104 + }; 105 + }
+2
pkgs/top-level/all-packages.nix
··· 27557 27557 27558 27558 ### SERVERS / GEOSPATIAL 27559 27559 27560 + fit-trackee = callPackage ../servers/geospatial/fit-trackee { }; 27561 + 27560 27562 geoserver = callPackage ../servers/geospatial/geoserver { }; 27561 27563 27562 27564 mapcache = callPackage ../servers/geospatial/mapcache { };
+10
pkgs/top-level/python-packages.nix
··· 3267 3267 3268 3268 dragonfly = callPackage ../development/python-modules/dragonfly { }; 3269 3269 3270 + dramatiq = callPackage ../development/python-modules/dramatiq { }; 3271 + 3270 3272 drawille = callPackage ../development/python-modules/drawille { }; 3271 3273 3272 3274 drawilleplot = callPackage ../development/python-modules/drawilleplot { }; ··· 3963 3965 flask-compress = callPackage ../development/python-modules/flask-compress { }; 3964 3966 3965 3967 flask-cors = callPackage ../development/python-modules/flask-cors { }; 3968 + 3969 + flask-dramatiq = callPackage ../development/python-modules/flask-dramatiq { }; 3966 3970 3967 3971 flask-elastic = callPackage ../development/python-modules/flask-elastic { }; 3968 3972 ··· 8846 8850 8847 8851 periodictable = callPackage ../development/python-modules/periodictable { }; 8848 8852 8853 + periodiq = callPackage ../development/python-modules/periodiq { }; 8854 + 8849 8855 permissionedforms = callPackage ../development/python-modules/permissionedforms { }; 8850 8856 8851 8857 persim = callPackage ../development/python-modules/persim { }; ··· 13342 13348 13343 13349 static3 = callPackage ../development/python-modules/static3 { }; 13344 13350 13351 + staticmap = callPackage ../development/python-modules/staticmap { }; 13352 + 13345 13353 staticjinja = callPackage ../development/python-modules/staticjinja { }; 13346 13354 13347 13355 statistics = callPackage ../development/python-modules/statistics { }; ··· 15420 15428 watchdog = callPackage ../development/python-modules/watchdog { 15421 15429 inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; 15422 15430 }; 15431 + 15432 + watchdog-gevent = callPackage ../development/python-modules/watchdog-gevent { }; 15423 15433 15424 15434 watchfiles = callPackage ../development/python-modules/watchfiles { 15425 15435 inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;