Skip to main content

mappyfile

Version Docs Build Status Coveralls Appveyor Build Status Downloads

A pure Python parser for working with MapServer MapFiles, built using Lark

An online formatter demonstrating the libraries capabilities can be found at: http://mappyfile.geographika.net/

A presentation on mappyfile was given at FOSS4G Europe 2017 - slides are available for download here.

https://raw.githubusercontent.com/geographika/mappyfile/master/docs/images/class_parsed_small.png

Requirements

  • Python 2.7 or Python 3.x

Installation

mappyfile is available on PyPI (Python Package Index), and can be installed using pip:

pip install mappyfile

This will also install its required dependences Lark (lark-parser), and jsonschema.

Documentation

Full documentation is available at http://mappyfile.readthedocs.io/en/latest/

Usage

From within Python scripts:

import mappyfile

mapfile = mappyfile.open("./docs/examples/raster.map")

# update the map name
mapfile["name"] = "MyNewMap"

new_layer_string = """
LAYER
    NAME 'land'
    TYPE POLYGON
    DATA '../data/vector/naturalearth/ne_110m_land'
    CLASS
        STYLE
            COLOR 107 208 107
            OUTLINECOLOR 2 2 2
            WIDTH 1
        END
    END
END
"""

layers = mapfile["layers"]

new_layer = mappyfile.loads(new_layer_string)

layers.insert(0, new_layer) # insert the new layer at any index in the Mapfile

for l in layers:
    print("{} {}".format(l["name"], l["type"]))

print(mappyfile.dumps(mapfile, indent=1, spacer="\t"))

Three command line tools are available - format, validate, and schema:

mappyfile format raster.map formatted_raster.map
mappyfile validate D:\ms-ogc-workshop\ms4w\apps\ms-ogc-workshop\**\*.map
mappyfile schema mapfile-schema-7-6.json --version=7.6

Authors

Contributors

Metadata

Release files for mappyfile 0.9.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mappyfile 0.9.3
File Size Uploaded
mappyfile-0.9.3.tar.gz 92.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for mappyfile 0.9.3
File
mappyfile-0.9.3-py3.8.egg Legacy Egg format - - Details
mappyfile-0.9.3-py3.7.egg Legacy Egg format - - Details
mappyfile-0.9.3-py3.6.egg Legacy Egg format - - Details
mappyfile-0.9.3-py2.py3-none-any.whl Python 2, Python 3 none any Details
mappyfile-0.9.3-py2.7.egg Legacy Egg format - - Details

Total release size: 486.6 kB

Release files / mappyfile-0.9.3.tar.gz

Download URL mappyfile-0.9.3.tar.gz
Size 92.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b922faad0e73aba2d537d38f19c780454e81062dd215c94c3e28b8e56b0e3cbf
BLAKE2b-256 checksum
How to use checksums
67c9511d3da1ee9ca8e525ab48eae80a88eb988f3936a5dda5a8a11b55163639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.17

Release files / mappyfile-0.9.3-py3.8.egg

Download URL mappyfile-0.9.3-py3.8.egg
Size 85.7 kB
Tags Egg
SHA-256 checksum
How to use checksums
fe81df941586e6d7c0185e8e8758e39fb23cb3d10274debe40a8325463d2079a
BLAKE2b-256 checksum
How to use checksums
0e3815e61dab77a973a37f021896378b046aa02b97123a3b4cd41e48c74394f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0

Release files / mappyfile-0.9.3-py3.7.egg

Download URL mappyfile-0.9.3-py3.7.egg
Size 85.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
ddf854ff887aa22b8f27c368602ef967381a276cb3735cfe66254e70f95d48f2
BLAKE2b-256 checksum
How to use checksums
ba104f07ed5b9eb3b54d34aeaefe9b69da2192fbf11beafbc83f23b42cd0e45b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.2.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.5

Release files / mappyfile-0.9.3-py3.6.egg

Download URL mappyfile-0.9.3-py3.6.egg
Size 85.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
f44232dcff663e0a10c968d4fb9dced91c22532644802cff016861e97aa380f1
BLAKE2b-256 checksum
How to use checksums
a8f71db85c711498c07db15647f4a36f09461b5a26e570895cfea09e13cdd4fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.2.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

Release files / mappyfile-0.9.3-py2.py3-none-any.whl

Download URL mappyfile-0.9.3-py2.py3-none-any.whl
Size 53.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
91de3bb92370d14c1ec5cd4934eb9798f51929170d179aabb9670c9147192c40
BLAKE2b-256 checksum
How to use checksums
2452f85f852e718145264ec612ddfe361bf4b74b32f3ddfbb6863275c7e5a809
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.17

Release files / mappyfile-0.9.3-py2.7.egg

Download URL mappyfile-0.9.3-py2.7.egg
Size 84.7 kB
Tags Egg
SHA-256 checksum
How to use checksums
df8efa49f4f8c20e4a1fad28a1bf243d81b19ffe8a2c2da2e58af0ad9acacc25
BLAKE2b-256 checksum
How to use checksums
12d85e131db93886641f68daab5c51290e96db0af0aa0351f3a4405847560ffd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.8.2 requests/2.26.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.17

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

This release

0.9.3 This release

6 release files

0.9.2

6 release files

0.9.1

6 release files

0.9.0

6 release files

0.8.4

5 release files

0.8.3

5 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page