Skip to main content

py-xml-sitemap-writer

PyPI Downloads Coverage Status

Python3 package for writing large XML sitemaps with no external dependencies.

pip install xml-sitemap-writer

Usage

This package is meant to generate sitemaps with hundred of thousands of URLs in memory-efficient way by making use of iterators to populate sitemap with URLs.

from typing import Iterator
from xml_sitemap_writer import XMLSitemap

def get_products_for_sitemap() -> Iterator[str]:
    """
    Replace the logic below with a query from your database.
    """
    for idx in range(1, 1000001):
        yield f"/product/{idx}.html"  # URLs should be relative to what you provide as "root_url" below

with XMLSitemap(path='/your/web/root', root_url='https://your.site.io') as sitemap:
    sitemap.add_section('products')
    sitemap.add_urls(get_products_for_sitemap())

sitemap.xml and sitemap-00N.xml.gz files will be generated once this code runs:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<!-- Powered by https://github.com/pigs-will-fly/py-xml-sitemap-writer -->
	<!-- 100000 urls -->
	<sitemap><loc>https://your.site.io/sitemap-products-001.xml.gz</loc></sitemap>
	<sitemap><loc>https://your.site.io/sitemap-products-002.xml.gz</loc></sitemap>
    ...
</sitemapindex>

And gzipped sub-sitemaps with up to 15.000 URLs each:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url><loc>https://your.site.io/product/1.html</loc></url>
	<url><loc>https://your.site.io/product/2.html</loc></url>
	<url><loc>https://your.site.io/product/3.html</loc></url>
    ...
</urlset>
<!-- 15000 urls in the sitemap -->

For easier discovery of your sitemap add its URL to /robots.txt file:

Sitemap: https://your.site.io/sitemap.xml

Metadata

Release files for xml-sitemap-writer 0.7.0

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

Source distribution (sdist)

Source distribution for xml-sitemap-writer 0.7.0
File Size Uploaded Provenance
xml_sitemap_writer-0.7.0.tar.gz 5.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for xml-sitemap-writer 0.7.0
File Interpreter ABI Platform
xml_sitemap_writer-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.8 kB

Release files / xml_sitemap_writer-0.7.0.tar.gz

Download URL xml_sitemap_writer-0.7.0.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c5a1b6442d9fae578e11b02f4d0a09961e1765741dca128bf92cebc1be653ea4
BLAKE2b-256 checksum
How to use checksums
e5f2174255402195cc6a2d86a1428c91b291d69d3eaa976c248e8b3748f7fb73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2025.

Transparency log

Release files / xml_sitemap_writer-0.7.0-py3-none-any.whl

Download URL xml_sitemap_writer-0.7.0-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e3f1ce3562f10fb61b7d4b11cc8f939b4463861be0c038401c390a4506d9c63
BLAKE2b-256 checksum
How to use checksums
533cccef414679becf7d90faca5566f6989920bbc32f515caf87dee1a1a0d025
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2025.

Transparency log

Security for xml-sitemap-writer 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for xml_sitemap_writer-0.7.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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