mxURL - Flexible URL Datatype for Python

Light-weight, high performance URL object implementation for Python.
Version: 3.1.3


mxURL provides a new easy to use, fast and light-weight builtin datatype URL for storing and manipulating Universal Resource Locators (URLs), as well as a few helpers related to URL building, encoding and decoding.

The new type supports the common tasks of URL joining and gives direct access to the various URL components. It also provides methods for rebuilding URLs, e.g. replacing the host or just the scheme in an existing URL.

All this is coded in C to give you the fastest possible performance for these everyday web application operations.


  • Fast URL string parser.
  • Easy URL rebuilding (replacing just parts of a URL).
  • Fast access to URL components.
  • Extensible URL scheme registry.
  • URL encoding/decoding
  • Query encoding/decoding
  • Fast, memory efficient, proven.
  • Stable, robust and portable.
  • Free to use and redistribute.

System Requirements

mxURL is written in a very portable way and works on pretty much all platforms where you can compile Python.

We provide precompiled versions for all standard platforms, so all you need is a working Python installation. The package supports all Python versions since Python 2.1.

The only requirement for compiling the package from source is an ANSI C compiler. There are no third-party libraries needed.


mxURL is provided as part of the mx Base Distribution. Please see the mx Base Distribution page for details regarding the license.


The following documentation is available for mxDateTime:

mxURL User Manual and Reference Guide - HTML and PDF

The manual includes a reference of the available programming interfaces.

The PDF file is also available as part of the installation and can be found in the mx/URL/Doc/ folder.

Download & Installation

mxURL is provided as part of the mx Base Distribution. Please see the mx Base Distribution page for downloads and installation instructions.


mxURL was originally written for the Application Server. It has since been used in many web applications and application servers that we written for internal use, as well as for clients.

History & Changes

Please see the change log for details regarding changes to the package between releases.