Commit Graph

1516 Commits

Author SHA1 Message Date
Yuri Astrakhan
87b62cb223 update sources-sprites docs, minor lint 2023-06-22 23:53:59 -04:00
Yuri Astrakhan
71f9ee6c7d Ver bump, doc cleanup, readying for release 2023-06-22 23:24:31 -04:00
Yuri Astrakhan
ae324100f4 Remove docs/book from ignore (unused) 2023-06-22 23:04:57 -04:00
Yuri Astrakhan
ff29530804
Fix non-deterministic CI tests (#724)
* a race condition due to duplicated webp.mbtiles and webp.pmtiles
* minor cleanup of CI/dockerignore
* dependency bump
2023-06-22 23:01:57 -04:00
rstanciu
177b72e876
Add force-simple parameter when copying (#723)
Add `--force-simple` flag to `mbtiles copy` tool.
If supplied, ensures the destination file has a `tiles` _table_ (as
opposed to a `tiles` _view_ made up of `images` and `map` tables).
2023-06-23 02:21:11 +00:00
Yuri Astrakhan
8b3a589182
Minor cleanup of mbitels tools (#718)
Just a few inlining and minor things to keep things tidy

Feel free to push back on any of the proposed changes, e.g. if
unclear/complex/...
2023-06-20 17:49:05 -04:00
Yuri Astrakhan
e2ac0be12c update lock 2023-06-16 23:57:31 -04:00
rstanciu
bc140e0216
Add basic copying functionality (#712)
Copy an existing `.mbtiles` file to a new file.

```shell
mbtiles copy  <src_file.mbtiles> <dst_file.mbtiles>
```

Optionally filters by zooms.  Supports de-duplicated and simple mbtiles

---------

Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
2023-06-17 00:00:46 +00:00
Yuri Astrakhan
a187e6e1da cleanup cargo optional dep: in features 2023-06-16 19:31:51 -04:00
Yuri Astrakhan
22173e4881 update lock 2023-06-16 12:56:13 -04:00
Yuri Astrakhan
a5c5505713
Add dynamic sprites support (#715)
Dynamically create image sprites for MapLibre rendering, given a
directory with images.

### TODO
* [x] Work with @flother to merge these PRs
  * [x] https://github.com/flother/spreet/pull/59  (must have)
  * [x] https://github.com/flother/spreet/pull/57
  * [x] https://github.com/flother/spreet/pull/56
* [ ] https://github.com/flother/spreet/pull/62 (not required but nice
to have, can upgrade later without any code changes)
* [x] Add docs to the book
* [x] Add CLI param, e.g. `--sprite <dir_path>`
* [x] Don't output `.sprites` in auto-genned config when not in use

### API
Per [MapLibre sprites
API](https://maplibre.org/maplibre-style-spec/sprite/), we need to
support the following:
* `/sprite/<sprite_id>.json` metadata about the sprite file - all coming
from a single directory
* `/sprite/<sprite_id>.png` all images combined into a single PNG
* `/sprite/<sprite_id>@2x.json` same but for high DPI devices
* `/sprite/<sprite_id>@2x.png`

Multiple sprite_id values can be combined into one sprite with the same
pattern as for tile joining:
`/sprite/<sprite_id1>,<sprite_id2>,...,<sprite_idN>[.json|.png|@2x.json|@2x.png]`.
No ID renaming is done, so identical names will override one another.

### Configuration
[Config file](https://maplibre.org/martin/config-file.html) and possibly
CLI should have a simple option to serve sprites. The configuration may
look similar to how mbtiles and pmtiles are configured:

```yaml
# Publish sprite images
sprites:
  paths:
    # scan this whole dir, matching all image files, and publishing it as "my_images" sprite source
    - /path/to/my_images
  sources:
    # named source matching source name to a directory
    my_sprites: /path/to/some_dir
```

Implement #705
2023-06-16 08:19:47 -04:00
Yuri Astrakhan
7e20602079
Minor refactor and cleanup (#716)
* moved `IdResolver` to a separate file
* added `just fmt2` build target to format code using nightly mode
* moved all Actix `Data<AppState>` into individual state objects, e.g.
`Data<Sources>` (allows other source types, separate from `Sources`
type)
* move all Source-related code to a new `Sources` struct (a simple
wrapper over a HashMap)
2023-06-15 18:36:41 -04:00
Yuri Astrakhan
99ea3ff9a2 Disable mbtiles default features, reserve keywords 2023-06-14 16:42:31 -04:00
Yuri Astrakhan
55d60acc41 update lock 2023-06-13 20:23:21 -04:00
rstanciu
6f32f0e7b4
Add feature to detect Mbtiles format (#713)
Feature for `Mbtiles` struct to detect which format a `.mbtiles` file is
in according to the [MBTiles
specfication](https://github.com/mapbox/mbtiles-spec/blob/master/1.3/spec.md#database).
The function `detect_type` identifies whether the `.mbtiles` file
contains a `tiles` _table_ OR if it contains `map` and `images` table
(which provide the data for a `tiles` _view_).

See also #667
2023-06-13 20:04:11 -04:00
dependabot[bot]
be06b396b2
chore(deps): Bump docker/setup-buildx-action from 2.6.0 to 2.7.0 (#714)
Bumps
[docker/setup-buildx-action](https://github.com/docker/setup-buildx-action)
from 2.6.0 to 2.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/setup-buildx-action/releases">docker/setup-buildx-action's
releases</a>.</em></p>
<blockquote>
<h2>v2.7.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.3.0 to 0.5.0 in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/237">docker/setup-buildx-action#237</a>
<a
href="https://redirect.github.com/docker/setup-buildx-action/pull/238">docker/setup-buildx-action#238</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-buildx-action/compare/v2.6.0...v2.7.0">https://github.com/docker/setup-buildx-action/compare/v2.6.0...v2.7.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ecf95283f0"><code>ecf9528</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/238">#238</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="b2a38ee0c6"><code>b2a38ee</code></a>
update generated content</li>
<li><a
href="7f79690cac"><code>7f79690</code></a>
Bump <code>@​docker/actions-toolkit</code> from 0.4.0 to 0.5.0</li>
<li><a
href="bdd549bec0"><code>bdd549b</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/237">#237</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="be4a3855af"><code>be4a385</code></a>
update generated content</li>
<li><a
href="6c4dbb29f6"><code>6c4dbb2</code></a>
Bump <code>@​docker/actions-toolkit</code> from 0.3.0 to 0.4.0</li>
<li>See full diff in <a
href="https://github.com/docker/setup-buildx-action/compare/v2.6.0...v2.7.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/setup-buildx-action&package-manager=github_actions&previous-version=2.6.0&new-version=2.7.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-06-13 23:32:56 +00:00
Yuri Astrakhan
1418a8b44c Cargo update and a minor lint 2023-06-12 23:20:52 -04:00
dependabot[bot]
b5d52f4334
chore(deps): Bump log from 0.4.18 to 0.4.19 (#711)
Bumps [log](https://github.com/rust-lang/log) from 0.4.18 to 0.4.19.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's
changelog</a>.</em></p>
<blockquote>
<h2>[0.4.19] - 2023-06-10</h2>
<ul>
<li>Use target_has_atomic instead of the old atomic_cas cfg by <a
href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
in <a
href="https://redirect.github.com/rust-lang/log/pull/555">rust-lang/log#555</a></li>
<li>Put MSRV into Cargo.toml by <a
href="https://github.com/est31"><code>@​est31</code></a> in <a
href="https://redirect.github.com/rust-lang/log/pull/557">rust-lang/log#557</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="84ddc30ecc"><code>84ddc30</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/552">#552</a>
from rust-lang/cargo/0.4.18</li>
<li><a
href="9ae986d8e5"><code>9ae986d</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/log/issues/548">#548</a>
from iorust/master</li>
<li><a
href="5322e569d0"><code>5322e56</code></a>
update changelog to reflect actual changes</li>
<li><a
href="db9e5cc214"><code>db9e5cc</code></a>
Add the structured-logger crate to the README</li>
<li><a
href="92e83c04f3"><code>92e83c0</code></a>
fixes for unrevert</li>
<li><a
href="54d48fb53e"><code>54d48fb</code></a>
prepare for 0.4.19 release</li>
<li><a
href="3c8473d9ed"><code>3c8473d</code></a>
Revert &quot;Revert &quot;Remove build.rs file&quot;&quot;</li>
<li>See full diff in <a
href="https://github.com/rust-lang/log/compare/0.4.18...0.4.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=log&package-manager=cargo&previous-version=0.4.18&new-version=0.4.19)](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-06-12 03:34:14 +00:00
dependabot[bot]
9791df08a8
chore(deps): Bump clap from 4.3.2 to 4.3.3 (#710)
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.2 to 4.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.3.3</h2>
<h2>[4.3.3] - 2023-06-09</h2>
<h3>Features</h3>
<ul>
<li><code>Command::defer</code> for delayed initialization of
subcommands to reduce startup times of large applications like deno</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.3.3] - 2023-06-09</h2>
<h3>Features</h3>
<ul>
<li><code>Command::defer</code> for delayed initialization of
subcommands to reduce startup times of large applications like deno</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a87fba2bb6"><code>a87fba2</code></a>
chore: Release</li>
<li><a
href="4b9ec6fa87"><code>4b9ec6f</code></a>
docs: Update changelog</li>
<li><a
href="13534b67d0"><code>13534b6</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/4792">#4792</a>
from epage/defer</li>
<li><a
href="d10938dd33"><code>d10938d</code></a>
feat: Allow deferred initialization of subcommands</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/v4.3.2...v4.3.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.3.2&new-version=4.3.3)](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-06-12 03:31:59 +00:00
dependabot[bot]
0067616670
chore(deps): Bump docker/setup-buildx-action from 2.5.0 to 2.6.0 (#709)
Bumps
[docker/setup-buildx-action](https://github.com/docker/setup-buildx-action)
from 2.5.0 to 2.6.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/setup-buildx-action/releases">docker/setup-buildx-action's
releases</a>.</em></p>
<blockquote>
<h2>v2.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Set node name for k8s driver when appending nodes by <a
href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/219">docker/setup-buildx-action#219</a></li>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.1.0-beta.18 to
0.3.0 in <a
href="https://redirect.github.com/docker/setup-buildx-action/pull/220">docker/setup-buildx-action#220</a>
<a
href="https://redirect.github.com/docker/setup-buildx-action/pull/229">docker/setup-buildx-action#229</a>
<a
href="https://redirect.github.com/docker/setup-buildx-action/pull/231">docker/setup-buildx-action#231</a>
<a
href="https://redirect.github.com/docker/setup-buildx-action/pull/236">docker/setup-buildx-action#236</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/setup-buildx-action/compare/v2.5.0...v2.6.0">https://github.com/docker/setup-buildx-action/compare/v2.5.0...v2.6.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6a58db7e0d"><code>6a58db7</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/236">#236</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="d56292e348"><code>d56292e</code></a>
update generated content</li>
<li><a
href="790eb2db47"><code>790eb2d</code></a>
Bump <code>@​docker/actions-toolkit</code> from 0.2.0 to 0.3.0</li>
<li><a
href="2a81c53912"><code>2a81c53</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/231">#231</a>
from docker/dependabot/npm_and_yarn/docker/actions-to...</li>
<li><a
href="00b2400aad"><code>00b2400</code></a>
update generated content</li>
<li><a
href="484614d7a1"><code>484614d</code></a>
Bump <code>@​docker/actions-toolkit</code> from 0.1.0 to 0.2.0</li>
<li><a
href="d95759405f"><code>d957594</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/setup-buildx-action/issues/219">#219</a>
from crazy-max/ci-k3s-append</li>
<li><a
href="5bb6d36be0"><code>5bb6d36</code></a>
ci: set up and build with k3s</li>
<li><a
href="a99c5e53ef"><code>a99c5e5</code></a>
update generated content</li>
<li><a
href="fc1a41d2e5"><code>fc1a41d</code></a>
set node name for k8s driver when appending nodes</li>
<li>Additional commits viewable in <a
href="https://github.com/docker/setup-buildx-action/compare/v2.5.0...v2.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/setup-buildx-action&package-manager=github_actions&previous-version=2.5.0&new-version=2.6.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-06-09 12:20:07 -04:00
taiebnoe
9c07fc9150
Update README.md export command (#708)
Quoting DATABASE_URL content variable prevents an issue from the command
export. In case of a string (i.e. password) with given characters (i.e.
'('), it can make the command fail. Quoting it prevents that from
happening.
The issue happened on MacOS with an M1 chip.
2023-06-07 12:53:24 -04:00
dependabot[bot]
bd657bb72c
chore(deps): Bump regex from 1.8.3 to 1.8.4 (#706)
Bumps [regex](https://github.com/rust-lang/regex) from 1.8.3 to 1.8.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's
changelog</a>.</em></p>
<blockquote>
<h1>1.8.4 (2023-06-05)</h1>
<p>This is a patch release that fixes a bug where <code>(?-u:\B)</code>
was allowed in
Unicode regexes, despite the fact that the current matching engines can
report
match offsets between the code units of a single UTF-8 encoded
codepoint. That
in turn means that match offsets that split a codepoint could be
reported,
which in turn results in panicking when one uses them to slice a
<code>&amp;str</code>.</p>
<p>This bug occurred in the transition to <code>regex 1.8</code> because
the underlying
syntactical error that prevented this regex from compiling was
intentionally
removed. That's because <code>(?-u:\B)</code> will be permitted in
Unicode regexes in
<code>regex 1.9</code>, but the matching engines will guarantee to never
report match
offsets that split a codepoint. When the underlying syntactical error
was
removed, no code was added to ensure that <code>(?-u:\B)</code> didn't
compile in the
<code>regex 1.8</code> transition release. This release, <code>regex
1.8.4</code>, adds that code
such that <code>Regex::new(r&quot;(?-u:\B)&quot;)</code> returns to the
<code>regex &lt;1.8</code> behavior of
not compiling. (A <code>bytes::Regex</code> can still of course compile
it.)</p>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1006">#1006</a>](<a
href="https://redirect.github.com/rust-lang/regex/issues/1006">rust-lang/regex#1006</a>):
Fix a bug where <code>(?-u:\B)</code> was allowed in Unicode regexes,
and in turn could
lead to match offsets that split a codepoint in
<code>&amp;str</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5a34a39b72"><code>5a34a39</code></a>
1.8.4</li>
<li><a
href="407f6d3254"><code>407f6d3</code></a>
changelog: 1.8.4</li>
<li><a
href="b2ca9c16da"><code>b2ca9c1</code></a>
compile: make Regex::new(r&quot;(?-u:\B)&quot;) fail again</li>
<li>See full diff in <a
href="https://github.com/rust-lang/regex/compare/1.8.3...1.8.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.8.3&new-version=1.8.4)](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-06-06 03:32:50 +00:00
dependabot[bot]
b7a0aadc35
chore(deps): Bump clap from 4.3.1 to 4.3.2 (#707)
Bumps [clap](https://github.com/clap-rs/clap) from 4.3.1 to 4.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.3.2</h2>
<h2>[4.3.2] - 2023-06-05</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Don't produce <code>unused_equalifications</code>
warnings when someone brings a clap type into scope</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.3.2] - 2023-06-05</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Don't produce <code>unused_equalifications</code>
warnings when someone brings a clap type into scope</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="475e254d25"><code>475e254</code></a>
chore: Release</li>
<li><a
href="75e2060f05"><code>75e2060</code></a>
docs: Update changelog</li>
<li><a
href="468ab556a6"><code>468ab55</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/4952">#4952</a>
from epage/derive</li>
<li><a
href="103ae5cf62"><code>103ae5c</code></a>
fix(derive): Don't warn when people bring types into scope</li>
<li><a
href="5661b6b508"><code>5661b6b</code></a>
style: Remove unused mut</li>
<li><a
href="e7729d1282"><code>e7729d1</code></a>
fix(derive): Mark all impls as automatically derived</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.3.1...v4.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.3.1&new-version=4.3.2)](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-06-06 03:31:11 +00:00
Yuri Astrakhan
a419d77fca Bump versions for release 2023-06-04 15:04:42 -04:00
Yuri Astrakhan
6d02416720
Improve PG performance by 28% (!!!) (#703)
A very long overdue PostgreSQL querying performance optimization that
should have used cached queries, but ... somehow didn't.

Also, this PR adds two new `just` tasks: `run-release` and `bench-http`

I used [oha](https://github.com/hatoo/oha) for its visual appeal. All
tests were using keep-alive, which I think is relatively accurate
because clients make many tile requests on the same connection. As a
target, I used the same non-empty small tile to reduce the PostgreSQL
indexing load.

❯ just run-release
❯ just bench-http

`bench-http` runs this command:
```
oha -z 120s http://localhost:3000/function_zxy_query/18/235085/122323
```

<pre>
|       before the change          |         after the change         |
|----------------------------------|----------------------------------|
|   Summary:                       | Summary:                         |
|     Success rate:    1.0000      |   Success rate:    1.0000        |
|     Total:    120.0004 secs      |   Total:    120.0002 secs        |
|     Slowest:    0.1339 secs      |   Slowest:    0.3505 secs        |
|     Fastest:    0.0015 secs      |   Fastest:    0.0012 secs        |
|     Average:    0.0076 secs      |   Average:    0.0055 secs        |
|     Requests/sec:    6583.6946   |   Requests/sec:    9073.5398     |
|                                  |                                  |
|     Total data:    113.02 MiB    |   Total data:    155.76 MiB      |
|     Size/request:    150 B       |   Size/request:    150 B         |
|     Size/sec:    964.41 KiB      |   Size/sec:    1.30 MiB          |
|                                  |                                  |
|   Response time histogram:       | Response time histogram:         |
|     0.002 [1]                    |   0.001 [1]                      |
|     0.015 [785706] ■■■■■■■■■■■■■ |   0.036 [1088825] ■■■■■■■■■■■■■  |
|     0.028 [4225]                 |   0.071 [0]                      |
|     0.041 [111]                  |   0.106 [0]                      |
|     0.054 [2]                    |   0.141 [0]                      |
|     0.068 [0]                    |   0.176 [0]                      |
|     0.081 [0]                    |   0.211 [0]                      |
|     0.094 [0]                    |   0.246 [0]                      |
|     0.107 [0]                    |   0.281 [0]                      |
|     0.121 [0]                    |   0.316 [0]                      |
|     0.134 [1]                    |   0.350 [1]                      |
|                                  |                                  |
|   Latency distribution:          | Latency distribution:            |
|     10% in 0.0057 secs           |   10% in 0.0039 secs             |
|     25% in 0.0064 secs           |   25% in 0.0045 secs             |
|     50% in 0.0073 secs           |   50% in 0.0053 secs             |
|     75% in 0.0084 secs           |   75% in 0.0063 secs             |
|     90% in 0.0098 secs           |   90% in 0.0074 secs             |
|     95% in 0.0107 secs           |   95% in 0.0082 secs             |
|     99% in 0.0135 secs           |   99% in 0.0102 secs             |
</pre>

Fixes #678
2023-06-04 15:02:00 -04:00
Yuri Astrakhan
adab3bca95 Fix mdbook compile target 2023-06-04 14:11:44 -04:00
Yuri Astrakhan
ed4b2b6aba update lock 2023-06-04 13:10:53 -04:00
Yuri Astrakhan
73af185737 readme for all packages 2023-06-04 00:56:20 -04:00
Yuri Astrakhan
300b08b5b0 cleanup installation docs 2023-06-04 00:12:24 -04:00
Yuri Astrakhan
36eab5f6bb bump martin-tile-utils version to v0.1.1 2023-06-03 23:26:44 -04:00
Yuri Astrakhan
cf38dd006e Getting ready for release, ver bump 2023-06-03 23:12:35 -04:00
Yuri Astrakhan
454d435589 Move invalid test fixture files 2023-06-03 23:06:37 -04:00
Yuri Astrakhan
b147c27380
Move Martin crate to its own subdir (#699)
This cleans up the code a bit, making all crates to be on the same
level.
2023-06-04 02:50:55 +00:00
Yuri Astrakhan
2cdd373044
Refactor mbtiles lib, mbtiles tool tests & CI (#702)
* Broke up martin-mbtiles into multiple files
* Made all mbtiles functions take a `SqliteExecutor` -- this way they
can be used with any SQLX connection structs - either a pool connection
or an individual non-pooled connection.
* Simplified mbtiles bin a bit - I realized there is really no need to
pretty print the output for the single value retrieval. Easier to just
dump it to console as is.
* Bump martin-mbtiles to v0.2.0
* Minor fixes in tools docs, cargo.toml, and justfile
* MBTiles tool Integration tests and release publishing

Major thanks to the
[stackoverflow](https://stackoverflow.com/questions/76394665/how-to-pass-sqlx-connection-a-mut-trait-as-a-fn-parameter-in-rust/76395111)
quick reply by @cafce25 on how to use generic sql executor!
2023-06-04 00:54:50 +02:00
rstanciu
78e67c3ad2
Add mbtiles meta-get utility (#701)
* Add functionality to retrieve a metadata value in an mbtiles file by
key; simple implementation for one of the items in #667
* Also, disable TTY in docker-up `just` target
2023-06-03 00:40:22 +00:00
Yuri Astrakhan
290a7c18fa readme cleanups 2023-06-02 17:00:19 -04:00
Yuri Astrakhan
a9c74fd4d8
Service startup await clippy lint (#700)
Clippy v1.70 (yesterday's release) is complaining -
https://rust-lang.github.io/rust-clippy/master/index.html#redundant_async_block

Also, a tiny typo spotted thx to spellchecking, and removing unused
cargo aliases
2023-06-02 15:37:19 +00:00
Yuri Astrakhan
b123770a1e update lock 2023-06-02 10:25:20 -04:00
Yuri Astrakhan
81bb9582ed
Cleaning up mdbook (#697)
A lot of book content cleanup, making it a bit shorter and "logical"
(whatever that even means)

To try, run `just mdbook`
2023-06-02 01:16:41 -04:00
dependabot[bot]
de69f3bbff
chore(deps): Bump openssl from 0.10.53 to 0.10.54 (#698)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.53
to 0.10.54.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sfackler/rust-openssl/releases">openssl's
releases</a>.</em></p>
<blockquote>
<h2>openssl-v0.10.54</h2>
<h2>What's Changed</h2>
<ul>
<li>Remove converting PKCS#8 passphrase to CString by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/1941">sfackler/rust-openssl#1941</a></li>
<li>Version bump for openssl v0.10.54 release by <a
href="https://github.com/alex"><code>@​alex</code></a> in <a
href="https://redirect.github.com/sfackler/rust-openssl/pull/1942">sfackler/rust-openssl#1942</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.53...openssl-v0.10.54">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.53...openssl-v0.10.54</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4b4a344a14"><code>4b4a344</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/1942">#1942</a>
from alex/openssl-release</li>
<li><a
href="68ff80a935"><code>68ff80a</code></a>
Version bump for openssl v0.10.54 release</li>
<li><a
href="b811d71aac"><code>b811d71</code></a>
Merge pull request <a
href="https://redirect.github.com/sfackler/rust-openssl/issues/1941">#1941</a>
from alex/pkcs8-passphrase</li>
<li><a
href="b83aec7f30"><code>b83aec7</code></a>
Remove converting PKCS#8 passphrase to CString</li>
<li>See full diff in <a
href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.53...openssl-v0.10.54">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openssl&package-manager=cargo&previous-version=0.10.53&new-version=0.10.54)](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-06-02 03:35:23 +00:00
Yuri Astrakhan
5d87b086fe improving readme/docs 2023-06-01 16:15:05 -04:00
Yuri Astrakhan
278f46f772 Add just prepare-sqlite to simplify sqlite dev 2023-06-01 13:07:13 -04:00
Yuri Astrakhan
f401152770 API docs cleanup 2023-06-01 11:36:03 -04:00
Yuri Astrakhan
ada9eb03b3
Implement rudimentary mbtiles binary (#696)
This will be the entry point for #667
2023-06-01 10:14:49 -04:00
Yuri Astrakhan
5969150f50
Implement rudimentary mbtiles binary (#696)
This will be the entry point for #667
2023-06-01 10:13:43 -04:00
Yuri Astrakhan
21e1efc9a3
Implement rudimentary mbtiles binary (#696)
This will be the entry point for #667
2023-06-01 10:13:20 -04:00
baishikele
ea3dd46538
simplify readme (#693)
- [x] add slack chat icon 
- [x] merging maplibre/leaflet/mapbox demos into `using with clients`
- [x] cut off a lot contents 
- [x] downgrade contents from h1 to h2 
- [x] remove TOC .[GitHub will now automatically generate a table of
contents in the header when there are 2 or more
headings](https://github.blog/changelog/2021-04-13-table-of-contents-support-in-markdown-files/)
- [x] add link to the book in readme

---------

Co-authored-by: Yuri Astrakhan <yuriastrakhan@gmail.com>
2023-06-01 10:11:42 -04:00
Yuri Astrakhan
18770664e1
Consolidate all crate dependencies (#694)
This moves all dependency version management to one location
2023-06-01 09:05:06 -04:00
dependabot[bot]
4f136967e5
chore(deps): Bump ctor from 0.2.1 to 0.2.2 (#695)
Bumps [ctor](https://github.com/mmastrac/rust-ctor) from 0.2.1 to 0.2.2.
<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.2.1&new-version=0.2.2)](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-06-01 03:32:05 +00:00
baishikele
27f54e2ee1
adjust book style (#691) 2023-05-30 19:13:40 -04:00