pyramid

Software screenshot:
pyramid
Rincian Software:
Versi: 1.4.2
Tanggal Upload: 20 Feb 15
Pengembang: Chris McDonough
Lisensi: Gratis
Popularitas: 1

Rating: nan/5 (Total Votes: 0)

piramida adalah yang cepat, kecil, down-to-earth, open source kerangka pembangunan Python web & nbsp;. Itu membuat dunia nyata pengembangan aplikasi web dan penyebaran lebih menyenangkan, lebih dapat diprediksi, dan lebih produktif.
piramida adalah proyek pylons, dan mendasari kerangka web terbaru yang diproduksi oleh masyarakat pylons.
piramida sebelumnya dikenal sebagai repoze.bfg.
Dukungan dan Dokumentasi
Lihat situs pylons Proyek untuk melihat dokumentasi, laporan bug, dan memperoleh dukungan.
Lisensi
piramida yang ditawarkan di bawah BSD diturunkan Lisensi Repoze Public

Apa yang baru dalam rilis ini:.

  • mako_templating: menambahkan defensif Solusi untuk non-importability dari mako karena markupsafe hulu menjatuhkan 3.2 support Python. Mako template tidak akan lagi bekerja di bawah kombinasi MarkupSafe 0,17 dan Python 3.2 (meskipun kombinasi MarkupSafe 0,17 dan Python 3.3 atau versi yang didukung Python 2 akan bekerja OK).
  • Membuat pyramid.config.assets.PackageOverrides objek menerapkan API untuk __loader__ objek ditentukan dalam PEP 302. Proxy ke __loader__ ditetapkan oleh importir, jika ada; sebaliknya, menimbulkan NotImplementedError. Hal ini membuat Pyramid pandangan statis menimpa bekerja dengan baik di bawah Python 3.3 (sebelumnya mereka tidak akan). Lihat https://github.com/Pylons/pyramid/pull/1015 untuk informasi lebih lanjut.

Apa yang baru di versi 1.4:

  • Perbaiki tes fungsional dalam tutorial ZODB

Apa yang baru dalam versi 1.4 Beta 3:

  • Kemasan rilis saja, tidak ada perubahan kode. 1.4b2 adalah rilis brownbag karena direktori hilang dalam tarball.

Apa yang baru dalam versi 1.3.4:

  • Ketika pyramid.debug_routematch dihidupkan dan melintasi Predikat digunakan dalam rute, router akan meningkatkan pengecualian ketika mencoba untuk mencetak informasi rute debugging. Bug ini telah ada sejak 1.3a1.
  • Bila predikat melintasi digunakan dalam rute, proutes dan pviews script konsol akan meningkatkan pengecualian ketika mencoba untuk mencetak informasi rute debugging. Bug ini telah ada sejak 1.3a1.
  • backport bug fix dari master: - Di Mako Template lookup, memeriksa uri absolut (menggunakan direktori mako) ketika mencampur warisan dengan spesifikasi aset. https://github.com/Pylons/pyramid/issues/662
  • Saat mendaftar beberapa pandangan dengan menerima predikat dalam aplikasi Pyramid runing bawah Python 3, Anda mungkin telah menerima TypeError: jenis unorderable: function () & lt; function () terkecuali.
  • backport dari master: HTTP Terima header yang tidak normal menyebabkan berpotensi bertentangan pandangan pendaftaran untuk pergi tanpa diketahui. Dua pandangan yang hanya berbeda dalam kasus ('text / html' vs 'text / HTML') sekarang akan meningkatkan kesalahan. https://github.com/Pylons/pyramid/pull/620

Apa yang baru di versi 1.4 Alpha 1:

  • Perbaikan Bug:
  • Forward port dari 1,3 cabang: Bila tidak ada kebijakan otentikasi dikonfigurasi, panggilan untuk pyramid.security.effective_principals tanpa syarat akan mengembalikan daftar kosong. Ini tidak benar, harus memiliki tanpa syarat kembali [Semua orang], dan sekarang tidak.

  • Regexes
  • Explicit url pengiriman sekarang dapat berisi titik dua. https://github.com/Pylons/pyramid/issues/629
  • Pada setidaknya satu 64-bit sistem Ubuntu bawah Python 3.2, dengan menggunakan dekorator view_config menyebabkan RuntimeError a: kamus berubah ukuran selama iterasi pengecualian. Tidak lagi tidak. Lihat https://github.com/Pylons/pyramid/issues/635 untuk informasi lebih lanjut.
  • Di Mako Template lookup, periksa apakah uri tersebut sudah disesuaikan dan membawanya kembali ke spec aset. Biasanya terjadi dengan template warisan atau komponen disertakan. https://github.com/Pylons/pyramid/issues/606 https://github.com/Pylons/pyramid/issues/607
  • Di Mako Template lookup, memeriksa uri absolut (menggunakan direktori mako) ketika mencampur warisan dengan spesifikasi aset. https://github.com/Pylons/pyramid/issues/662
  • HTTP Terima header yang tidak normal menyebabkan berpotensi bertentangan pandangan pendaftaran untuk pergi tanpa diketahui. Dua pandangan yang hanya berbeda dalam kasus ('text / html' vs 'text / HTML') sekarang akan meningkatkan kesalahan. https://github.com/Pylons/pyramid/pull/620
  • Teruskan-port dari 1,3 cabang: saat mendaftar beberapa pandangan dengan menerima predikat dalam aplikasi Pyramid runing bawah Python 3, Anda mungkin telah menerima TypeError: jenis unorderable: function () & lt; function () terkecuali.
  • Fitur:
  • Configurator.add_directive sekarang menerima callables sewenang-wenang seperti parsial atau obyek yang mengimplementasikan __call__ yang tidak memiliki __name__ dan __doc__ atribut. Lihat https://github.com/Pylons/pyramid/issues/621 dan https://github.com/Pylons/pyramid/pull/647.

  • Predikat
  • pihak ketiga tampilan kustom, rute, dan pelanggan sekarang dapat ditambahkan untuk digunakan oleh pandangan penulis melalui pyramid.config.Configurator.add_view_predicate, pyramid.config.Configurator.add_route_predicate dan pyramid.config.Configurator.add_subscriber_predicate. Jadi, misalnya, melakukan hal ini:
  • config.add_view_predicate ('abc', my.package.ABCPredicate)
  • Mungkin memungkinkan pandangan penulis untuk melakukan hal ini dalam sebuah aplikasi yang dikonfigurasi predikat yang:
  • view_config (abc = 1)
  • fitur serupa ada untuk add_route, dan add_subscriber. Lihat & quot; Menambah Pihak Ketiga View, Route, atau Subscriber Predikat & quot; dalam bab Hooks untuk informasi lebih lanjut.
  • Perhatikan bahwa perubahan yang dibuat untuk mendukung fitur di atas sekarang berarti bahwa hanya tindakan yang terdaftar menggunakan sama & quot; agar & quot; dapat bertentangan dengan satu sama lain. Dulu kasus bahwa tindakan yang terdaftar di perintah yang berbeda berpotensi konflik, tapi tidak ada pengetahuan saya pernah bergantung pada perilaku ini (itu agak konyol).

  • Benda
  • bisa dibikin mudah JSON-serializable di Pyramid dengan mendefinisikan metode __json__ di kelas objek. Metode ini harus kembali nilai-nilai native serializable oleh json.dumps (seperti int, daftar, kamus, string, dan sebagainya).
  • The JSON penyaji sekarang memungkinkan untuk definisi jenis kustom adapter untuk mengubah benda-benda yang tidak diketahui JSON serializations.
  • Pada rilis ini, predikat REQUEST_METHOD, bila digunakan, akan juga menyiratkan KEPALA yang tersirat ketika Anda menggunakan GET. Misalnya, menggunakanview_config (REQUEST_METHOD = 'GET') setara dengan menggunakanview_config (REQUEST_METHOD = ('GET', 'KEPALA')). Menggunakanview_config (REQUEST_METHOD = ('GET', 'POST') setara dengan menggunakanview_config (REQUEST_METHOD = ('GET', 'KEPALA', 'POST'). Hal ini karena KEPALA adalah varian dari GET yang menghilangkan tersebut tubuh, dan WebOb memiliki dukungan khusus untuk mengembalikan tubuh kosong ketika KEPALA yang digunakan.
  • config.add_request_method telah diperkenalkan untuk mendukung memperluas objek permintaan dengan callables sewenang-wenang. Metode ini memperluas pada config.set_request_property sebelumnya dengan metode pendukung serta sifat. Metode ini sekarang menyebabkan kode kurang akan dieksekusi atas permintaan waktu konstruksi dari config.set_request_property dalam versi 1.3.
  • Jangan menambahkan? ke URL yang dihasilkan oleh request.resource_url jika argumen permintaan disediakan tapi kosong.
  • Jangan menambahkan? ke URL yang dihasilkan oleh request.route_url jika argumen _query disediakan tapi kosong.
  • statis tampilan mesin sekarang menimbulkan (bukan pengembalian) HTTPNotFound dan HTTPMovedPermanently pengecualian, sehingga ini bisa ditangkap oleh pemandangan NotFound (dan pandangan pengecualian lainnya).
  • The Mako penyaji sekarang mendukung nama def dalam spesifikasi aset. Ketika nama def hadir dalam spec aset, sistem akan membuat def Template dalam template dan akan kembali hasilnya. Spec Contoh aset adalah paket: path / ke / template # defname.mako. Ini akan membuat defname def bernama dalam template template.mako bukan rendering seluruh template. Cara lama untuk kembali tupel dalam bentuk ('defname', {}) dari pandangan didukung untuk kompatibilitas,
  • The Chameleon ZPT penyaji sekarang menerima nama makro dalam spesifikasi aset. Ketika nama makro hadir dalam spec aset, sistem akan membuat makro terdaftar sebagai mendefinisikan makro dan mengembalikan hasil bukan rendering seluruh template. Spec Contoh aset: Paket: path / ke / template # macroname.pt. Ini akan membuat makro didefinisikan sebagai macroname dalam template template.pt bukan seluruh templae.
  • Ketika ada pengecualian predikat mismatch (terlihat ketika ada pemandangan cocok untuk permintaan yang diberikan karena predikat tidak bekerja), kecuali sekarang berisi deskripsi tekstual dari predikat yang tidak cocok.
  • Sebuah metode add_permission direktif ditambahkan ke Configurator tersebut. Direktif ini register izin introspectable berdiri bebas ke dalam sistem introspeksi Piramida. Kerangka yang dibangun di atas Piramida sehingga dapat menggunakan hak akses data yang kategori introspectable untuk membangun daftar lengkap izin didukung oleh sistem berjalan. Sebelum metode ini ditambahkan, izin yang sudah terdaftar dalam kategori introspectable ini sebagai efek samping dari penamaan mereka dalam panggilan add_view, metode ini hanya memungkinkan untuk mengatur izin untuk dimasukkan ke dalam kategori izin introspectable tanpa penamaan itu bersama dengan pandangan terkait. Berikut ini adalah contoh penggunaan add_permission:
  • config = Configurator ()
  • config.add_permission ('view')
  • The UnencryptedCookieSessionFactoryConfig sekarang menerima signed_serialize dan signed_deserialize kait yang dapat digunakan untuk mempengaruhi bagaimana sesi marshalled (secara default ini dilakukan dengan HMAC + acar).
  • pyramid.testing.DummyRequest sekarang mendukung metode yang disediakan oleh kelas pyramid.util.InstancePropertyMixin seperti set_property.
  • sifat Permintaan dan metode ditambahkan melalui config.set_request_property atau config.add_request_method sekarang tersedia untuk remaja.
  • sifat Permintaan dan metode ditambahkan melalui config.set_request_property atau config.add_request_method sekarang tersedia di objek permintaan kembali dari pyramid.paster.bootstrap.
  • request.context permintaan lingkungan selama bootstrap sekarang objek root jika konteks belum diatur pada permintaan yang disediakan.
  • Fungsi pyramid.decorator.reify sekarang API, dan ditambahkan ke dokumentasi API.
  • Ditambahkan manajer konteks pyramid.testing.testConfig, yang dapat digunakan untuk menghasilkan configurator dalam tes, misalnya dengan testing.testConfig (...):
  • .
  • Pengguna sekarang dapat meminta subrequest dari dalam tampilan kode menggunakan request.invoke_subrequest API baru.
  • deprecations:
  • The pyramid.config.Configurator.set_request_property telah dokumentasi-usang. Metode ini masih digunakan tapi pyramid.config.Configurator.add_request_method lebih featureful harus digunakan di tempatnya (memiliki semua kemampuan yang sama, tetapi juga dapat memperpanjang objek permintaan dengan metode).
  • Backwards Inkompatibilitas:
  • The Pyramid router tidak lagi menambah nilai bfg.routes.route atau bfg.routes.matchdict dengan permintaan itu lingkungan WSGI kamus. Nilai-nilai ini adalah dokumen-usang dalam repoze.bfg 1.0 (efektif tujuh rilis minor lalu). Jika kode Anda tergantung pada nilai-nilai ini, menggunakan request.matched_route dan request.matchdict gantinya.
  • Hal ini tidak mungkin lagi untuk lulus kamus environ langsung ke pyramid.traversal.ResourceTreeTraverser .__ call__ (alias ModelGraphTraverser .__ call__). Sebaliknya, Anda harus lulus objek permintaan. Melewati lingkungan bukan permintaan telah menghasilkan peringatan bantahan sejak Pyramid 1.1.
  • Pyramid tidak akan lagi bekerja dengan baik jika Anda menggunakan webob.request.LegacyRequest sebagai pabrik permintaan. Contoh dari kelas LegacyRequest memiliki request.path_info yang kembali string. Rilis Pyramid ini mengasumsikan bahwa request.path_info tanpa syarat akan Unicode.
  • Fungsi dari pyramid.chameleon_zpt dan pyramid.chameleon_text bernama get_renderer, get_template, render_template, dan render_template_to_response telah dihapus. Ini telah mengeluarkan peringatan bantahan atas impor sejak Pyramid 1.0. Gunakan pyramid.renderers.get_renderer (), pyramid.renderers.get_renderer (). Implementasi (), pyramid.renderers.render () atau pyramid.renderers.render_to_response masing-masing, bukan fungsi tersebut.
  • Modul pyramid.configuration telah dihapus. Sudah usang sejak Pyramid 1.0 dan dicetak peringatan bantahan atas penggunaannya. Gunakan pyramid.config sebagai gantinya.
  • The pyramid.paster.PyramidTemplate API telah dihapus. Sudah usang sejak Pyramid 1.1 dan mengeluarkan peringatan impor. Jika kode Anda tergantung pada hal ini, menyesuaikan kode Anda untuk mengimpor pyramid.scaffolds.PyramidTemplate sebagai gantinya.
  • pyramid.settings.get_settings () API telah dihapus. Sudah mencetak peringatan bantahan sejak Pyramid 1.0. Jika kode Anda tergantung pada API ini, gunakan pyramid.threadlocal.get_current_registry (). Pengaturan sebaliknya atau menggunakan pengaturan atribut registri tersedia dari permintaan (request.registry.settings).
  • API ini dari modul pyramid.testing telah dihapus. Mereka telah mencetak peringatan bantahan sejak Pyramid 1.0:
  • registerDummySecurityPolicy, gunakan pyramid.config.Configurator.testing_securitypolicy gantinya.
  • registerResources (alias registerModels, gunakan pyramid.config.Configurator.testing_resources sebagai gantinya.
  • registerEventListener, gunakan pyramid.config.Configurator.testing_add_subscriber gantinya.
  • registerTemplateRenderer (alias registerDummyRenderer`), menggunakan pyramid.config.Configurator.testing_add_template gantinya.
  • Registerview, gunakan pyramid.config.Configurator.add_view gantinya.
  • registerUtility, gunakan pyramid.config.Configurator.registry.registerUtility gantinya.
  • registerAdapter, gunakan pyramid.config.Configurator.registry.registerAdapter gantinya.
  • registerSubscriber, gunakan pyramid.config.Configurator.add_subscriber gantinya.
  • registerRoute, gunakan pyramid.config.Configurator.add_route gantinya.
  • registerSettings, gunakan pyramid.config.Configurator.add_settings sebagai gantinya.
  • Dalam Piramida 1.3 dan sebelumnya, metode __call__ benda Respon yang dipanggil sebelum callback selesai dieksekusi. Pada rilis ini, metode __call__ dari objek Respon dipanggil setelah callback selesai dijalankan. Hal ini mendukung fitur request.invoke_subrequest.
  • Dokumentasi:
  • Ditambahkan & quot; Upgrade Pyramid & quot; bab dokumentasi naratif. Ini menggambarkan bagaimana cara mengatasi deprecations dan kepindahan dari Pyramid API dan bagaimana untuk menunjukkan peringatan bantahan Pyramid dihasilkan saat menjalankan tes dan saat menjalankan server.
  • Ditambahkan & quot; Jika mengakses Subrequest & quot; bab dokumentasi. Ini menggambarkan bagaimana menggunakan baru request.invoke_subrequest API.
  • Dependensi:
  • Piramida sekarang memerlukan WebOb 1.2b3 + (rilis Piramida sebelumnya hanya mengandalkan 1.2dev +). Hal ini untuk memastikan bahwa kita mendapatkan versi WebOb yang mengembalikan request.path_info sebagai teks.

Apa yang baru dalam versi 1.3.2:

  • Versi 1.3.1 adalah rilis brownbag, pada Paling tidak pada Windows dan mungkin pada sistem lain yang beroperasi, karena adanya liar & quot; direktori paket (kutipan termasuk) dalam direktori root dari 1.3.1 tarball. Direktori ini dan isinya hadir karena tarbal diciptakan menggunakan versi rilis setuptools-git daripada setuptools-git diinstal dari checkout. Satu-satunya perubahan dalam rilis ini adalah untuk memperbaiki kesalahan kemasan 1.3.1.

Apa yang baru di versi 1.3:

  • Ketika pyramid.wsgi.wsgiapp2 panggilan aplikasi WSGI hilir, environ app akan tidak lagi memiliki (usang dan berpotensi menyesatkan) bfg.routes.matchdict atau bfg.routes.route kunci di dalamnya. Gejala dari bug ini akan menjadi aplikasi Pyramid wsgiapp2 dibungkus menemukan pandangan yang salah karena keliru mendeteksi bahwa rute yang cocok ketika, pada kenyataannya, itu tidak.
  • Perbaikan untuk masalah https://github.com/Pylons/pyramid/issues/461 (yang memungkinkan untuk metode misalnya untuk digunakan sebagai tampilan callables) memperkenalkan ketidakcocokan mundur ketika metode yang menyatakan hanya argumen permintaan yang yang digunakan. Lihat https://github.com/Pylons/pyramid/issues/503

Apa yang baru di versi 1.3 Beta 2:

  • Metode pyramid.request.Request.partial_application_url adalah tidak lagi dalam dokumentasi API. Hal itu dimaksudkan untuk menjadi metode swasta; publikasi dalam dokumentasi sebagai metode API adalah sebuah kesalahan, dan itu telah diubah namanya menjadi sesuatu yang pribadi.
  • Bila pandangan statis terdaftar menggunakan path filesystem absolut pada Windows, fungsi request.static_url tidak bekerja untuk menghasilkan URL ke sumber dayanya. Gejala: & quot; Tidak ada yang cocok definisi URL statis c:. Foobarbaz & quot;
  • Membuat semua tes lulus pada Windows XP.
  • Bug di otentikasi ACL memeriksa Python 3: izin dan principals_allowed_by_permission metode pyramid.authorization.ACLAuthenticationPolicy bisa mengembalikan Benar nilai yang tidak pantas ketika izin pada ACL adalah string daripada berurutan, dan kemudian hanya jika izin ACL String adalah substring dari nilai izin dilewatkan ke fungsi.
  • bug ini efek tidak Pyramid penyebaran bawah Python 2; itu adalah bug yang ada hanya dalam penyebaran berjalan pada Python 3. Ini telah ada sejak Pyramid 1.3a1.
  • bug ini disebabkan adanya atribut __iter__ pada string di bawah Python 3 yang tidak hadir dalam string di Python 2.

Apa yang baru di versi 1.3 Beta 1:

  • Perbaikan Bug:
  • pyramid.config.Configurator.with_package tidak bekerja jika Configurator adalah gaya lama pyramid.configuration.Configurator misalnya.
  • kebijakan otorisasi Piramida tidak muncul di introspector tersebut.
  • deprecations:
  • Semua referensi ke variabel permintaan tmpl_context telah dihapus dari dokumentasi. Keberadaannya di Pyramid membingungkan bagi orang-orang yang tidak pernah tiang pengguna. Itu ditambahkan sebagai kenyamanan port untuk pengguna pylons di Pyramid 1.0, tapi tidak pernah tertangkap karena sistem rendering Piramida jauh berbeda dari pylons 'adalah, dan cara-cara alternatif yang ada untuk melakukan apa yang dirancang untuk menawarkan di pylons. Ini akan terus ada & quot; selamanya & quot; tetapi tidak akan direkomendasikan atau disebutkan dalam dokumen.

Persyaratan :

  • Python

Perangkat lunak lain dari pengembang Chris McDonough

Supervisor
Supervisor

20 Feb 15

pyramid_exclog
pyramid_exclog

14 Apr 15

superlance
superlance

20 Feb 15

Komentar untuk pyramid

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!