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.1

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.1
File Size Uploaded
mappyfile-0.9.1.tar.gz 90.8 kB Details

Built distributions (wheels)

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

Total release size: 480.2 kB

Release files / mappyfile-0.9.1.tar.gz

Download URL mappyfile-0.9.1.tar.gz
Size 90.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0f8d1204fe6b3ab78ac3f12074801ee322c2003cf21bcc192ef0ab83ca366ff1
BLAKE2b-256 checksum
How to use checksums
a27e13d3583277a82e86c897f21104c2d3609f97802158e19ed09a24f81b23ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.6.1 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/2.7.17

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

Download URL mappyfile-0.9.1-py3.8.egg
Size 84.6 kB
Tags Egg
SHA-256 checksum
How to use checksums
9983f71ec0781e75f3d2bf28fb2e6ef46f26c056ff9e5a25d8b12dd01c796a4b
BLAKE2b-256 checksum
How to use checksums
3c13a3f8d37fa635198982274a7de25cbabc1231f6c2ae6903e01e84fd03e7dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.0

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

Download URL mappyfile-0.9.1-py3.7.egg
Size 84.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
0425ea21370a6840507e54d6618421f0b4bf42be20d5ddc8f4ec6602c2bc8c8c
BLAKE2b-256 checksum
How to use checksums
c44370486752d97affcecc0f8bfc1dc3e74732d432a491fc87912e5609450eac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.5

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

Download URL mappyfile-0.9.1-py3.6.egg
Size 84.4 kB
Tags Egg
SHA-256 checksum
How to use checksums
6cab58c50bc55e3a97314ec9a88f3c9bb40e44136f71d60ee5c7ae31c1677c9d
BLAKE2b-256 checksum
How to use checksums
657231af53e6b35b29a8e126574779d3b3b1c5a5e33f605e4a74360a008a2b69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.8

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

Download URL mappyfile-0.9.1-py2.py3-none-any.whl
Size 52.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
41b1c3e573857ac70e8133010aa46f10f1fb20d2d7a1128899c85ba8ea0c271a
BLAKE2b-256 checksum
How to use checksums
b670605cf2970f7e0d2d2550d297d8912a3f72e3071dc23aa275f5949062f9fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.6.1 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/2.7.17

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

Download URL mappyfile-0.9.1-py2.7.egg
Size 83.6 kB
Tags Egg
SHA-256 checksum
How to use checksums
b05023a201bf5424ae3f8926ad384aecb046b68f1225c6041e0b72bb270b8895
BLAKE2b-256 checksum
How to use checksums
a979298fe5b3ef843942de529cbf6397c74babab2eb94d32a1e1aeca5ec37248
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.6.1 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.54.1 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

0.9.3

6 release files

0.9.2

6 release files

This release

0.9.1 This release

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