Fixed minor bugs, added support for vsketch and updated code for compatibility with shapely==2.0.0 and python==3.11

This commit is contained in:
Marcelo Prates 2024-07-02 17:59:10 -03:00
parent dc90176911
commit f4aab1a676
169 changed files with 815 additions and 1168444 deletions

View File

@ -1,8 +0,0 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/python-3/.devcontainer/base.Dockerfile
# [Choice] Python version: 3, 3.9, 3.8, 3.7, 3.6
ARG VARIANT="3.9"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
# vsketch as of Aug 25, 2021
RUN pip3 --disable-pip-version-check --no-cache-dir install https://github.com/abey79/vsketch/archive/6d4b4ea1de27ba563032ce1aee02457c16d4ea60.zip

View File

@ -1,21 +0,0 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/python-3
{
"name": "Prettymaps",
"postStartCommand": "script/bootstrap",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
"args": {
"VARIANT": "3.9"
}
},
"settings": {
"python.pythonPath": "/usr/local/bin/python",
},
"extensions": ["ms-python.python", "ms-python.vscode-pylance"],
"remoteUser": "vscode"
}

0
.github/FUNDING.yml vendored Normal file → Executable file
View File

0
.github/workflows/publish-package.yml vendored Normal file → Executable file
View File

0
.gitignore vendored Normal file → Executable file
View File

0
LICENSE Normal file → Executable file
View File

0
MANIFEST.in Normal file → Executable file
View File

316
README.md Normal file → Executable file
View File

@ -1,36 +1,52 @@
```python
# Install prettymaps using pip:
#!pip install prettymaps
```
# prettymaps # prettymaps
A Python package to draw maps with customizable styles from [OpenStreetMap](https://www.openstreetmap.org/#map=12/11.0733/106.3078) data. Created using the [osmnx](https://github.com/gboeing/osmnx), [matplotlib](https://matplotlib.org/), [shapely](https://shapely.readthedocs.io/en/stable/index.html) and [vsketch](https://github.com/abey79/vsketch) packages. A minimal Python library to draw customized maps from [OpenStreetMap](https://www.openstreetmap.org/#map=12/11.0733/106.3078) created using the [osmnx](https://github.com/gboeing/osmnx), [matplotlib](https://matplotlib.org/), [shapely](https://shapely.readthedocs.io/en/stable/index.html) and [vsketch](https://github.com/abey79/vsketch) packages.
> **This work is [licensed](LICENSE) under a GNU Affero General Public License v3.0 (you can make commercial use, distribute and modify this project, but must **disclose** the source code with the license and copyright notice)**
<a href='https://ko-fi.com/marceloprates_' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
# Installation
### Install using with [pip](https://pypi.org):
```
pip install prettymaps
```
# [Google Colab Demo](https://colab.research.google.com/github/marceloprates/prettymaps/blob/master/notebooks/examples.ipynb)
![](https://github.com/marceloprates/prettymaps/raw/main/prints/heerhugowaard.png) ![](https://github.com/marceloprates/prettymaps/raw/main/prints/heerhugowaard.png)
# Note about crediting and NFTs: This work is [licensed](LICENSE) under a GNU Affero General Public License v3.0 (you can make commercial use, distribute and modify this project, but must **disclose** the source code with the license and copyright notice)
## Note about crediting and NFTs:
- Please keep the printed message on the figures crediting my repository and OpenStreetMap ([mandatory by their license](https://www.openstreetmap.org/copyright)). - Please keep the printed message on the figures crediting my repository and OpenStreetMap ([mandatory by their license](https://www.openstreetmap.org/copyright)).
- I am personally **against** NFTs for their [environmental impact](https://earth.org/nfts-environmental-impact/), the fact that they're a [giant money-laundering pyramid scheme](https://twitter.com/smdiehl/status/1445795667826208770) and the structural incentives they create for [theft](https://twitter.com/NFTtheft) in the open source and generative art communities. - I am personally **against** NFTs for their [environmental impact](https://earth.org/nfts-environmental-impact/), the fact that they're a [giant money-laundering pyramid scheme](https://twitter.com/smdiehl/status/1445795667826208770) and the structural incentives they create for [theft](https://twitter.com/NFTtheft) in the open source and generative art communities.
- **I do not authorize in any way this project to be used for selling NFTs**, although I cannot legally enforce it. **Respect the creator**. - **I do not authorize in any way this project to be used for selling NFTs**, although I cannot legally enforce it. **Respect the creator**.
- The [AeternaCivitas](https://magiceden.io/marketplace/aeterna_civitas) and [geoartnft](https://www.geo-nft.com/) projects have used this work to sell NFTs and refused to credit it. See how they reacted after being exposed: [AeternaCivitas](etc/NFT_theft_AeternaCivitas.jpg), [geoartnft](etc/NFT_theft_geoart.jpg). - The [AeternaCivitas](https://magiceden.io/marketplace/aeterna_civitas) and [geoartnft](https://www.geo-nft.com/) projects have used this work to sell NFTs and refused to credit it. See how they reacted after being exposed: [AeternaCivitas](etc/NFT_theft_AeternaCivitas.jpg), [geoartnft](etc/NFT_theft_geoart.jpg).
- **I have closed my other generative art projects on Github and won't be sharing new ones as open source to protect me from the NFT community**. - **I have closed my other generative art projects on Github and won't be sharing new ones as open source to protect me from the NFT community**.
# As seen on [Hacker News](https://web.archive.org/web/20210825160918/https://news.ycombinator.com/news): <a href='https://ko-fi.com/marceloprates_' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
## As seen on [Hacker News](https://web.archive.org/web/20210825160918/https://news.ycombinator.com/news):
![](https://github.com/marceloprates/prettymaps/raw/main/prints/hackernews-prettymaps.png) ![](https://github.com/marceloprates/prettymaps/raw/main/prints/hackernews-prettymaps.png)
# [prettymaps subreddit](https://www.reddit.com/r/prettymaps_/) ## [prettymaps subreddit](https://www.reddit.com/r/prettymaps_/)
## [Google Colaboratory Demo](https://colab.research.google.com/github/marceloprates/prettymaps/blob/master/notebooks/examples.ipynb)
# Installation
OBS. I'm trying to solve a dependency issue with [vsketch](https://vsketch.readthedocs.io/en/latest/install.html) before publishing prettymaps v0.1.3, so, for now, please install directly from GitHub.
### Install locally:
Install prettymaps with:
```
pip install git+https://github.com/marceloprates/prettymaps
```
### Install on Google Colaboratory:
Install prettymaps with:
```
!pip install -e "git+https://github.com/marceloprates/prettymaps#egg=prettymaps"
```
Then **restart the runtime** (Runtime -> Restart Runtime) before importing prettymaps
# Tutorial # Tutorial
@ -46,6 +62,9 @@ prettymaps.plot(your_query)
```python ```python
%load_ext autoreload
%autoreload 2
import prettymaps import prettymaps
plot = prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands') plot = prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands')
@ -53,7 +72,7 @@ plot = prettymaps.plot('Stad van de Zon, Heerhugowaard, Netherlands')
![png](README_files/README_6_0.png) ![png](README_files/README_7_0.png)
@ -63,6 +82,8 @@ See below an example using the "minimal" preset
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
'Stad van de Zon, Heerhugowaard, Netherlands', 'Stad van de Zon, Heerhugowaard, Netherlands',
preset = 'minimal' preset = 'minimal'
@ -71,7 +92,7 @@ plot = prettymaps.plot(
![png](README_files/README_8_0.png) ![png](README_files/README_9_0.png)
@ -83,7 +104,30 @@ prettymaps.presets()
to list all available presets: to list all available presets:
```python
import prettymaps
prettymaps.presets()
```
<div> <div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe"> <table border="1" class="dataframe">
<thead> <thead>
<tr style="text-align: right;"> <tr style="text-align: right;">
@ -95,41 +139,51 @@ to list all available presets:
<tbody> <tbody>
<tr> <tr>
<th>0</th> <th>0</th>
<td>abraca-redencao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>1</th>
<td>barcelona</td> <td>barcelona</td>
<td>{'layers': {'perimeter': {'circle': False}, 's...</td> <td>{'layers': {'perimeter': {'circle': False}, 's...</td>
</tr> </tr>
<tr> <tr>
<th>1</th> <th>2</th>
<td>barcelona-plotter</td> <td>barcelona-plotter</td>
<td>{'layers': {'streets': {'width': {'primary': 5...</td> <td>{'layers': {'streets': {'width': {'primary': 5...</td>
</tr> </tr>
<tr> <tr>
<th>2</th> <th>3</th>
<td>cb-bf-f</td> <td>cb-bf-f</td>
<td>{'layers': {'streets': {'width': {'trunk': 6, ...</td> <td>{'layers': {'streets': {'width': {'trunk': 6, ...</td>
</tr> </tr>
<tr> <tr>
<th>3</th> <th>4</th>
<td>default</td> <td>default</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>4</th> <th>5</th>
<td>heerhugowaard</td> <td>heerhugowaard</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>5</th> <th>6</th>
<td>macao</td> <td>macao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'cust...</td> <td>{'layers': {'perimeter': {}, 'streets': {'cust...</td>
</tr> </tr>
<tr> <tr>
<th>6</th> <th>7</th>
<td>minimal</td> <td>minimal</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>7</th> <th>8</th>
<td>plotter</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>9</th>
<td>tijuca</td> <td>tijuca</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
@ -143,21 +197,16 @@ To examine a specific preset, run:
```python ```python
import prettymaps
prettymaps.preset('default') prettymaps.preset('default')
``` ```
| | layers | style | circle | radius |
|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:---------------|
| perimeter | {}<br> | fill: false<br>lw: 0<br>zorder: 0<br> | null<br>...<br> | 500<br>...<br> | Preset(params={'layers': {'perimeter': {}, 'streets': {'width': {'motorway': 5, 'trunk': 5, 'primary': 4.5, 'secondary': 4, 'tertiary': 3.5, 'cycleway': 3.5, 'residential': 3, 'service': 2, 'unclassified': 2, 'pedestrian': 2, 'footway': 1}}, 'building': {'tags': {'building': True, 'landuse': 'construction'}}, 'water': {'tags': {'natural': ['water', 'bay']}}, 'forest': {'tags': {'landuse': 'forest'}}, 'green': {'tags': {'landuse': ['grass', 'orchard'], 'natural': ['island', 'wood'], 'leisure': 'park'}}, 'beach': {'tags': {'natural': 'beach'}}, 'parking': {'tags': {'amenity': 'parking', 'highway': 'pedestrian', 'man_made': 'pier'}}}, 'style': {'perimeter': {'fill': False, 'lw': 0, 'zorder': 0}, 'background': {'fc': '#F2F4CB', 'zorder': -1}, 'green': {'fc': '#8BB174', 'ec': '#2F3737', 'hatch_c': '#A7C497', 'hatch': 'ooo...', 'lw': 1, 'zorder': 1}, 'forest': {'fc': '#64B96A', 'ec': '#2F3737', 'lw': 1, 'zorder': 2}, 'water': {'fc': '#a8e1e6', 'ec': '#2F3737', 'hatch_c': '#9bc3d4', 'hatch': 'ooo...', 'lw': 1, 'zorder': 3}, 'beach': {'fc': '#FCE19C', 'ec': '#2F3737', 'hatch_c': '#d4d196', 'hatch': 'ooo...', 'lw': 1, 'zorder': 3}, 'parking': {'fc': '#F2F4CB', 'ec': '#2F3737', 'lw': 1, 'zorder': 3}, 'streets': {'fc': '#2F3737', 'ec': '#475657', 'alpha': 1, 'lw': 0, 'zorder': 4}, 'building': {'palette': ['#433633', '#FF5E5B'], 'ec': '#2F3737', 'lw': 0.5, 'zorder': 5}}, 'circle': None, 'radius': 500})
| streets | width:<br> cycleway: 3.5<br> footway: 1<br> motorway: 5<br> pedestrian: 2<br> primary: 4.5<br> residential: 3<br> secondary: 4<br> service: 2<br> tertiary: 3.5<br> trunk: 5<br> unclassified: 2<br> | alpha: 1<br>ec: '<span style="background-color:#475657; color:#fff">#475657</span>'<br>fc: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>lw: 0<br>zorder: 4<br> | | |
| building | tags:<br> building: true<br> landuse: construction<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>lw: 0.5<br>palette:<br>- '<span style="background-color:#433633; color:#fff">#433633</span>'<br>- '<span style="background-color:#FF5E5B; color:#000">#FF5E5B</span>'<br>zorder: 5<br> | | |
| water | tags:<br> natural:<br> - water<br> - bay<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#a8e1e6; color:#000">#a8e1e6</span>'<br>hatch: ooo...<br>hatch_c: '<span style="background-color:#9bc3d4; color:#000">#9bc3d4</span>'<br>lw: 1<br>zorder: 3<br> | | |
| forest | tags:<br> landuse: forest<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#64B96A; color:#000">#64B96A</span>'<br>lw: 1<br>zorder: 2<br> | | |
| green | tags:<br> landuse:<br> - grass<br> - orchard<br> leisure: park<br> natural:<br> - island<br> - wood<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#8BB174; color:#000">#8BB174</span>'<br>hatch: ooo...<br>hatch_c: '<span style="background-color:#A7C497; color:#000">#A7C497</span>'<br>lw: 1<br>zorder: 1<br> | | |
| beach | tags:<br> natural: beach<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#FCE19C; color:#000">#FCE19C</span>'<br>hatch: ooo...<br>hatch_c: '<span style="background-color:#d4d196; color:#000">#d4d196</span>'<br>lw: 1<br>zorder: 3<br> | | |
| parking | tags:<br> amenity: parking<br> highway: pedestrian<br> man_made: pier<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#F2F4CB; color:#000">#F2F4CB</span>'<br>lw: 1<br>zorder: 3<br> | | |
| background | .nan<br>...<br> | fc: '<span style="background-color:#F2F4CB; color:#000">#F2F4CB</span>'<br>zorder: -1<br> | | |
@ -215,6 +264,8 @@ Here's an example of running prettymaps.plot() with customized parameters:
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
'Praça Ferreira do Amaral, Macau', 'Praça Ferreira do Amaral, Macau',
circle = True, circle = True,
@ -313,7 +364,7 @@ plot = prettymaps.plot(
![png](README_files/README_14_0.png) ![png](README_files/README_15_0.png)
@ -325,22 +376,47 @@ radius = False
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
'Bom Fim, Porto Alegre, Brasil', radius = False, 'Bom Fim, Porto Alegre, Brasil', radius = False,
) )
``` ```
![png](README_files/README_16_0.png)
![png](README_files/README_17_0.png)
You can access layers's GeoDataFrames directly like this: You can access layers's GeoDataFrames directly like this:
```python ```python
import prettymaps
# Run prettymaps in show = False mode (we're only interested in obtaining the GeoDataFrames) # Run prettymaps in show = False mode (we're only interested in obtaining the GeoDataFrames)
plot = prettymaps.plot('Centro Histórico, Porto Alegre', show = False) plot = prettymaps.plot('Centro Histórico, Porto Alegre', show = False)
plot.geodataframes['building'] plot.geodataframes['building']
``` ```
<div> <div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe"> <table border="1" class="dataframe">
<thead> <thead>
<tr style="text-align: right;"> <tr style="text-align: right;">
@ -403,7 +479,7 @@ plot.geodataframes['building']
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>POINT (-51.23212 -30.03670)</td> <td>POINT (-51.23212 -30.0367)</td>
<td>90010-460</td> <td>90010-460</td>
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
@ -452,7 +528,7 @@ plot.geodataframes['building']
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>http://www.ruadapraiashopping.com.br</td> <td>http://www.ruadapraiashopping.com.br</td>
<td>POLYGON ((-51.23167 -30.03066, -51.23160 -30.0...</td> <td>POLYGON ((-51.23167 -30.03066, -51.2316 -30.03...</td>
<td>90020-015</td> <td>90020-015</td>
<td>Rua da Praia Shopping</td> <td>Rua da Praia Shopping</td>
<td>NaN</td> <td>NaN</td>
@ -476,7 +552,7 @@ plot.geodataframes['building']
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>http://www.memorial.rs.gov.br</td> <td>http://www.memorial.rs.gov.br</td>
<td>POLYGON ((-51.23117 -30.02891, -51.23120 -30.0...</td> <td>POLYGON ((-51.23117 -30.02891, -51.2312 -30.02...</td>
<td>90010-191</td> <td>90010-191</td>
<td>Memorial do Rio Grande do Sul</td> <td>Memorial do Rio Grande do Sul</td>
<td>NaN</td> <td>NaN</td>
@ -574,7 +650,7 @@ plot.geodataframes['building']
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>NaN</td> <td>NaN</td>
<td>POLYGON ((-51.23203 -30.03340, -51.23203 -30.0...</td> <td>POLYGON ((-51.23203 -30.0334, -51.23203 -30.03...</td>
<td>NaN</td> <td>NaN</td>
<td>Atheneu Espírita Cruzeiro do Sul</td> <td>Atheneu Espírita Cruzeiro do Sul</td>
<td>NaN</td> <td>NaN</td>
@ -679,11 +755,15 @@ plot.geodataframes['building'][
].geometry[0] ].geometry[0]
``` ```
/home/marcelo/anaconda3/envs/prettymaps/lib/python3.11/site-packages/geopandas/geoseries.py:720: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
val = getattr(super(), mtd)(*args, **kwargs)
![svg](README_files/README_20_0.svg) ![svg](README_files/README_21_1.svg)
@ -692,10 +772,10 @@ Plot mosaic of building footprints
```python ```python
import prettymaps
import numpy as np import numpy as np
import osmnx as ox import osmnx as ox
from matplotlib import pyplot as plt from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
# Run prettymaps in show = False mode (we're only interested in obtaining the GeoDataFrames) # Run prettymaps in show = False mode (we're only interested in obtaining the GeoDataFrames)
plot = prettymaps.plot('Porto Alegre', show = False) plot = prettymaps.plot('Porto Alegre', show = False)
@ -714,8 +794,7 @@ fig.patch.set_facecolor('#5cc0eb')
fig.suptitle( fig.suptitle(
'Buildings of Porto Alegre', 'Buildings of Porto Alegre',
size = 25, size = 25,
color = '#fff', color = '#fff'
fontproperties = FontProperties(fname = '../assets/PermanentMarker-Regular.ttf')
) )
# Draw each building footprint on a separate axis # Draw each building footprint on a separate axis
for ax,building in zip(np.concatenate(axes),buildings): for ax,building in zip(np.concatenate(axes),buildings):
@ -725,7 +804,7 @@ for ax,building in zip(np.concatenate(axes),buildings):
![png](README_files/README_22_0.png) ![png](README_files/README_23_0.png)
@ -733,7 +812,7 @@ Access plot.ax or plot.fig to add new elements to the matplotlib plot:
```python ```python
from matplotlib.font_manager import FontProperties import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
(41.39491,2.17557), (41.39491,2.17557),
@ -743,20 +822,16 @@ plot = prettymaps.plot(
# Change background color # Change background color
plot.fig.patch.set_facecolor('#F2F4CB') plot.fig.patch.set_facecolor('#F2F4CB')
# Add title # Add title
plot.ax.set_title( _ = plot.ax.set_title(
'Barcelona', 'Barcelona',
fontproperties = FontProperties( font = 'serif',
fname = '../assets/PermanentMarker-Regular.ttf', size = 50
size = 50
)
) )
plt.show()
``` ```
![png](README_files/README_24_0.png) ![png](README_files/README_25_0.png)
@ -764,6 +839,8 @@ Use **plotter** mode to export a pen plotter-compatible SVG (thanks to abey79's
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
(41.39491,2.17557), (41.39491,2.17557),
mode = 'plotter', mode = 'plotter',
@ -776,7 +853,7 @@ plot = prettymaps.plot(
![png](README_files/README_26_0.png) ![png](README_files/README_27_0.png)
@ -784,6 +861,8 @@ Some other examples
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
# City name # City name
'Barra da Tijuca', 'Barra da Tijuca',
@ -795,12 +874,14 @@ plot = prettymaps.plot(
![png](README_files/README_28_0.png) ![png](README_files/README_29_0.png)
```python ```python
import prettymaps
plot = prettymaps.plot( plot = prettymaps.plot(
'Stad van de Zon, Heerhugowaard, Netherlands', 'Stad van de Zon, Heerhugowaard, Netherlands',
preset = 'heerhugowaard', preset = 'heerhugowaard',
@ -809,7 +890,7 @@ plot = prettymaps.plot(
![png](README_files/README_29_0.png) ![png](README_files/README_30_0.png)
@ -817,6 +898,8 @@ Use prettymaps.create_preset() to create a preset:
```python ```python
import prettymaps
prettymaps.create_preset( prettymaps.create_preset(
"my-preset", "my-preset",
layers = { layers = {
@ -869,11 +952,10 @@ prettymaps.preset('my-preset')
``` ```
| | layers | style | circle | radius | dilate |
|:----------|:--------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------|:----------------|:----------------|
| building | tags:<br> building: true<br> leisure:<br> - track<br> - pitch<br> | ec: '<span style="background-color:#2F3737; color:<span style="background-color:#fff; color:#000">#fff</span>">#2F3737</span>'<br>lw: 1<br>palette:<br>- '<span style="background-color:#fff; color:#000">#fff</span>'<br>zorder: 4<br> | null<br>...<br> | null<br>...<br> | null<br>...<br> | Preset(params={'layers': {'building': {'tags': {'building': True, 'leisure': ['track', 'pitch']}}, 'streets': {'width': {'trunk': 6, 'primary': 6, 'secondary': 5, 'tertiary': 4, 'residential': 3.5, 'pedestrian': 3, 'footway': 3, 'path': 3}}}, 'style': {'perimeter': {'fill': False, 'lw': 0, 'zorder': 0}, 'streets': {'fc': '#F1E6D0', 'ec': '#2F3737', 'lw': 1.5, 'zorder': 3}, 'building': {'palette': ['#fff'], 'ec': '#2F3737', 'lw': 1, 'zorder': 4}}, 'circle': None, 'radius': None, 'dilate': None})
| streets | width:<br> footway: 3<br> path: 3<br> pedestrian: 3<br> primary: 6<br> residential: 3.5<br> secondary: 5<br> tertiary: 4<br> trunk: 6<br> | ec: '<span style="background-color:#2F3737; color:#fff">#2F3737</span>'<br>fc: '<span style="background-color:#F1E6D0; color:#000">#F1E6D0</span>'<br>lw: 1.5<br>zorder: 3<br> | | | |
| perimeter | .nan<br>...<br> | fill: false<br>lw: 0<br>zorder: 0<br> | | | |
Use prettymaps.delete_preset() to delete presets: Use prettymaps.delete_preset() to delete presets:
@ -895,6 +977,19 @@ display(prettymaps.presets())
<div> <div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe"> <table border="1" class="dataframe">
<thead> <thead>
<tr style="text-align: right;"> <tr style="text-align: right;">
@ -906,46 +1001,56 @@ display(prettymaps.presets())
<tbody> <tbody>
<tr> <tr>
<th>0</th> <th>0</th>
<td>abraca-redencao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>1</th>
<td>barcelona</td> <td>barcelona</td>
<td>{'layers': {'perimeter': {'circle': False}, 's...</td> <td>{'layers': {'perimeter': {'circle': False}, 's...</td>
</tr> </tr>
<tr> <tr>
<th>1</th> <th>2</th>
<td>barcelona-plotter</td> <td>barcelona-plotter</td>
<td>{'layers': {'streets': {'width': {'primary': 5...</td> <td>{'layers': {'streets': {'width': {'primary': 5...</td>
</tr> </tr>
<tr> <tr>
<th>2</th> <th>3</th>
<td>cb-bf-f</td> <td>cb-bf-f</td>
<td>{'layers': {'streets': {'width': {'trunk': 6, ...</td> <td>{'layers': {'streets': {'width': {'trunk': 6, ...</td>
</tr> </tr>
<tr> <tr>
<th>3</th> <th>4</th>
<td>default</td> <td>default</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>4</th> <th>5</th>
<td>heerhugowaard</td> <td>heerhugowaard</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>5</th> <th>6</th>
<td>macao</td> <td>macao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'cust...</td> <td>{'layers': {'perimeter': {}, 'streets': {'cust...</td>
</tr> </tr>
<tr> <tr>
<th>6</th> <th>7</th>
<td>minimal</td> <td>minimal</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>7</th> <th>8</th>
<td>my-preset</td> <td>my-preset</td>
<td>{'layers': {'building': {'tags': {'building': ...</td> <td>{'layers': {'building': {'tags': {'building': ...</td>
</tr> </tr>
<tr> <tr>
<th>8</th> <th>9</th>
<td>plotter</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>10</th>
<td>tijuca</td> <td>tijuca</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
@ -959,6 +1064,19 @@ display(prettymaps.presets())
<div> <div>
<style scoped>
.dataframe tbody tr th:only-of-type {
vertical-align: middle;
}
.dataframe tbody tr th {
vertical-align: top;
}
.dataframe thead th {
text-align: right;
}
</style>
<table border="1" class="dataframe"> <table border="1" class="dataframe">
<thead> <thead>
<tr style="text-align: right;"> <tr style="text-align: right;">
@ -970,41 +1088,51 @@ display(prettymaps.presets())
<tbody> <tbody>
<tr> <tr>
<th>0</th> <th>0</th>
<td>abraca-redencao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>1</th>
<td>barcelona</td> <td>barcelona</td>
<td>{'layers': {'perimeter': {'circle': False}, 's...</td> <td>{'layers': {'perimeter': {'circle': False}, 's...</td>
</tr> </tr>
<tr> <tr>
<th>1</th> <th>2</th>
<td>barcelona-plotter</td> <td>barcelona-plotter</td>
<td>{'layers': {'streets': {'width': {'primary': 5...</td> <td>{'layers': {'streets': {'width': {'primary': 5...</td>
</tr> </tr>
<tr> <tr>
<th>2</th> <th>3</th>
<td>cb-bf-f</td> <td>cb-bf-f</td>
<td>{'layers': {'streets': {'width': {'trunk': 6, ...</td> <td>{'layers': {'streets': {'width': {'trunk': 6, ...</td>
</tr> </tr>
<tr> <tr>
<th>3</th> <th>4</th>
<td>default</td> <td>default</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>4</th> <th>5</th>
<td>heerhugowaard</td> <td>heerhugowaard</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>5</th> <th>6</th>
<td>macao</td> <td>macao</td>
<td>{'layers': {'perimeter': {}, 'streets': {'cust...</td> <td>{'layers': {'perimeter': {}, 'streets': {'cust...</td>
</tr> </tr>
<tr> <tr>
<th>6</th> <th>7</th>
<td>minimal</td> <td>minimal</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
<tr> <tr>
<th>7</th> <th>8</th>
<td>plotter</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr>
<tr>
<th>9</th>
<td>tijuca</td> <td>tijuca</td>
<td>{'layers': {'perimeter': {}, 'streets': {'widt...</td> <td>{'layers': {'perimeter': {}, 'streets': {'widt...</td>
</tr> </tr>
@ -1017,8 +1145,10 @@ Use **prettymaps.multiplot** and **prettymaps.Subplot** to draw multiple regions
```python ```python
import prettymaps
# Draw several regions on the same canvas # Draw several regions on the same canvas
prettymaps.multiplot( plot = prettymaps.multiplot(
prettymaps.Subplot( prettymaps.Subplot(
'Cidade Baixa, Porto Alegre', 'Cidade Baixa, Porto Alegre',
style={'building': {'palette': ['#49392C', '#E1F2FE', '#98D2EB']}} style={'building': {'palette': ['#49392C', '#E1F2FE', '#98D2EB']}}
@ -1036,11 +1166,27 @@ prettymaps.multiplot(
# Figure size # Figure size
figsize=(12, 12) figsize=(12, 12)
) )
``` ```
![png](README_files/README_35_0.png) ![png](README_files/README_36_0.png)
<Figure size 3600x3600 with 0 Axes>
<Figure size 3600x3600 with 0 Axes>
<Figure size 3600x3600 with 0 Axes>
```python
```

0
README_files/README_14_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

0
README_files/README_16_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 416 KiB

After

Width:  |  Height:  |  Size: 416 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

0
README_files/README_20_0.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100.0" height="100.0" viewBox="-51.23032682800001 -30.034281028 0.0006073560000103839 0.0008053559999900983" preserveAspectRatio="xMinYMin meet"><g transform="matrix(1,0,0,-1,0,-60.067756700000004)"><path fill-rule="evenodd" fill="#66cc99" stroke="#555555" stroke-width="1.6107119999801965e-05" opacity="0.6" d="M -51.2298412,-30.03353870000001 L -51.2298154,-30.033540599999984 L -51.2298126,-30.0335408 L -51.2298129,-30.033544300000003 L -51.2297808,-30.033546700000002 L -51.2297805,-30.033544400000007 L -51.2297758,-30.0335447 L -51.2297562,-30.0335462 L -51.2297493,-30.033546699999995 L -51.2297572,-30.033627 L -51.22975770000001,-30.033632 L -51.2298302,-30.033626299999995 L -51.2298538,-30.033865 L -51.2298442,-30.033865799999994 L -51.2298477,-30.033909500000004 L -51.2298412,-30.03390990000001 L -51.2298357,-30.03390249999999 L -51.2298133,-30.033912799999996 L -51.2298168,-30.0339188 L -51.2297959,-30.0339406 L -51.2297906,-30.033939 L -51.2297826,-30.03395859999999 L -51.2297866,-30.033959199999998 L -51.2297957,-30.034019000000004 L -51.2297902,-30.034021399999997 L -51.229800700000006,-30.0340417 L -51.2298073,-30.0340393 L -51.2298344,-30.034053999999994 L -51.2298319,-30.034065200000008 L -51.2298509,-30.034070399999994 L -51.2298558,-30.034059600000003 L -51.2298704,-30.0340585 L -51.2298741,-30.034097 L -51.2298921,-30.034095599999993 L -51.2298985,-30.03416019999999 L -51.2298609,-30.034163 L -51.2298683,-30.034238599999984 L -51.2299531,-30.0342322 L -51.2299549,-30.0342512 L -51.2301846,-30.034234 L -51.2301825,-30.03421339999999 L -51.2302643,-30.03420729999999 L -51.2302569,-30.034132200000002 L -51.2302241,-30.034134599999994 L -51.2302178,-30.0340702 L -51.2302266,-30.034069400000007 L -51.2302229,-30.034030399999995 L -51.2302285,-30.03403000000001 L -51.230236500000004,-30.0340294 L -51.2302396,-30.034038299999995 L -51.230256600000004,-30.03403409999999 L -51.2302532,-30.0340242 L -51.230280900000004,-30.034001599999996 L -51.2302902,-30.0340033 L -51.23029700000001,-30.03398119999999 L -51.2302871,-30.0339784 L -51.2302841,-30.033920999999992 L -51.2302898,-30.033919600000008 L -51.2302806,-30.0338995 L -51.2302726,-30.033902399999995 L -51.2302486,-30.033885599999994 L -51.2302511,-30.033877399999998 L -51.2302264,-30.033868700000003 L -51.2302198,-30.033880699999987 L -51.2302148,-30.033878999999995 L -51.230213000000006,-30.03383810000001 L -51.2302054,-30.033838700000004 L -51.2301818,-30.0336 L -51.2302499,-30.033594899999997 L -51.2302471,-30.033566499999996 L -51.2302452,-30.033566699999998 L -51.2302423,-30.0335373 L -51.2302448,-30.033537100000004 L -51.2302419,-30.0335085 L -51.2302051,-30.033511199999992 L -51.2302053,-30.03351359999999 L -51.2301756,-30.0335159 L -51.2301752,-30.033512399999992 L -51.23014450000001,-30.0335147 L -51.2301449,-30.033518200000003 L -51.2300854,-30.033522699999995 L -51.2300843,-30.03351139999999 L -51.2300823,-30.0335115 L -51.2300635,-30.033512799999997 L -51.2300628,-30.033505500000008 L -51.2300334,-30.0335078 L -51.2300336,-30.03350989999999 L -51.2300339,-30.033513 L -51.22995280000001,-30.033519100000003 L -51.229952600000004,-30.033516999999996 L -51.2299524,-30.0335151 L -51.2299225,-30.03351729999999 L -51.2299228,-30.033520499999998 L -51.2298995,-30.03352229999999 L -51.2299009,-30.033536999999992 L -51.2298443,-30.033541300000003 L -51.229844,-30.0335385 L -51.2298412,-30.03353870000001 z" /></g></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

0
README_files/README_22_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

0
README_files/README_24_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

0
README_files/README_26_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

0
README_files/README_28_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 652 KiB

After

Width:  |  Height:  |  Size: 652 KiB

BIN
README_files/README_29_0.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 MiB

0
README_files/README_35_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 KiB

0
README_files/README_6_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 903 KiB

After

Width:  |  Height:  |  Size: 903 KiB

BIN
README_files/README_7_0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

0
README_files/README_8_0.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 423 KiB

After

Width:  |  Height:  |  Size: 423 KiB

BIN
README_files/README_9_0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

0
docs/Makefile Normal file → Executable file
View File

0
docs/build/doctrees/environment.pickle vendored Normal file → Executable file
View File

0
docs/build/doctrees/index.doctree vendored Normal file → Executable file
View File

0
docs/build/html/.buildinfo vendored Normal file → Executable file
View File

0
docs/build/html/.doctrees/environment.pickle vendored Normal file → Executable file
View File

0
docs/build/html/.doctrees/index.doctree vendored Normal file → Executable file
View File

0
docs/build/html/.doctrees/prettymaps.doctree vendored Normal file → Executable file
View File

0
docs/build/html/_sources/index.rst.txt vendored Normal file → Executable file
View File

0
docs/build/html/_sources/prettymaps.rst.txt vendored Normal file → Executable file
View File

0
docs/build/html/_static/alabaster.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/basic.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/classic.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/badge_only.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/fontawesome-webfont.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/fontawesome-webfont.svg vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

0
docs/build/html/_static/css/fonts/fontawesome-webfont.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/fontawesome-webfont.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-bold-italic.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-bold-italic.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-bold.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-bold.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-normal-italic.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-normal-italic.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-normal.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/fonts/lato-normal.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/css/theme.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/custom.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/default.css vendored Normal file → Executable file
View File

0
docs/build/html/_static/doctools.js vendored Normal file → Executable file
View File

0
docs/build/html/_static/documentation_options.js vendored Normal file → Executable file
View File

0
docs/build/html/_static/file.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 286 B

0
docs/build/html/_static/fonts/Inconsolata-Bold.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Inconsolata-Regular.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Inconsolata.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato-Bold.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato-Regular.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bold.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bold.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bold.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bold.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bolditalic.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bolditalic.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-italic.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-italic.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-italic.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-italic.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-regular.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-regular.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-regular.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/Lato/lato-regular.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab-Bold.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab-Regular.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf vendored Normal file → Executable file
View File

View File

View File

0
docs/build/html/_static/fonts/fontawesome-webfont.eot vendored Normal file → Executable file
View File

0
docs/build/html/_static/fonts/fontawesome-webfont.svg vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

0
docs/build/html/_static/fonts/fontawesome-webfont.ttf vendored Normal file → Executable file
View File

Some files were not shown because too many files have changed in this diff Show More