2009-12-08 16 views
8

¿Alguien tiene opiniones sobre o experiencia con Python Selector? Se ve muy bien, pero estoy un poco desconcertado por su estado "Alpha" en pypi y la falta de pruebas unitarias.Python Selector (biblioteca de enrutamiento de URL), experiencia/opiniones?

Me gusta más su WSGI simple, autónomo y puro. Todos los otros enrutadores de url que he encontrado asumen que estoy usando django, o pilones, o pegar, o tirar en muchas otras dependencias, o simplemente no me permiten crear un simple mapeo de de patrones de url a las aplicaciones de wsgi. En realidad, todo lo que quiero hacer es:

mapper.add("/regex/{to}/{resource}", my_wsgi_app) 
mapper.add("/another/.*", other_wsgi_app) 
...etc... 

De todas formas, ¿alguien ha usado antes, o sabe de proyectos que tienen?

Respuesta

8

He usado Selector durante los últimos años y lo encontré perfectamente estable. Ha estado en 0.8.11 durante al menos dos años.

Me saco dos conclusiones a partir de lo siguiente:

  1. Podría ser básicamente sin mantenimiento. Si encuentra un error en él o necesita una nueva función, no contaría con poder hacer que Luke Arno salte y lo arregle con prisa (sin decir que no lo haría, pero supongo que Selector isn). es su enfoque principal en estos días). ¿Te sentirías cómodo manteniendo un tenedor local en ese caso?

  2. Es bastante completo. El problema que está tratando de resolver está contenido en el alcance. Es una biblioteca muy pequeña sin mucho código. Los errores han sido sacudidos y realmente no hay nada más que hacer en él. Creo que esta es la razón principal por la que no se ha actualizado en mucho tiempo. Básicamente está hecho.

desarrolladores de código abierto, y los desarrolladores de Python, en particular, tienen una larga historia de ser muy (probablemente demasiado) conservadora acerca de cómo marcar cosas como 1,0. La falta de pruebas unitarias puede ser un poco desagradable, pero nuevamente, es una pequeña biblioteca que resuelve un problema de alcance limitado. El código es breve y lo suficientemente claro como para leer y convencerse de su corrección.

+0

¡Gracias, esto es lo que esperaba escuchar! –

6

¿Has mirado werkzeug.routing? Es difícil encontrar algo que sea más simple, más autónomo o más puro: WSGI que Werkzeug, en general, ¡soy bastante fanático! -)

+0

Quizás soy denso, pero ¿cómo el Mapa invoca la aplicación wsgi asociada con una regla? Al navegar por la fuente, parece que usted crea reglas, las agrega a un mapa y luego escribe su propio despachador para el mapa. –

+0

Sí, al final se usa el método 'dispatch' (normalmente con un' lambda') para obtener el controlador del punto final y llamarlo (http://dev.pocoo.org/projects/werkzeug/wiki/UsingNamedRulesWithWerkzeugRouting has una propuesta más elegante ;-). –

Cuestiones relacionadas