martin

Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server, tile generation, and mbtiles tooling.

https://github.com/maplibre/martin

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 64 committers (1.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary

Keywords

hacktoberfest leaflet mapbox-gl mapbox-gl-js mapbox-vector-tile maplibre maplibre-gl-js maps mbtiles pmtiles postgis postgresql rust vector-tiles webserver

Keywords from Contributors

yolov5s cryptocurrencies mesh attributes optimizer hydrology developer-tools profiles energy-system parallel
Last synced: 6 months ago · JSON representation ·

Repository

Blazing fast and lightweight PostGIS, MBtiles and PMtiles tile server, tile generation, and mbtiles tooling.

Basic Info
  • Host: GitHub
  • Owner: maplibre
  • License: apache-2.0
  • Language: Rust
  • Default Branch: main
  • Homepage: https://martin.maplibre.org
  • Size: 21.8 MB
Statistics
  • Stars: 2,935
  • Watchers: 33
  • Forks: 274
  • Open Issues: 97
  • Releases: 51
Topics
hacktoberfest leaflet mapbox-gl mapbox-gl-js mapbox-vector-tile maplibre maplibre-gl-js maps mbtiles pmtiles postgis postgresql rust vector-tiles webserver
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Funding License Code of conduct Citation Security

README.md

Martin

Book docs.rs docs GitHub crates.io version Security audit CI build Codecov

Martin is a tile server and a set of tools able to generate vector tiles on the fly from large PostgreSQL databases, and serve tiles from PMTiles and MBTiles files. Martin optimizes for speed and heavy traffic, and is written in Rust.

Features

  • Serve vector tiles from
    • PostGIS databases, automatically discovering compatible tables and functions
    • PMTile, both local files and over HTTP
    • MBTile files
  • Combine multiple tile sources into one
  • Serve styles and generate sprites or font glyphs on the fly
  • Generate tiles in bulk from any Martin-supported sources into an MBTiles file with martin-cp tool
  • Examine, copy, validate, compare, and apply diffs between MBTiles files with mbtiles tool

Documentation

Getting Involved

Join the #maplibre-martin slack channel at OSMUS -- automatic invite is at https://slack.openstreetmap.us/

Contributing

Like any open source project, Martin welcomes contributions from anyone who wants to help improve it.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Owner

  • Name: MapLibre
  • Login: maplibre
  • Kind: organization

Citation (CITATION.cff)

# Parser settings.
cff-version: 1.2.0
message: Please cite this crate using these information.

# Version information.
date-released: 2024-11-29
version: 4.5.21

# Project information.
abstract: Vector Tiles from Large Databases on the Fly
authors:
  - alias: nyurik
    family-names: Astrakhan
    given-names: Yuri
  - name: The maplibre Community
license:
  - MIT
  - Apache-2.0
repository-artifact: https://martin.maplibre.org
repository-code: https://github.com/maplibre/martin
title: Martin
url: https://martin.maplibre.org

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,860
  • Total Committers: 64
  • Avg Commits per committer: 29.063
  • Development Distribution Score (DDS): 0.691
Past Year
  • Commits: 343
  • Committers: 22
  • Avg Commits per committer: 15.591
  • Development Distribution Score (DDS): 0.472
Top Committers
Name Email Commits
Yuri Astrakhan Y****n@g****m 574
dependabot[bot] 4****] 534
Stepan Kuzmin t****n@g****m 323
Frank Elsinga f****k@e****e 74
Stepan Kuzmin s****n@y****u 69
dependabot-preview[bot] 2****] 62
Lucas z****o@h****m 62
Andrey Bakhvalov b****y@g****m 42
Birk Skyum b****m@p****e 32
rstanciu 5****n 13
Lena Pronina k****k@g****m 5
Anna Barinova a****a@h****m 4
Paul FLORENCE p****e@m****m 3
Josh Lee j****v@g****m 3
NINNiT s****r@g****m 3
Pat Sier p****r 3
Chris Thiange c****e 2
pre-commit-ci[bot] 6****] 2
Sven m****n 2
Mazedur Rahman y****e 2
Binabh b****a@g****m 2
AdriSolid b****s@g****m 2
Andrea Longoni 5****0 1
Bart Louwers b****s@g****m 1
Christian Versloot m****l@c****l 1
D V 7****d 1
Devin Norgarb d****b@g****m 1
Frédéric Rodrigo f****o@g****m 1
Hackjack p****o@j****r 1
verma nakul n****y@g****m 1
and 34 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 317
  • Total pull requests: 1,571
  • Average time to close issues: 4 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 151
  • Total pull request authors: 61
  • Average comments per issue: 2.68
  • Average comments per pull request: 0.82
  • Merged pull requests: 1,266
  • Bot issues: 11
  • Bot pull requests: 849
Past Year
  • Issues: 89
  • Pull requests: 703
  • Average time to close issues: 18 days
  • Average time to close pull requests: 4 days
  • Issue authors: 45
  • Pull request authors: 30
  • Average comments per issue: 1.44
  • Average comments per pull request: 0.92
  • Merged pull requests: 529
  • Bot issues: 5
  • Bot pull requests: 329
Top Authors
Issue Authors
  • nyurik (97)
  • sharkAndshark (19)
  • CommanderStorm (14)
  • github-actions[bot] (7)
  • pcace (5)
  • ljh2057 (5)
  • stepankuzmin (4)
  • dependabot[bot] (4)
  • artyomb (3)
  • nouryf (3)
  • Zia- (3)
  • ohrie (2)
  • dansku (2)
  • upsicleclown (2)
  • everestas (2)
Pull Request Authors
  • dependabot[bot] (842)
  • nyurik (281)
  • CommanderStorm (227)
  • sharkAndshark (98)
  • upsicleclown (10)
  • pre-commit-ci[bot] (7)
  • NINNiT (6)
  • jleedev (6)
  • tomeronen (4)
  • mr-sven (4)
  • pka (3)
  • jtmiclat (3)
  • sdf-jkl (3)
  • agenceKanvas (2)
  • caspg (2)
Top Labels
Issue Labels
help wanted (66) enhancement (44) question (44) good first issue (40) pg (28) config (23) mbtiles (19) serving (16) docs (15) bug (11) dependencies (8) cli (8) needs more info (7) performance (6) github_actions (6) martin-cp (5) install (5) UI (5) duplicate (5) ci/cd (4) rust (4) pmtiles (4) sprites (2) javascript (2) breaking (2) build (1) unconfirmed (1)
Pull Request Labels
dependencies (844) rust (695) javascript (83) github_actions (64) ci/cd (4) breaking (3) relnotes (2) config (1) serving (1)

Packages

  • Total packages: 5
  • Total downloads:
    • cargo 94,872 total
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 127
  • Total maintainers: 2
proxy.golang.org: github.com/maplibre/martin
  • Versions: 54
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 7.0%
Last synced: 6 months ago
crates.io: martin

Blazing fast and lightweight tile server with PostGIS, MBTiles, and PMTiles support

  • Versions: 29
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 34,405 Total
Rankings
Stargazers count: 5.1%
Forks count: 6.2%
Average: 28.6%
Dependent repos count: 29.3%
Dependent packages count: 33.8%
Downloads: 68.5%
Maintainers (2)
Last synced: 6 months ago
crates.io: mbtiles

A simple low-level MbTiles access and processing library, with some tile format detection and other relevant heuristics.

  • Versions: 18
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 24,889 Total
Rankings
Stargazers count: 4.5%
Forks count: 5.3%
Dependent repos count: 30.7%
Average: 35.0%
Dependent packages count: 36.2%
Downloads: 98.3%
Maintainers (2)
Last synced: 6 months ago
crates.io: martin-mbtiles

WARNING: This crate was renamed to mbtiles.

  • Versions: 9
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 11,216 Total
Rankings
Dependent repos count: 29.3%
Dependent packages count: 34.5%
Average: 54.4%
Downloads: 99.4%
Maintainers (1)
Last synced: 6 months ago
crates.io: martin-tile-utils

Utilities to help with map tile processing, such as type and compression detection. Used by the MapLibre's Martin tile server.

  • Versions: 17
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 24,362 Total
Rankings
Dependent repos count: 29.3%
Dependent packages count: 34.5%
Average: 54.4%
Downloads: 99.4%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/audit-check.yml actions
  • actions-rs/audit-check v1 composite
  • actions/checkout v3 composite
.github/workflows/bench.yml actions
  • actions/checkout v3 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/upload-artifact v3 composite
  • nyurik/action-setup-postgis v1 composite
  • softprops/action-gh-release v1 composite
  • ${{matrix.image}} * docker
.github/workflows/dependabot.yml actions
  • dependabot/fetch-metadata v1.3.6 composite
.github/workflows/docker.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
  • nyurik/action-setup-postgis v1 composite
.github/workflows/grcov.yml actions
  • actions-rs/grcov v0.1 composite
  • actions/checkout v3 composite
  • codecov/codecov-action v3 composite
  • dtolnay/rust-toolchain master composite
  • postgis/postgis 14-3.3-alpine docker
Cargo.lock cargo
  • 291 dependencies
Cargo.toml cargo
  • cargo-husky 1 development
  • criterion 0.4 development
  • ctor 0.1 development
  • indoc 2 development
  • actix 0.13
  • actix-cors 0.6
  • actix-http 3
  • actix-rt 2
  • actix-web 4
  • async-trait 0.1
  • clap 4
  • deadpool-postgres 0.10
  • env_logger 0.10
  • flate2 1
  • futures 0.3
  • itertools 0.10
  • log 0.4
  • num_cpus 1
  • openssl 0.10
  • pmtiles 0.2
  • postgis 0.9
  • postgres 0.19
  • postgres-openssl 0.5
  • postgres-protocol 0.6
  • regex 1
  • semver 1
  • serde 1
  • serde_json 1
  • serde_yaml 0.9
  • subst 0.2
  • thiserror 1
  • tilejson 0.3
martin-mbtiles/Cargo.toml cargo
  • actix-rt 2 development
  • futures 0.3
  • log 0.4
  • serde_json 1
  • sqlx 0.6
  • thiserror 1
  • tilejson 0.3
Dockerfile docker
  • alpine latest build
  • rust alpine build
docker-compose.yml docker
  • maplibre/martin v0.7.0
  • postgis/postgis 14-3.3
  • postgis/postgis 14-3.3-alpine
  • postgis/postgis 15-3.3
  • postgis/postgis 11-3.0-alpine