550:
172:
22:
451:
Pyramid is the internal website templating system used to build the python.org pages. (It is not connected to the
Pyramid web framework, formerly named BFG, that's used with Pylons.) Pyramid uses Nevow as its templating system and YAML as the format for its file based
378:, @donovanpreston Mountain View, CA, I work at Mozilla Research mostly in JavaScript. I hack with dom.js and spidermonkey and rust. Previously, I worked with Python, eventlet, nevow, twisted.
57:. If you find that such action has not been taken promptly, please consider assisting in the merger instead of re-nominating the article for deletion. To discuss the merger, please use
1672:
1457:
690:
273:
As of mid-2010, Divmod went out of business, causing development work on Nevow to all but cease, and in 2011 its homepage was no longer accessible. There is a project on
583:
397:
whose benefits turned out to be so great that we decided to focus on bringing it up to a usable state for
Quotient as soon as possible. And that's where it is now.
1667:
306:
745:
725:
1677:
810:
38:
555:
533:
576:
30:
1127:
569:
1635:
1611:
1591:
1363:
592:
237:
185:
1657:
1520:
718:
151:
1625:
1502:
1469:
975:
348:
125:
1577:
478:
286:
1662:
240:
209:
34:
927:
260:
252:
1607:
1482:
1426:
1048:
907:
711:
654:
58:
1510:
1431:
1386:
1102:
960:
659:
619:
244:
463:
434:
1396:
1137:
917:
629:
294:
540:, Nevow Athena from Scratch, or The Evolution of a Chat Application β Divmod Nevow vtrunk documentation
1528:
1436:
1401:
1253:
1062:
912:
778:
664:
634:
320:
1293:
1175:
995:
815:
519:
302:
274:
204:
1587:
1561:
1492:
1283:
1233:
945:
940:
674:
298:
256:
53:
500:
1631:
1313:
1308:
1185:
1180:
848:
793:
530:
48:
1328:
1258:
1132:
990:
871:
863:
853:
216:
192:
390:
243:
originally developed by the company Divmod. Template substitution is achieved via a small
1005:
537:
504:
482:
352:
171:
446:
345:
305:, though Nevow's implementation predates both of these labels. Athena also includes an
1533:
1421:
1416:
1278:
1030:
970:
649:
644:
197:
255:
called Stan, for expressing this markup programmatically. Nevow integrates well with
1651:
1487:
1020:
1000:
965:
788:
734:
595:
310:
277:, hosting the source code of Divmod including the source code of the Nevow project.
1142:
1067:
985:
773:
768:
266:
Nevow had 960 unit tests as of June 2008, and was deployed on several high-profile
393:, From: Donovan Preston, Date: 2003-10-27, Newsgroups: gmane.comp.python.twisted,
1318:
1218:
1190:
1097:
1057:
881:
783:
324:
221:
1621:
1617:
1441:
1298:
1248:
1228:
1147:
1077:
1040:
980:
825:
805:
669:
545:
315:
290:
93:
83:
346:
this 2004 paper by
Donovan Preston, the original author of Nevow and Formless
1548:
1343:
1238:
1052:
1025:
409:
363:
327:
1556:
1538:
1381:
1376:
1303:
1107:
1072:
955:
950:
614:
609:
267:
561:
475:
395:
nevow was originally a research project -- a weekend's worth of hacking
1597:
1391:
1333:
1273:
1268:
1243:
1213:
1122:
1117:
1112:
935:
899:
889:
820:
763:
624:
379:
1581:
1446:
1263:
1223:
1195:
1157:
1152:
1092:
1082:
1015:
1010:
843:
800:
679:
414:
375:
835:
515:
160:
1348:
1338:
1323:
486:
703:
391:
Subject: Re: ANN: Twisted 1.1.0, the framework of *your* internet
1477:
1451:
1411:
1371:
1288:
1167:
1087:
755:
684:
707:
565:
1601:
1353:
1205:
285:
Athena is a Nevow component which facilitates bi-directional,
248:
15:
497:
1570:
1547:
1519:
1501:
1468:
1362:
1204:
1166:
1039:
926:
898:
880:
862:
834:
754:
215:
203:
191:
181:
150:
124:
102:
92:
82:
251:templates, though there is also a pure-Python
719:
577:
293:portions of a web application in the form of
54:Twisted (software)#Applications using Twisted
8:
1673:Python (programming language) web frameworks
726:
712:
704:
584:
570:
562:
170:
79:
364:Nevow: A Web Application Construction Kit
313:, which forms the basis of a client-side
270:, most notably the official Python site.
338:
247:, which is usually embedded in on-disk
297:. This technique is typically called
7:
556:Free and open-source software portal
380:http://donovanpreston.blogspot.com/
59:the destination article's talk page
1668:Free software programmed in Python
466:, July 10, 2009, Deciphering Glyph
14:
437:, June 20, 2008, PyPy Status Blog
548:
77:Python web application framework
20:
1678:Software using the MIT license
464:Goodbye, Divmod. Hello, World!
131:0.14.4 / June 14, 2018
1:
454:- PythonInfo Wiki, python.org
51:the content into the article
435:Running Nevow on top of PyPy
232:(pronounced like the French
976:Remote Application Platform
1694:
410:"Releases Β· twisted/nevow"
287:asynchronous communication
741:
602:
241:web application framework
210:Web application framework
146:
120:
503:August 13, 2006, at the
447:PythonWebsitePyramidDocs
261:event-driven programming
253:domain-specific language
289:between the Python and
295:remote procedure calls
245:Tag Attribute Language
108:; 20 years ago
133:; 6 years ago
476:Divmod Nevow commits
47:with a consensus to
1658:Scripting languages
1578:Application Express
536:2016-03-03 at the
481:2012-10-15 at the
309:-based JavaScript
259:, a framework for
84:Original author(s)
1645:
1644:
701:
700:
366:, Donovan Preston
227:
226:
75:
74:
29:This article was
1685:
1663:Template engines
872:ColdBox Platform
728:
721:
714:
705:
586:
579:
572:
563:
558:
553:
552:
551:
541:
528:
522:
513:
507:
495:
489:
473:
467:
461:
455:
444:
438:
432:
426:
425:
423:
422:
406:
400:
388:
382:
373:
367:
361:
355:
343:
193:Operating system
174:
169:
166:
164:
162:
141:
139:
134:
116:
114:
109:
106:May 6, 2004
80:
70:
67:
24:
23:
16:
1693:
1692:
1688:
1687:
1686:
1684:
1683:
1682:
1648:
1647:
1646:
1641:
1571:Other languages
1566:
1543:
1515:
1497:
1464:
1358:
1200:
1162:
1035:
922:
894:
876:
858:
830:
750:
737:
732:
702:
697:
598:
590:
554:
549:
547:
544:
538:Wayback Machine
529:
525:
514:
510:
505:Wayback Machine
496:
492:
483:Wayback Machine
474:
470:
462:
458:
445:
441:
433:
429:
420:
418:
408:
407:
403:
389:
385:
376:Donovan Preston
374:
370:
362:
358:
353:Wayback Machine
344:
340:
336:
283:
177:
159:
142:
137:
135:
132:
112:
110:
107:
103:Initial release
88:Donovan Preston
78:
71:
65:
62:
25:
21:
12:
11:
5:
1691:
1689:
1681:
1680:
1675:
1670:
1665:
1660:
1650:
1649:
1643:
1642:
1640:
1639:
1629:
1615:
1605:
1595:
1585:
1574:
1572:
1568:
1567:
1565:
1564:
1559:
1553:
1551:
1545:
1544:
1542:
1541:
1536:
1531:
1525:
1523:
1517:
1516:
1514:
1513:
1507:
1505:
1499:
1498:
1496:
1495:
1490:
1485:
1480:
1474:
1472:
1466:
1465:
1463:
1462:
1454:
1449:
1444:
1439:
1434:
1429:
1424:
1419:
1414:
1409:
1404:
1399:
1394:
1389:
1384:
1379:
1374:
1368:
1366:
1360:
1359:
1357:
1356:
1351:
1346:
1341:
1336:
1331:
1326:
1321:
1316:
1311:
1306:
1301:
1296:
1291:
1286:
1281:
1276:
1271:
1266:
1261:
1256:
1251:
1246:
1241:
1236:
1231:
1226:
1221:
1216:
1210:
1208:
1202:
1201:
1199:
1198:
1193:
1188:
1183:
1178:
1172:
1170:
1164:
1163:
1161:
1160:
1155:
1150:
1145:
1140:
1135:
1130:
1125:
1120:
1115:
1110:
1105:
1100:
1095:
1090:
1085:
1080:
1075:
1070:
1065:
1060:
1055:
1045:
1043:
1037:
1036:
1034:
1033:
1028:
1023:
1018:
1013:
1008:
1003:
998:
993:
988:
983:
978:
973:
968:
963:
958:
953:
948:
943:
938:
932:
930:
924:
923:
921:
920:
915:
910:
904:
902:
896:
895:
893:
892:
886:
884:
878:
877:
875:
874:
868:
866:
860:
859:
857:
856:
851:
846:
840:
838:
832:
831:
829:
828:
823:
818:
813:
808:
803:
798:
797:
796:
791:
786:
781:
776:
771:
760:
758:
752:
751:
749:
748:
742:
739:
738:
735:Web frameworks
733:
731:
730:
723:
716:
708:
699:
698:
696:
695:
687:
682:
677:
672:
667:
662:
657:
652:
647:
642:
637:
632:
627:
622:
617:
612:
607:
603:
600:
599:
596:web frameworks
591:
589:
588:
581:
574:
566:
560:
559:
543:
542:
523:
508:
490:
468:
456:
439:
427:
401:
383:
368:
356:
337:
335:
332:
282:
279:
225:
224:
219:
213:
212:
207:
201:
200:
198:Cross-platform
195:
189:
188:
183:
179:
178:
176:
175:
156:
154:
148:
147:
144:
143:
130:
128:
126:Stable release
122:
121:
118:
117:
104:
100:
99:
96:
90:
89:
86:
76:
73:
72:
43:was closed on
40:The discussion
28:
26:
19:
13:
10:
9:
6:
4:
3:
2:
1690:
1679:
1676:
1674:
1671:
1669:
1666:
1664:
1661:
1659:
1656:
1655:
1653:
1637:
1633:
1630:
1627:
1623:
1619:
1616:
1613:
1609:
1606:
1603:
1599:
1596:
1593:
1589:
1586:
1583:
1579:
1576:
1575:
1573:
1569:
1563:
1560:
1558:
1555:
1554:
1552:
1550:
1546:
1540:
1537:
1535:
1532:
1530:
1527:
1526:
1524:
1522:
1518:
1512:
1509:
1508:
1506:
1504:
1500:
1494:
1491:
1489:
1488:Ruby on Rails
1486:
1484:
1481:
1479:
1476:
1475:
1473:
1471:
1467:
1460:
1459:
1455:
1453:
1450:
1448:
1445:
1443:
1440:
1438:
1435:
1433:
1430:
1428:
1425:
1423:
1420:
1418:
1415:
1413:
1410:
1408:
1405:
1403:
1400:
1398:
1395:
1393:
1390:
1388:
1385:
1383:
1380:
1378:
1375:
1373:
1370:
1369:
1367:
1365:
1361:
1355:
1352:
1350:
1347:
1345:
1342:
1340:
1337:
1335:
1332:
1330:
1327:
1325:
1322:
1320:
1317:
1315:
1312:
1310:
1307:
1305:
1302:
1300:
1297:
1295:
1292:
1290:
1287:
1285:
1282:
1280:
1277:
1275:
1272:
1270:
1267:
1265:
1262:
1260:
1257:
1255:
1252:
1250:
1247:
1245:
1242:
1240:
1237:
1235:
1232:
1230:
1227:
1225:
1222:
1220:
1217:
1215:
1212:
1211:
1209:
1207:
1203:
1197:
1194:
1192:
1189:
1187:
1184:
1182:
1179:
1177:
1174:
1173:
1171:
1169:
1165:
1159:
1156:
1154:
1151:
1149:
1146:
1144:
1141:
1139:
1136:
1134:
1131:
1129:
1126:
1124:
1121:
1119:
1116:
1114:
1111:
1109:
1106:
1104:
1101:
1099:
1096:
1094:
1091:
1089:
1086:
1084:
1081:
1079:
1076:
1074:
1071:
1069:
1066:
1064:
1061:
1059:
1056:
1054:
1050:
1047:
1046:
1044:
1042:
1038:
1032:
1029:
1027:
1024:
1022:
1019:
1017:
1014:
1012:
1009:
1007:
1004:
1002:
999:
997:
994:
992:
989:
987:
984:
982:
979:
977:
974:
972:
969:
967:
964:
962:
959:
957:
954:
952:
949:
947:
944:
942:
939:
937:
934:
933:
931:
929:
925:
919:
916:
914:
911:
909:
906:
905:
903:
901:
897:
891:
888:
887:
885:
883:
879:
873:
870:
869:
867:
865:
861:
855:
852:
850:
847:
845:
842:
841:
839:
837:
833:
827:
824:
822:
819:
817:
814:
812:
809:
807:
804:
802:
799:
795:
792:
790:
787:
785:
782:
780:
777:
775:
772:
770:
767:
766:
765:
762:
761:
759:
757:
753:
747:
744:
743:
740:
736:
729:
724:
722:
717:
715:
710:
709:
706:
693:
692:
688:
686:
683:
681:
678:
676:
673:
671:
668:
666:
663:
661:
658:
656:
653:
651:
648:
646:
643:
641:
638:
636:
633:
631:
628:
626:
623:
621:
618:
616:
613:
611:
608:
605:
604:
601:
597:
594:
587:
582:
580:
575:
573:
568:
567:
564:
557:
546:
539:
535:
532:
527:
524:
521:
517:
512:
509:
506:
502:
499:
494:
491:
488:
484:
480:
477:
472:
469:
465:
460:
457:
453:
448:
443:
440:
436:
431:
428:
417:
416:
411:
405:
402:
399:
396:
392:
387:
384:
381:
377:
372:
369:
365:
360:
357:
354:
350:
349:Archive index
347:
342:
339:
333:
331:
329:
326:
322:
321:module system
319:abstraction,
318:
317:
312:
311:object system
308:
304:
300:
296:
292:
288:
280:
278:
276:
271:
269:
264:
262:
258:
254:
250:
246:
242:
239:
235:
231:
223:
220:
218:
214:
211:
208:
206:
202:
199:
196:
194:
190:
187:
184:
180:
173:
168:
158:
157:
155:
153:
149:
145:
129:
127:
123:
119:
105:
101:
97:
95:
91:
87:
85:
81:
69:
60:
56:
55:
50:
46:
42:
41:
36:
32:
27:
18:
17:
1456:
1406:
1329:Silverstripe
1143:Sencha Touch
1068:Dojo Toolkit
779:Dynamic Data
689:
639:
526:
511:
493:
471:
459:
450:
442:
430:
419:. Retrieved
413:
404:
398:
394:
386:
371:
359:
341:
328:unit testing
314:
284:
272:
265:
233:
229:
228:
94:Developer(s)
63:
52:
44:
39:
1319:ProcessWire
1219:CodeIgniter
1191:Mojolicious
1098:Knockout.js
1058:Backbone.js
882:Common Lisp
307:inheritance
222:MIT License
45:7 June 2024
1652:Categories
1622:JavaScript
1618:SproutCore
1442:TurboGears
1299:PHP-Fusion
1229:eZ Publish
1148:SproutCore
1078:Express.js
1041:JavaScript
864:ColdFusion
826:WebSharper
746:Comparison
675:TwistedWeb
670:TurboGears
421:2020-11-04
334:References
291:JavaScript
182:Written in
152:Repository
138:2018-06-14
113:2004-05-06
1549:Smalltalk
1372:BlueBream
1344:WordPress
1254:Gyroscope
1128:Prototype
1053:AngularJS
1026:WaveMaker
794:Web Forms
520:Launchpad
275:Launchpad
268:web sites
66:June 2024
31:nominated
1557:AIDA/Web
1539:Scalatra
1382:CubicWeb
1377:CherryPy
1304:PHP-Nuke
1234:Fat-Free
1176:Catalyst
1108:MooTools
1073:Ember.js
1006:Tapestry
956:JHipster
951:ICEfaces
816:MonoRail
615:CubicWeb
610:CherryPy
534:Archived
501:Archived
479:Archived
165:/twisted
35:deletion
1608:Phoenix
1598:OpenACS
1562:Seaside
1493:Sinatra
1483:Padrino
1437:Tornado
1427:Quixote
1422:Pyramid
1392:FastAPI
1334:Symfony
1309:Pop PHP
1294:Phalcon
1284:Midgard
1274:Laravel
1269:Laminas
1264:Joomla!
1244:FuelPHP
1214:CakePHP
1186:Maypole
1123:OpenUI5
1118:Node.js
1113:Next.js
1063:Closure
1049:Angular
996:Stripes
966:Mojarra
936:AppFuse
908:Servant
900:Haskell
890:CL-HTTP
821:Umbraco
764:ASP.NET
665:Tornado
655:Quixote
650:Pyramid
625:FastAPI
531:History
351:at the
325:browser
323:and in-
257:Twisted
236:) is a
234:nouveau
217:License
136: (
111: (
1636:Erlang
1612:Elixir
1592:Groovy
1588:Grails
1582:PL/SQL
1511:Rocket
1452:Zope 2
1447:web2py
1432:TACTIC
1417:Pylons
1387:Django
1364:Python
1224:Drupal
1196:WebGUI
1181:Dancer
1158:Vue.js
1153:Svelte
1103:Meteor
1093:jQuery
1083:Ext JS
1021:Wicket
1016:Vert.x
1011:Vaadin
1001:Struts
991:Spring
941:Grails
849:Drogon
844:CppCMS
801:Blazor
685:Zope 2
680:web2py
660:TACTIC
645:Pylons
620:Django
606:Bottle
593:Python
516:Divmod
498:Divmod
415:GitHub
316:widget
281:Athena
238:Python
186:Python
167:/nevow
161:github
98:Divmod
1521:Scala
1407:Nevow
1397:Flask
1349:XOOPS
1339:TYPO3
1324:Qcodo
1314:PRADO
1259:Horde
1138:Remix
1133:React
986:Sling
918:Yesod
789:Razor
640:Nevow
630:Flask
487:Ohloh
330:kit.
303:Comet
230:Nevow
49:merge
1632:Yaws
1626:Ruby
1534:Play
1529:Lift
1503:Rust
1478:Merb
1470:Ruby
1458:more
1412:Pyjs
1402:Grok
1289:MODX
1249:Grav
1239:Flow
1168:Perl
1088:htmx
981:Seam
971:Play
928:Java
913:Snap
774:AJAX
769:Core
756:.NET
691:more
635:Grok
452:data
299:Ajax
205:Type
163:.com
33:for
1602:Tcl
1461:...
1354:Yii
1279:liβ
1206:PHP
961:JWt
946:GWT
836:C++
811:BFC
806:DNN
784:MVC
694:...
518:on
485:on
301:or
249:XML
61:.
37:.
1654::
1031:ZK
854:Wt
449:,
412:.
263:.
1638:)
1634:(
1628:)
1624:-
1620:(
1614:)
1610:(
1604:)
1600:(
1594:)
1590:(
1584:)
1580:(
1051:/
727:e
720:t
713:v
585:e
578:t
571:v
424:.
140:)
115:)
68:)
64:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.