martin/Cargo.toml

79 lines
2.2 KiB
TOML
Raw Normal View History

2017-09-30 13:55:44 +03:00
[package]
2018-01-16 15:55:05 +03:00
name = "martin"
2023-05-25 19:01:35 +03:00
version = "0.8.4"
edition = "2021"
authors = ["Stepan Kuzmin <to.stepan.kuzmin@gmail.com>", "Yuri Astrakhan <YuriAstrakhan@gmail.com>", "MapLibre contributors"]
description = "Blazing fast and lightweight tile server with PostGIS, MBTiles, and PMTiles support"
repository = "https://github.com/maplibre/martin"
license = "MIT OR Apache-2.0"
2023-03-25 21:48:28 +03:00
keywords = ["maps", "tiles", "mbtiles", "pmtiles", "postgis"]
exclude = [
# Tests include a lot of data and other test files that are not needed for the users of the library
"/tests",
]
[lib]
name = "martin"
path = "src/lib.rs"
[[bin]]
name = "martin"
path = "src/bin/main.rs"
2017-09-30 13:55:44 +03:00
[features]
default = []
ssl = ["openssl", "postgres-openssl"]
vendored-openssl = ["ssl", "openssl/vendored"]
2017-09-30 13:55:44 +03:00
[dependencies]
actix = "0.13"
actix-cors = "0.6"
actix-http = "3"
actix-rt = "2"
actix-web = "4"
async-trait = "0.1"
brotli = "3"
clap = { version = "4", features = ["derive"] }
deadpool-postgres = "0.10"
chore(deps): bump env_logger from 0.9.3 to 0.10.0 (#493) [//]: # (dependabot-start) ⚠️ **Dependabot is rebasing this PR** ⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.9.3 to 0.10.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's changelog</a>.</em></p> <blockquote> <h2>[0.10.0] - 2022-11-24</h2> <p>MSRV changed to 1.60 to hide optional dependencies</p> <h3>Fixes</h3> <ul> <li>Resolved soundness issue by switching from <code>atty</code> to <code>is-terminal</code></li> </ul> <h3>Breaking Changes</h3> <p>To open room for changing dependencies:</p> <ul> <li>Renamed <code>termcolor</code> feature to <code>color</code></li> <li>Renamed <code>atty</code> feature to <code>auto-color</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-cli/env_logger/commit/ff029fa8b6258ed926134f51d38ee85ebd553c35"><code>ff029fa</code></a> chore: Release</li> <li><a href="https://github.com/rust-cli/env_logger/commit/389cc52d5a14b45286c6478b00148abeaeccf4a7"><code>389cc52</code></a> docs: Fix changelog links</li> <li><a href="https://github.com/rust-cli/env_logger/commit/2979c4b7b8a42e0247dee69a513249976afcd1ed"><code>2979c4b</code></a> docs: Update changelog</li> <li><a href="https://github.com/rust-cli/env_logger/commit/4c379170f7824ac10eab9af52f5645ecae9214cd"><code>4c37917</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-cli/env_logger/issues/248">#248</a> from epage/atty</li> <li><a href="https://github.com/rust-cli/env_logger/commit/d55d26980f338179e5d1829fb8d16b1d509530f1"><code>d55d269</code></a> style: Make clippy happy</li> <li><a href="https://github.com/rust-cli/env_logger/commit/066c2192c187f047ae178e786ff36e6cabed21f7"><code>066c219</code></a> fix: Replace atty with is_terminal</li> <li><a href="https://github.com/rust-cli/env_logger/commit/4db5e8793162e33e17efce36057afaa41d988788"><code>4db5e87</code></a> fix!: Rename termcolor/atty features</li> <li><a href="https://github.com/rust-cli/env_logger/commit/660cf7feb27e07bd308c3952637c5ae21c438846"><code>660cf7f</code></a> fix: Bump MSRV to 1.60.0</li> <li><a href="https://github.com/rust-cli/env_logger/commit/e572d048722c0af9c891df4ac8ef0716353c807d"><code>e572d04</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/rust-cli/env_logger/issues/244">#244</a> from epage/update</li> <li><a href="https://github.com/rust-cli/env_logger/commit/f1ff331fa2e3f1111cd918ba91b22ad5a7070777"><code>f1ff331</code></a> docs: Fix typos</li> <li>Additional commits viewable in <a href="https://github.com/rust-cli/env_logger/compare/v0.9.3...v0.10.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.9.3&new-version=0.10.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-27 05:34:49 +03:00
env_logger = "0.10"
flate2 = "1"
futures = "0.3"
2021-07-16 16:08:46 +03:00
itertools = "0.10"
2018-03-26 14:12:43 +03:00
log = "0.4"
2023-03-25 21:48:28 +03:00
martin-mbtiles = { path = "martin-mbtiles", version = "0.1.0" }
martin-tile-utils = { path = "martin-tile-utils", version = "0.1.0" }
num_cpus = "1"
openssl = { version = "0.10", optional = true }
2023-05-25 19:01:35 +03:00
pmtiles = { version = "0.2.2", features = ["mmap-async-tokio", "tilejson"] }
postgis = "0.9"
postgres = { version = "0.19", features = ["with-time-0_3", "with-uuid-1", "with-serde_json-1"] }
postgres-openssl = { version = "0.5", optional = true }
postgres-protocol = "0.6"
regex = "1"
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
serde_yaml = "0.9"
subst = { version = "0.2", features = ["yaml"] }
thiserror = "1"
tilejson = "0.3"
[dev-dependencies]
cargo-husky = { version = "1", features = ["user-hooks"], default-features = false }
chore(deps): Bump criterion from 0.4.0 to 0.5.0 (#673) Bumps [criterion](https://github.com/bheisler/criterion.rs) from 0.4.0 to 0.5.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md">criterion's changelog</a>.</em></p> <blockquote> <h2>[0.5.0] - 2023-05-23</h2> <h3>Changed</h3> <ul> <li>Replaced lazy_static dependency with once_cell</li> <li>Improved documentation of the <code>html_reports</code> feature</li> <li>Replaced atty dependency with is-terminal</li> <li>MSRV bumped to 1.64</li> <li>Upgraded clap dependency to v4</li> <li>Upgraded tempfile dependency to v3.5.0</li> </ul> <h3>Fixed</h3> <ul> <li>Quick mode (<code>--quick</code>) no longer outputs 1ms for measured times over 5 seconds</li> <li>Documentation updates</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bheisler/criterion.rs/commit/4a560cb8d8b4cefc4819a6489f0ce0540663968d"><code>4a560cb</code></a> release version 0.5 (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/683">#683</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/3e2849ebf86e27507f783a20647a0fc81c6bfcc7"><code>3e2849e</code></a> Post v0.4 CHANGELOG updates (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/680">#680</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/637010e50d3819839cd45d9f5b281c169573416a"><code>637010e</code></a> Bump clap to version 4 (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/679">#679</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/39d7e2f9546981d87ae195fe7c68f778afdb66a4"><code>39d7e2f</code></a> Update to tempfile 3.5 (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/675">#675</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/8ab2752ccfeece50347c81866a4185f29fd978a2"><code>8ab2752</code></a> Fix typo in known_limitations.md (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/674">#674</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/a2112308ef8e3d8fe5a8da41ccb0fba3d5d460c4"><code>a211230</code></a> chore: replace atty with is-terminal (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/628">#628</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/a844eb226bb814e6a4e8b35b3b91c74f22ad535b"><code>a844eb2</code></a> Bump MSRV to 1.60 for csv dependency (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/665">#665</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/2f5360737807cbe90d149db6199783236f0ef634"><code>2f53607</code></a> Use OR operator to specify multiple licenses (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/643">#643</a>)</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/86dcd7d323799043c100dbf358409e986a872a11"><code>86dcd7d</code></a> Fix bug where time over the maximum would be reported as 1ms in quick mode. (...</li> <li><a href="https://github.com/bheisler/criterion.rs/commit/2942aee124e433213f0e9b917bb730bcdc7df6f3"><code>2942aee</code></a> Remove unnecessary <code>pub</code> from example code (<a href="https://redirect.github.com/bheisler/criterion.rs/issues/657">#657</a>)</li> <li>Additional commits viewable in <a href="https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=criterion&package-manager=cargo&previous-version=0.4.0&new-version=0.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-24 06:32:10 +03:00
criterion = { version = "0.5", features = ["async_futures", "async_tokio", "html_reports"] }
chore(deps): Bump ctor from 0.1.26 to 0.2.0 (#617) Bumps [ctor](https://github.com/mmastrac/rust-ctor) from 0.1.26 to 0.2.0. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/mmastrac/rust-ctor/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ctor&package-manager=cargo&previous-version=0.1.26&new-version=0.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 03:08:13 +03:00
ctor = "0.2"
chore(deps): Bump indoc from 1.0.8 to 2.0.0 (#561) Bumps [indoc](https://github.com/dtolnay/indoc) from 1.0.8 to 2.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/indoc/releases">indoc's releases</a>.</em></p> <blockquote> <h2>2.0.0</h2> <ul> <li>Change handling of final newline at zero levels of indentation (<a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/55">#55</a>)</li> <li>Add <a href="https://docs.rs/indoc/2/indoc/macro.concatdoc.html"><code>concatdoc!</code></a> macro (<a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/56">#56</a>)</li> <li>Raise oldest supported rustc to 1.56</li> </ul> <h2>1.0.9</h2> <ul> <li>Fix parsing of some edge cases involving angle brackets in writedoc's expr argument (<a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/54">#54</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/indoc/commit/bbbec14e9dd8ca910766d9f4daa20a3f5dbd133c"><code>bbbec14</code></a> Release 2.0.0</li> <li><a href="https://github.com/dtolnay/indoc/commit/24a804e0cf34cb53f0958af9216cbb7c24b8052c"><code>24a804e</code></a> Add concatdoc docs</li> <li><a href="https://github.com/dtolnay/indoc/commit/476b93743648ab61b7740c4c8db7f8843203f602"><code>476b937</code></a> Delete paths from .cargo/config</li> <li><a href="https://github.com/dtolnay/indoc/commit/b5fb2dc83f36837ceeb9a1d2a0d2cc7b3e27368f"><code>b5fb2dc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/57">#57</a> from dtolnay/fromstr</li> <li><a href="https://github.com/dtolnay/indoc/commit/623d666afac9a55c6a6946efa7a17f0dce77d4f8"><code>623d666</code></a> Replace TokenStream::from_str with Literal::from_str</li> <li><a href="https://github.com/dtolnay/indoc/commit/28d6d25d200873718cb3c3c7b5aa792d1e572577"><code>28d6d25</code></a> Switch to 2021 edition</li> <li><a href="https://github.com/dtolnay/indoc/commit/46d38c0fcdf8db42ca99ce8b0ce2ae605f9d8bf0"><code>46d38c0</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/56">#56</a> from dtolnay/concat</li> <li><a href="https://github.com/dtolnay/indoc/commit/4fec8a91e9bddc2a68d6368e93ed5b7eea95f8dc"><code>4fec8a9</code></a> Add concatdoc macro</li> <li><a href="https://github.com/dtolnay/indoc/commit/1f705293a5920826d74af1a6a302a10478568df9"><code>1f70529</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/dtolnay/indoc/issues/55">#55</a> from dtolnay/trailing</li> <li><a href="https://github.com/dtolnay/indoc/commit/31694b5dcad0f25bf485d50401d0338a07ae2ba2"><code>31694b5</code></a> Preserve last newline even if not indented</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/indoc/compare/1.0.8...2.0.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indoc&package-manager=cargo&previous-version=1.0.8&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 14:49:43 +03:00
indoc = "2"
Support z,x,y and record-returning funcs, table rework (#380) Can now handle several additional Postgres functions to get a tile, plus tons of small fixes ### Multiple result variants * `getmvt(z,x,y) -> [bytea,md5]` (single row with two columns) * `getmvt(z,x,y) -> [bytea]` (single row with a single column) * `getmvt(z,x,y) -> bytea` (value) ### Multiple input parameter variants * `getmvt(z, x, y)` or `getmvt(zoom, x, y)` (all 3 vars must be integers) * `getmvt(z, x, y, url_query)`, where instead of `url_query` it could be any other name, but must be of type JSON ### Breaking * srid is now the same type as PG -- `i32` * renamed config vals `table_sources` and `function_sources` into `tables` and `functions` ### Features and fixes * if postgis is v3.1+, uses margin parameter to extend the search box by the size of the buffer. I think we should make 3.1 minimal required. * fixes feature ID issue from #466 * fixes mixed case names for schemas, tables and columns, functions and parameter names per #389 ### Notes * More dynamic SQL generation in code instead of using external SQL files. Those should only be used when they are not parametrized. * The new function/table discovery mechanism: query for all functions in the database, and match up those functions with the ones configured (if any), plus adds all the rest of the un-declared ones if discovery mode is on. * During table and function discovery, the code generates a map of `(PgSqlInfo, FunctionInfo)` (or table) tupples containing SQL needed to get the tile. * Auto-discovery mode is currently hidden - the discovery is on only when no tables or functions are configured. TBD - how to configure it in the future * The new system allows for an easy way to auto-discover for the specific schemas only, solving #47 * predictable order of table/function instantiation * bounding boxes computed in parallel for all tables (when not configured) * proper identifier escaping * test cleanup fixes #378 fixes #466 fixes #65 fixes #389
2022-12-10 17:20:42 +03:00
#test-log = "0.2"
[[bench]]
2021-07-23 11:04:34 +03:00
name = "sources"
harness = false
[profile.dev.package.sqlx-macros]
# See https://github.com/launchbadge/sqlx#compile-time-verification
opt-level = 3
[workspace]
default-members = ["martin-tile-utils", "martin-mbtiles", "."]
members = ["martin-tile-utils", "martin-mbtiles"]