{"id":34243969,"url":"https://github.com/rptools/maptool","last_synced_at":"2026-04-08T06:02:55.893Z","repository":{"id":22188758,"uuid":"25520885","full_name":"RPTools/maptool","owner":"RPTools","description":"Virtual Tabletop for playing roleplaying games with remote players or face to face.","archived":false,"fork":false,"pushed_at":"2026-02-25T04:26:42.000Z","size":242827,"stargazers_count":886,"open_issues_count":910,"forks_count":276,"subscribers_count":34,"default_branch":"develop","last_synced_at":"2026-02-25T10:20:37.209Z","etag":null,"topics":["game","hacktoberfest","java","maptool","role-playing","roleplaying","roleplaying-game","roleplaying-games","rpg","tabletop","virtual-tabletop","vtt"],"latest_commit_sha":null,"homepage":"http://rptools.net","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RPTools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-10-21T12:26:48.000Z","updated_at":"2026-02-17T06:54:53.000Z","dependencies_parsed_at":"2026-02-17T07:04:17.936Z","dependency_job_id":null,"html_url":"https://github.com/RPTools/maptool","commit_stats":{"total_commits":6104,"total_committers":83,"mean_commits":73.5421686746988,"dds":0.5404652686762779,"last_synced_commit":"ec860707f3cb49f6726dffb758f058bb789410c8"},"previous_names":[],"tags_count":590,"template":false,"template_full_name":null,"purl":"pkg:github/RPTools/maptool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPTools%2Fmaptool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPTools%2Fmaptool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPTools%2Fmaptool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPTools%2Fmaptool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RPTools","download_url":"https://codeload.github.com/RPTools/maptool/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RPTools%2Fmaptool/sbom","scorecard":{"id":116874,"data":{"date":"2025-08-11","repo":{"name":"github.com/RPTools/maptool","commit":"b1ebfba664ef31a492fdd4104eec4f8f7ab20c62"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.2,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","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":"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":10,"reason":"30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10","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":10,"reason":"no dangerous workflow patterns detected","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":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/copy-label-to-pr.yml:9","Info: jobLevel 'issues' permission set to 'read': .github/workflows/copy-label-to-pr.yml:10","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/dependencies.yml:12","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/publish.yml:14","Info: jobLevel 'contents' permission set to 'read': .github/workflows/verify-build.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/verify-build.yml:39","Warn: no topLevel permission defined: .github/workflows/copy-label-to-pr.yml:1","Warn: no topLevel permission defined: .github/workflows/dependencies.yml:1","Warn: no topLevel permission defined: .github/workflows/nightly-publish.yml:1","Warn: no topLevel permission defined: .github/workflows/publish.yml:1","Warn: no topLevel permission defined: .github/workflows/verify-build.yml:1"],"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":"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":"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: GNU Affero General Public License v3.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":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: build-resources/tokenGeneration/jflex-1.4.1.jar:1","Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.18.3 not signed: https://api.github.com/repos/RPTools/maptool/releases/238130102","Warn: release artifact nightly-20250812 not signed: https://api.github.com/repos/RPTools/maptool/releases/239231086","Warn: release artifact 1.18.2 not signed: https://api.github.com/repos/RPTools/maptool/releases/235347909","Warn: release artifact 1.18.2-rc.1 not signed: https://api.github.com/repos/RPTools/maptool/releases/234606325","Warn: release artifact 1.18.1 not signed: https://api.github.com/repos/RPTools/maptool/releases/233568663","Warn: release artifact 1.18.3 does not have provenance: https://api.github.com/repos/RPTools/maptool/releases/238130102","Warn: release artifact nightly-20250812 does not have provenance: https://api.github.com/repos/RPTools/maptool/releases/239231086","Warn: release artifact 1.18.2 does not have provenance: https://api.github.com/repos/RPTools/maptool/releases/235347909","Warn: release artifact 1.18.2-rc.1 does not have provenance: https://api.github.com/repos/RPTools/maptool/releases/234606325","Warn: release artifact 1.18.1 does not have provenance: https://api.github.com/repos/RPTools/maptool/releases/233568663"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/copy-label-to-pr.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/copy-label-to-pr.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependencies.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/dependencies.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/dependencies.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/dependencies.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:152: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:163: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:199: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yml:221: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/publish.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify-build.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify-build.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify-build.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify-build.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/verify-build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/verify-build.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/RPTools/maptool/verify-build.yml/develop?enable=pin","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   4 third-party GitHubAction 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"}},{"name":"SAST","score":2,"reason":"SAST tool is not run on all commits -- score normalized to 2","details":["Warn: 6 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T01:32:32.068Z","repository_id":22188758,"created_at":"2025-08-16T01:32:32.068Z","updated_at":"2025-08-16T01:32:32.068Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29962004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T05:59:08.471Z","status":"ssl_error","status_checked_at":"2026-03-01T05:58:04.208Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["game","hacktoberfest","java","maptool","role-playing","roleplaying","roleplaying-game","roleplaying-games","rpg","tabletop","virtual-tabletop","vtt"],"created_at":"2025-12-16T05:17:12.539Z","updated_at":"2026-03-01T06:07:48.684Z","avatar_url":"https://github.com/RPTools.png","language":"Java","readme":"![GitHub branch check runs](https://img.shields.io/github/check-runs/RPTools/MapTool/develop?label=Development%20Checks)\n[![Crowdin](https://badges.crowdin.net/maptool/localized.svg)](https://crowdin.com/project/maptool)\n![GitHub License](https://img.shields.io/github/license/RPTools/maptool)\n![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/RPTools/maptool/latest/total)\n\n![GitHub Issues or Pull Requests by label](https://img.shields.io/github/issues/RPTools/maptool/feature?label=Features\u0026link=!%5BGitHub%20Issues%20or%20Pull%20Requests%20by%20label%5D(https%3A%2F%2Fimg.shields.io%2Fgithub%2Fissues%2FRPTools%2Fmaptool%2Ffeature%3Flabel%3DFeature%2520Requests%26link%3Dhttps%253A%252F%252Fgithub.com%252FRPTools%252Fmaptool%252Fissues%253Fq%253Dsort%25253Aupdated-desc%252520is%25253Aissue%252520is%25253Aopen%252520label%25253Afeature))\n![GitHub Issues or Pull Requests by label](https://img.shields.io/github/issues/RPTools/maptool/bug?label=Bugs\u0026link=!%5BGitHub%20Issues%20or%20Pull%20Requests%20by%20label%5D(https%3A%2F%2Fimg.shields.io%2Fgithub%2Fissues%2FRPTools%2Fmaptool%2Ffeature%3Flabel%3DFeature%2520Requests%26link%3Dhttps%253A%252F%252Fgithub.com%252FRPTools%252Fmaptool%252Fissues%253Fq%253Dsort%25253Aupdated-desc%252520is%25253Aissue%252520is%25253Aopen%252520label%25253Afeature))\n\n![Latest Release](https://img.shields.io/github/v/release/RPTools/MapTool?label=Stable%20Release)\n![Latest Release Candidate](https://img.shields.io/github/v/release/RPTools/maptool?include_prereleases\u0026filter=*-rc.*\u0026label=Release%20Candidate)\n\n[![Discord](./doc/discord_100.webp)](discord.gg/dZy7HeYYVY)\n![Discord](https://img.shields.io/discord/296230822262865920?label=MapTool%20Discord)\n\n# MapTool ![GitHub Repo stars](https://img.shields.io/github/stars/RPTools/MapTool)\n\nWelcome to the MapTool repository! This is the official repository for the MapTool Virtual Tabletop\n\n## So what is MapTool?\n\nMapTool is intended for use in supporting table-top role playing games, such as D\u0026D, PathFinder,\nGURPS, Call of Cthulhu, Star Wars, Shadowrun, and many others. It is a mature and full-featured\nVirtual\nTabletop (VTT) application that allows users to create, manage, and play their favorite pen and\npaper\neither in person or remotely.\n\nIncluded are not only powerful tools for the creation of detailed maps, but also a chat function,\ndetailed token management (allowing you to track properties of the units placed on the map and\ndisplay health and status information), and an initiative tracker. Functions not being used can be\nhidden out of sight. These features enable your computer screen to function as a virtual table-top,\nfulfilling the role of battlemats and dry-erase markers and providing for infinitely scrollable maps\nand the ability to use a large-screen TV or video projector. It is _game system agnostic_, meaning\nthat while MapTool has special support for some game systems (like hexes for GURPS or square\ntemplates for D\u0026D 4E) there is no requirement for you to use these features.\n\nThe best part is all this isn't limited to a single PC. You can utilize the integrated server\nfunction to connect to players wherever there's an Internet connection. Miss your buddy in\nSingapore? Not a problem. Roll up that character, and then your sleeves.\n\nAnd we don't stop there! Not content with just emulating the tabletop, we seek to improve upon the\ntabletop experience. This, truly, is where MapTool shines. A set of \"topology\" and vision features\nenable the GM to limit the view of his players, revealing the map as they explore it. Walls and\nother objects can prevent players from seeing what lies behind them. Darkness can be made to fall,\nblinding players who lack a light. Lights can be set on objects or on tokens that illuminate however\nmuch of the map you wish. If the GM wishes, s/he can limit the view of players to what their\nspecific token sees, adding a whole new level to the experience of splitting up the party. Woe be to\nthe character who can't see around the corner of a wall but steps out into the view of the enemy!\n\n## Version Numbers\n\nMapTool follows [Semantic Versioning](https://semver.org/) for version numbering.\n\nDevelopment builds contain the latest features and improvements, while stable releases focus on\nreliability and bug fixes. Critical bug fixes and security updates are backported to both stable and\ndevelopment branches.\n\n## For Users\n\nMapTool is available for Windows, Mac OS X, and Linux.\n\nYou can download the latest stable release\nfrom\nthe following locations\n\n* [MapTool website](https://www.rptools.net/toolbox/download-rptools-products/#/).\n* [GitHub: Latest Stable releases](https://github.com/RPTools/maptool/releases/latest).\n* [GitHub: All Non-Pre-Releases](https://github.com/RPTools/maptool/releases?q=prerelease%3Afalse\u0026expanded=false).\n* [GitHub: Pre-Releases](https://github.com/RPTools/maptool/releases?q=prerelease%3Atrue\u0026expanded=false).\n\nThere are several tutorials on the [MapTool wiki](https://wiki.rptools.info/index.php/Main_Page).\non\ngetting started using MapTool.\nThe MapTool installers for each platform are self contained and include everthing needed to run\nMapTool.\n\n## For Developers\n\nSee the [CONTRIBUTING.md](CONTRIBUTING.md) file for information on setting up your development\nenvironment and contributing to MapTool.\n\n### Requirements\n\n### Resources\n\n- **Website:** https://rptools.net/\n- **Forums:**  https://forums.rptools.net\n- **Wiki:**    https://wiki.rptools.info/index.php/Main_Page\n- **Discord:** https://discord.gg/dZy7HeYYVY\n- **Reddit:**  https://www.reddit.com/r/MapTool/\n- **Crowdin:** https://crowdin.com/project/maptool\n\n## Contributing to MapTool\n\nMapTool wouldn't be where it is today without the contributions of many people. We welcome\ncontributions from anyone who is interested in helping out, you don't need to be a developer to\ncontribute. For detailed information\nabout how\nyou can contribute to MapTool, please see our [Contributing Guide](CONTRIBUTING.md).\n\nRecommended IDE\n----------------\nWe currently recommend [IntelliJ IDEA](https://www.jetbrains.com/idea/) as our editor of choice\nalthough Eclipse and other IDE's should work just fine as well. For IntelliJ IDEA, simply open the\nproject folder and it will detect it as a Gradle project and you should be ready to go with minimal\neffort.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frptools%2Fmaptool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frptools%2Fmaptool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frptools%2Fmaptool/lists"}