Skip to main content

No project description provided

Project description

https://travis-ci.org/PavloKapyshin/paka.sitemaps.svg?branch=master

paka.sitemaps is a Python library that helps generate XML files according to sitemaps.org protocol.

Features

  • Python 2.7 and 3.5 are supported
  • PyPy (Python 2.7) is supported
  • does not depend on any web framework
  • automatically splits all added URLs into sitemaps and sitemap indexes
  • lazily writes to file system

Examples

>>> from paka import sitemaps

Create directory for resulting XML files (here it is a temporary directory):

>>> import tempfile
>>> fs_root = tempfile.mkdtemp()

Create sitemap building context, add few URLs to it, and close the context:

>>> ctx = sitemaps.Context(
...     fs_root=fs_root, base_url=u"http://example.org")
>>> ctx.add(u"/some/path-here/", priority=0.1)
>>> ctx.add(u"/other")
>>> ctx.close()

Now fs_root contains one sitemap and one sitemap index:

>>> import os
>>> sorted(os.listdir(fs_root))
['i1.xml', 's1-1.xml']

Results can be checked with XML parser (here lxml is used):

>>> from lxml import etree
>>> doc = etree.parse(os.path.join(fs_root, "s1-1.xml"))
>>> ns = {"s": sitemaps.XMLNS}
>>> url_els = doc.xpath("//s:url", namespaces=ns)
>>> sorted([el.findtext("s:loc", namespaces=ns) for el in url_els])
['http://example.org/other', 'http://example.org/some/path-here/']

Remove directory and files created for demonstration:

>>> import shutil
>>> shutil.rmtree(fs_root)

Installation

Library is available on PyPI, you can use pip for installation:

$ pip install paka.sitemaps

Getting documentation

Build HTML docs:

$ tox -e docs

View built docs:

$ sensible-browser .tox/docs/tmp/docs_html/index.html

Running tests

$ tox

Getting coverage

Collect info:

$ tox -e coverage

View HTML report:

$ sensible-browser .tox/coverage/tmp/cov_html/index.html

Checking code style

Run code checkers:

$ tox -e checks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for paka.sitemaps, version 1.6.1
Filename, size File type Python version Upload date Hashes
Filename, size paka.sitemaps-1.6.1-py2.py3-none-any.whl (5.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size paka.sitemaps-1.6.1.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page