{"id":17110761,"url":"https://github.com/andros21/pgrank","last_synced_at":"2025-03-23T21:44:03.283Z","repository":{"id":37014586,"uuid":"387698249","full_name":"andros21/pgrank","owner":"andros21","description":"pgrank - cpp app for computing pagerank","archived":false,"fork":false,"pushed_at":"2025-03-23T09:40:18.000Z","size":686,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T10:27:29.301Z","etag":null,"topics":["armadillo","cpp","cytoscapejs","doxygen","gh-pages","meson","ninja-build","popperjs","scrapy","tippyjs"],"latest_commit_sha":null,"homepage":"https://andros21.github.io/pgrank","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andros21.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-20T06:43:22.000Z","updated_at":"2025-03-23T09:40:16.000Z","dependencies_parsed_at":"2023-11-19T10:29:42.271Z","dependency_job_id":"3447ee0f-ae8d-4744-902c-9dcf6fa2ab40","html_url":"https://github.com/andros21/pgrank","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andros21%2Fpgrank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andros21%2Fpgrank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andros21%2Fpgrank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andros21%2Fpgrank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andros21","download_url":"https://codeload.github.com/andros21/pgrank/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245175356,"owners_count":20572781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["armadillo","cpp","cytoscapejs","doxygen","gh-pages","meson","ninja-build","popperjs","scrapy","tippyjs"],"created_at":"2024-10-14T16:45:57.338Z","updated_at":"2025-03-23T21:44:03.261Z","avatar_url":"https://github.com/andros21.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/58751603/169689326-c23a442a-4d40-4f60-9eae-a0a13be9ec2f.png\"\u003e\n      \u003cimg src=\"https://user-images.githubusercontent.com/58751603/126500738-0ef8e699-4071-441b-b547-46a9c6b3b20a.png\" alt=\"Logo\" width=\"300\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank/actions/workflows/meson.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/andros21/pgrank/meson.yml?branch=master\u0026label=Meson%20CI\u0026logo=github\u0026style=flat-square\" alt=\"Meson CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank/actions/workflows/meson.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/andros21/0e20cd331d0800e3299298a3868aab7a/raw/pgrank__master.json\" alt=\"Coverage\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank/actions/workflows/releaser.yml\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/andros21/pgrank/releaser.yml?label=Releaser%20CD\u0026logo=github\u0026style=flat-square\" alt=\"Releaser CD\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/andros21/pgrank?color=blue\u0026label=Release\u0026sort=semver\u0026style=flat-square\" alt=\"Version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/andros21/pgrank/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/andros21/pgrank?color=blue\u0026label=License\u0026style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003ecpp app for computing \u003ca href=\"https://en.wikipedia.org/wiki/PageRank\"\u003epagerank\u003c/a\u003e\u003c/h3\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003ca href=\"examples/caibg/\"\u003eExamples\u003c/a\u003e\n    ·\n    \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\n    ·\n    \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n\n## Installation\n\n### Prerequisites\n\n**Platform requirements**\n\n`Linux x86_64`\n\n**Compiler requirements**\n\nA `C++` compiler (e.g. `g++-9`) supporting the `C++2a` or `C++20` standard\n\n**Build system requirements**\n\n[`Meson`](http://mesonbuild.com) build system version and `Ninja` (its dependency)\n\nAlso `CMake` (to build subprojects) and `pkgconfig` (to search library dependencies) are needed\n\nIf Meson is not available on your system, it can be installed with `pip` or `conda`\n\n**Dependencies**\n\n`pgrank` requires the following packages to be installed on the system:\n\n- [`armadillo`](http://arma.sourceforge.net) - a high quality linear algebra library (matrix maths) C++-native\n- [`OpenBLAS`](https://github.com/xianyi/OpenBLAS) - linked with `armadillo`, multi-threading on intensive tasks\n- [`rapidJSON`](https://github.com/Tencent/rapidjson/) - a fast JSON parser and generator for C++\n- [`argparse`](https://github.com/p-ranav/argparse) - argument parser for modern C++\n\n`argparse` (header only library), if not available on your system, is automatically built and installed as subprojects with the `Meson` build system, so in this sense are \"optional\" because provided by `Meson` itself\n\n### Meson build system\n\nTo compile and install `pgrank`, run:\n\n```\nmeson setup \\\n      --buildtype=release \\\n      --prefix=/install/path build\ncd build/\nmeson compile\nmeson install\n```\n\nWhere `build` is the build directory. Specifying the installation prefix with `--prefix` is optional. On Debian-based systems (e.g. Ubuntu) one may want to use `--libdir=lib`, otherwise libraries will be installed in `$PREFIX/lib/\u003carchdir\u003e` where `\u003carchdir\u003e` is e.g. `x86_64-linux-gnu`\n\n### For developers\n\nFor **testing purpose** (developers only) working inside a conda env is probably the best way to build and use this project. Additional dependencies:\n\n- [`catch2`](https://github.com/catchorg/Catch2) - a modern, C++-native, header-only, test framework for unit-tests\n- [`gcovr`](https://gcovr.com/en/stable/) - extensions of GCOV, for code coverage\n\n`catch2` (header only library), if not available on your system, are automatically built and installed as subprojects with the `Meson` build system, so in this sense are \"optional\" because provided by `Meson` itself\n\nTo compile, and test `pgrank`, run:\n\n```\nmeson setup -Dtest=true -Db_coverage=true build\ncd build/\nmeson compile\nmeson test -v\nninja coverage\n```\n\nThe target `coverage` will try to create code coverage report in all three formats `text` `xml` `html` (`coverage-html` needs `lcov` to be generated). Optionaly only one coverage format can be triggered (e.g `coverage-text`)\n\n## Usage\n\nYou need a special formatted json as input to create the graph (see [`json2mat.hpp`](src/json2mat/json2mat.hpp) header for more informations or inside [`caibg`](examples/caibg)). And stop, all other parameters can be set using cli `pgrank --help`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandros21%2Fpgrank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandros21%2Fpgrank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandros21%2Fpgrank/lists"}