{"id":38519466,"url":"https://github.com/farzadghanei/navdoon","last_synced_at":"2026-01-17T06:37:10.323Z","repository":{"id":57445022,"uuid":"51280615","full_name":"farzadghanei/navdoon","owner":"farzadghanei","description":"Powerful Statsd server, made easy.","archived":false,"fork":false,"pushed_at":"2017-02-11T16:35:03.000Z","size":190,"stargazers_count":6,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-09T03:27:11.715Z","etag":null,"topics":["python","python3","statsd","statsd-server"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farzadghanei.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-08T05:19:16.000Z","updated_at":"2017-11-12T18:54:01.000Z","dependencies_parsed_at":"2022-09-26T17:30:41.348Z","dependency_job_id":null,"html_url":"https://github.com/farzadghanei/navdoon","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/farzadghanei/navdoon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farzadghanei%2Fnavdoon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farzadghanei%2Fnavdoon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farzadghanei%2Fnavdoon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farzadghanei%2Fnavdoon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farzadghanei","download_url":"https://codeload.github.com/farzadghanei/navdoon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farzadghanei%2Fnavdoon/sbom","scorecard":{"id":393144,"data":{"date":"2025-08-11","repo":{"name":"github.com/farzadghanei/navdoon","commit":"5fb25ecea2b01606a3bc9a89d2c15cd9d9daccd7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.8,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile-cpython3.6-alpine:1: pin your Docker image by updating python:3.6.0-alpine to python:3.6.0-alpine@sha256:142fc3f338b10569d08c3f3855c492c2a176b0c45af099f9ebe87f0fededb210","Warn: containerImage not pinned by hash: Dockerfile-pypy-2.5:1: pin your Docker image by updating pypy:2-5 to pypy:2-5@sha256:5bfed3147ab4951349c2c3293c66db214f45cb66f2cb909b93a82ff6788117b4","Warn: pipCommand not pinned by hash: Dockerfile-cpython3.6-alpine:6-12","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-18T18:19:41.429Z","repository_id":57445022,"created_at":"2025-08-18T18:19:41.429Z","updated_at":"2025-08-18T18:19:41.429Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28502660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","python3","statsd","statsd-server"],"created_at":"2026-01-17T06:37:10.236Z","updated_at":"2026-01-17T06:37:10.309Z","avatar_url":"https://github.com/farzadghanei.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"*******\nNavdoon\n*******\n\n.. image:: https://travis-ci.org/farzadghanei/navdoon.svg?branch=master\n    :target: https://travis-ci.org/farzadghanei/navdoon\n\n.. image:: https://codecov.io/github/farzadghanei/navdoon/coverage.svg?branch=master\n    :target: https://codecov.io/github/farzadghanei/navdoon?branch=master\n\n.. image:: https://ci.appveyor.com/api/projects/status/67gbsru6tp3tjxaq/branch/master?svg=true\n    :target: https://ci.appveyor.com/project/farzadghanei/navdoon?branch=master\n\n\nPowerful Statsd server, made easy.\n\nNavdoon is a portable Statsd server with useful features to make it easy to\nuse, extend and integrate.\n\nFeatures\n--------\n* Portable with few dependencies, easy to install on most platforms\n* Support TCP, UDP\n* Receive metrics from multiple addresses\n* Flush to multiple Graphite backends\n* Flush to files (in Graphite and CSV format)\n* Easy to integrate with custom programs\n* Ability to reload the server without losing the metrics\n\n\nDetails\n=======\n\n* Navdoon uses collectors to receive Statsd metrics and recieves metrics over\n  UDP (`--collect-udp`) and TCP (`--collect-tcp`),\n  and accepts multiple collectors.\n\n* The server saves/sends (flushes) the accumulated metrics every often\n  (`--flus-interval`) to a persistent storage.\n  `Carbon \u003chttps://pypi.python.org/pypi/carbon\u003e`_ (from `Graphite \u003chttp://graphite.readthedocs.io/\u003e`_ project)\n  is a very common backend for Statsd servers. Navdoon accepts multiple Graphite addresses (`--flush-graphite`)\n  so it can flush to multiple backends (all share the same interval).\n  Metrics can be flushed to standard output (`--flush-stdout`) to pipe to another\n  program, so it's easy to integrate with any custom backend.\n\n* Logging can be helpful or can be wasteful, depending on the deployment and the usage of the application.\n  Navdoon provides detailed configuration on logging, so you can chose what will be logged (`--log-level`)\n  and how to log, send logs to syslog (`--log-syslog`), to a file (`--log-file`) or standard error\n  (`--log-stderr`) to be piped to another program.\n\n* While not claiming to be the fastest, good performance is considered in the design.\n  Navdoon uses threads for each collector and flush backend.\n  Future versions will offer improved performance as it was not a priority\n  for the first releases.\n\n* Server supports reloading (on receiving SIGHUP), keeping current state of the metrics and last flush time.\n  So it's possible to change collectors, flush destinations, logging, etc. on the configuration file while\n  the server is running, and then on sending a SIGHUP the server picks the new configuration.\n\n\nReleases\n========\n* Latest released version is *0.3.0* (released on 2017-02-11)\n* Version *0.2.0* was released on 2016-10-10\n\nSee the CHANGELOG for more information about features provided by each release.\n\n\nInstall\n-------\nNavdoon is distributed as a Docker image, and a Python package.\n\nPyPi\n====\nNavdoon can be installed from `pypi \u003chttps://pypi.python.org\u003e`_ using `pip`.\n\n\n.. code-block:: bash\n\n    pip install navdoon\n\n\nSource\n======\nYou can install from the source by running the `setup.py` script provided.\n\n\n.. code-block:: bash\n\n    python setup.py install\n\n\n.. note:: If you're installing Navdoon to a system path, you might need to\n            run the installation with `sudo` or under a privileged user.\n\n\nRequirements\n------------\nNavdoon is written in Python, so running from source or installing it as a package,\nrequires a Python runtime (version 2.7+, latest versions of Python 3 is recommended).\n\nThe `statsdmetrics \u003chttps://pypi.python.org/pypi/statsdmetrics\u003e`_ Python module\nis the only dependency to run Navdoon.\nHowever these Python modules are recommended on development/test environment:\n\n* `distutilazy \u003chttps://pypi.python.org/pypi/distutilazy\u003e`_ (\u003e=0.4.2): helpful commands added to `setup.py` to run tests and clean temp files\n* `typing \u003chttps://pypi.python.org/pypi/typing\u003e`_ (\u003e=3.5.0): standard type annotations for Python\n* `coverage \u003chttps://pypi.python.org/pypi/coverage\u003e`_: create test coverage reports\n\n\nDocker\n------\nDifferent Docker image tags are available, providing different runtimes.\n\nThe default tag is based on CPython alpine images\n(trying to use latest versions of Python, currently 3.6)\nso the image size should be minimum.\n\n.. code-block:: bash\n\n    docker pull farzadghanei/navdoon\n    # or a specific version like farzadghanei/navdoon:0.3.0\n\nAnother tag is available to run Navdoon on `PyPy \u003chttp://www.pypy.org\u003e`_ (currently version 2).\n\n.. code-block:: bash\n\n    docker pull farzadghanei/navdoon:0.3.0-pypy2\n\n\n\nRunning from source\n-------------------\nBefore running from source, a few dependencies should be installed. Using a virtual\nenvironment is suggested. (In this example we create a virtual environment\nin the project source path, but you may chose a custom path like\n~/.venvs/navdoon-py3)\n\n\n.. code-block:: bash\n\n    git clone https://github.com/farzadghanei/navdoon.git \u0026\u0026 cd navdoon\n    python3 -m venv .navdoon-venv-py3 \u0026\u0026 source ./.navdoon-venv-py3/bin/activate\n    pip install -r requirements.txt \u0026\u0026 python3 bin/navdoon_src\n\n\n.. note:: Python 3.3+ standard library comes with `venv` module.\n            For older versions you can use\n            `virtualenv \u003chttps://pypi.python.org/pypi/virtualenv\u003e`_.\n\n\nOr you may skip installing and sourcing the virtual environment and install the (few)\ndependencies on your system.\n\n\nLicense\n-------\n\nNavdoon is released under the terms of the\n`Apache 2.0 license \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e`_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarzadghanei%2Fnavdoon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarzadghanei%2Fnavdoon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarzadghanei%2Fnavdoon/lists"}