Skip to main content

mappyfile

Version Build Status Docs

A pure Python MapFile parser for working with MapServer, 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 dependency Lark.

Documentation

Documentation at http://mappyfile.readthedocs.io/en/latest/

Usage

import mappyfile

mapfile = mappyfile.load("./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
"""

new_layer = mappyfile.loads(new_layer_string)
layers.insert(0, new_layer) # can insert the new layer at any index

print(mappyfile.dumps(mapfile))

Authors

Contributors

Metadata

Release files for mappyfile 0.4.2

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.4.2
File Size Uploaded
mappyfile-0.4.2.tar.gz 47.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mappyfile 0.4.2
File Interpreter ABI Platform
mappyfile-0.4.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 69.1 kB

Release files / mappyfile-0.4.2.tar.gz

Download URL mappyfile-0.4.2.tar.gz
Size 47.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3301ce8423b964d9a6a6b5e474fd964ad9e6dffc042c0a170dd5bec58965bae3
BLAKE2b-256 checksum
How to use checksums
a3192e03bf40e34c26cd84180916f335942de1e56504058de7c664af1ed2d7f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

Download URL mappyfile-0.4.2-py2.py3-none-any.whl
Size 21.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
afe27c8001d941e49861b19c7d274f3dc5640568adb16a5c58dd9fb1ef050ece
BLAKE2b-256 checksum
How to use checksums
263d3af7ff80dac58fcc73473092a4b35bbac22fb699e73c6842dfaa040163b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

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

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

This release

0.4.2 This release

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