autoroutes 0.3.7

Last updated:

0 purchases

autoroutes 0.3.7 Image
autoroutes 0.3.7 Images
Add to Cart

Description:

autoroutes 0.3.7

Autoroutes
Routes for speed.
Install
pip install autoroutes

API
# Create a Routes instance
from autoroutes import Routes
routes = Routes()

# Register a new route
routes.add('path/to/resource/{id}', something='value', anything='else')

# Try to match a route
routes.match('path/to/resource/1234')
> ({'something': 'value', 'anything': 'else'}, {'id': '1234'})

Note: the order the routes are registered matters. At match time, routes will be
tried in that order.
Placeholders
Placeholders are defined by a curly brace pair: path/{var}. By default, this
will match any character but the slash ('/').
It's possible to control the placeholder type, either by:


using a named type: alnum, digit, alpha, path (matches everything),
any (matches everything, including empty string), string (default):
path/to/{var:digit}
path/to/{var:string} # Same as path/to/{var}



using a normal regex (slower; also note that regex containing curly braces is
not yet supported)
path/to/{var:\d\d\d}



Placeholders can appear anywhere in the path
path/to/file.{ext}
path/to/{name}.{ext}

Building from source
pip install cython
make compile
python setup.py develop

Tests
make test

Benchmark

See Benchmark for more
details.
Acknowledgements
This package has been first made as a Cython port of the R3
C router.
See also python-r3, which was a first
attempt to wrap R3. I was unhappy with the stability, and more curious about
Cython, so I tried to make a first POC port, and was happy with it.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.