File: PKG-INFO

package info (click to toggle)
python-pyramid 2.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,612 kB
  • sloc: python: 41,526; makefile: 28
file content (411 lines) | stat: -rw-r--r-- 20,703 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
Metadata-Version: 2.1
Name: pyramid
Version: 2.0
Summary: The Pyramid Web Framework, a Pylons project
Home-page: https://trypyramid.com
Author: Chris McDonough, Agendaless Consulting
Author-email: pylons-discuss@googlegroups.com
License: BSD-derived (Repoze)
Project-URL: Documentation, https://docs.pylonsproject.org/projects/pyramid/en/2.0-branch/
Project-URL: Changelog, https://docs.pylonsproject.org/projects/pyramid/en/2.0-branch/whatsnew-2.0.html
Project-URL: Issue Tracker, https://github.com/Pylons/pyramid/issues
Description: Pyramid
        =======
        
        .. image:: https://github.com/Pylons/Pyramid/workflows/Build%20and%20test/badge.svg?branch=2.0-branch
                :target: https://github.com/Pylons/Pyramid/actions?query=workflow%3A%22Build+and+test%22
                :alt: 2.0-branch Travis CI Status
        
        .. image:: https://readthedocs.org/projects/pyramid/badge/?version=2.0-branch
                :target: https://docs.pylonsproject.org/projects/pyramid/en/2.0-branch
                :alt: 2.0-branch Documentation Status
        
        .. image:: https://img.shields.io/badge/irc-freenode-blue.svg
                :target: https://webchat.freenode.net/?channels=pyramid
                :alt: IRC Freenode
        
        `Pyramid <https://trypyramid.com/>`_ is a small, fast, down-to-earth, open
        source Python web framework. It makes real-world web application development
        and deployment more fun, more predictable, and more productive.
        
        .. code-block:: python
        
            from wsgiref.simple_server import make_server
            from pyramid.config import Configurator
            from pyramid.response import Response
        
            def hello_world(request):
                return Response('Hello World!')
        
            if __name__ == '__main__':
                with Configurator() as config:
                    config.add_route('hello', '/')
                    config.add_view(hello_world, route_name='hello')
                    app = config.make_wsgi_app()
                server = make_server('0.0.0.0', 6543, app)
                server.serve_forever()
        
        Pyramid is a project of the `Pylons Project <https://pylonsproject.org>`_.
        
        Support and Documentation
        -------------------------
        
        See `Pyramid Support and Development
        <https://docs.pylonsproject.org/projects/pyramid/en/latest/#support-and-development>`_
        for documentation, reporting bugs, and getting support.
        
        Developing and Contributing
        ---------------------------
        
        See `HACKING.txt <https://github.com/Pylons/pyramid/blob/master/HACKING.txt>`_ and
        `contributing.md <https://github.com/Pylons/pyramid/blob/master/contributing.md>`_
        for guidelines on running tests, adding features, coding style, and updating
        documentation when developing in or contributing to Pyramid.
        
        License
        -------
        
        Pyramid is offered under the BSD-derived `Repoze Public License
        <http://repoze.org/license.html>`_.
        
        Authors
        -------
        
        Pyramid is made available by `Agendaless Consulting <https://agendaless.com>`_
        and a team of `contributors
        <https://github.com/Pylons/pyramid/graphs/contributors>`_.
        
        
        2.0 (2021-02-28)
        ================
        
        - No changes from 2.0b1.
        
        2.0b1 (2021-02-20)
        ==================
        
        - Break potential reference cycle between ``request`` and ``context``.
          See https://github.com/Pylons/pyramid/pull/3649
        
        - Remove ``update_wrapper`` from ``pyramid.decorator.reify``.
          See https://github.com/Pylons/pyramid/pull/3657
        
        2.0b0 (2020-12-15)
        ==================
        
        - Overhaul tutorials and update cookiecutter to de-emphasize ``request.user``
          in favor of ``request.identity`` for common use cases.
          See https://github.com/Pylons/pyramid/pull/3629
        
        - Improve documentation and patterns with builtin fixtures shipped in the
          cookiecutters.
          See https://github.com/Pylons/pyramid/pull/3629
        
        2.0a0 (2020-11-29)
        ==================
        
        Features
        --------
        
        - Add support for Python 3.9.
          See https://github.com/Pylons/pyramid/issues/3622
        
        - The ``aslist`` method now handles non-string objects when flattening.
          See https://github.com/Pylons/pyramid/pull/3594
        
        - It is now possible to pass multiple values to the ``header`` predicate
          for route and view configuration.
          See https://github.com/Pylons/pyramid/pull/3576
        
        - Add support for Python 3.8.
          See https://github.com/Pylons/pyramid/pull/3547
        
        - New security APIs have been added to support a massive overhaul of the
          authentication and authorization system. Read
          "Upgrading Authentication/Authorization" in the "What's New in Pyramid 2.0"
          chapter of the documentation for information about using this new system.
        
          - ``pyramid.config.Configurator.set_security_policy``.
          - ``pyramid.interfaces.ISecurityPolicy``
          - ``pyramid.request.Request.identity``.
          - ``pyramid.request.Request.is_authenticated``
          - ``pyramid.authentication.SessionAuthenticationHelper``
          - ``pyramid.authorization.ACLHelper``
          - ``is_authenticated=True/False`` predicate for route and view configs
        
          See https://github.com/Pylons/pyramid/pull/3465 and
          https://github.com/Pylons/pyramid/pull/3598
        
        - Changed the default ``serializer`` on
          ``pyramid.session.SignedCookieSessionFactory`` to use
          ``pyramid.session.JSONSerializer`` instead of
          ``pyramid.session.PickleSerializer``. Read
          "Upgrading Session Serialization" in the "What's New in Pyramid 2.0" chapter
          of the documentation for more information about why this change was made.
          See https://github.com/Pylons/pyramid/pull/3413
        
        - It is now possible to control whether a route pattern contains a trailing
          slash when it is composed with a route prefix using
          ``config.include(..., route_prefix=...)`` or
          ``with config.route_prefix_context(...)``. This can be done by specifying
          an empty pattern and setting the new argument
          ``inherit_slash=True``. For example:
        
          .. code-block:: python
        
              with config.route_prefix_context('/users'):
                  config.add_route('users', '', inherit_slash=True)
        
          In the example, the resulting pattern will be ``/users``. Similarly, if the
          route prefix were ``/users/`` then the final pattern would be ``/users/``.
          If the ``pattern`` was ``'/'``, then the final pattern would always be
          ``/users/``. This new setting is only available if the pattern supplied
          to ``add_route`` is the empty string (``''``).
          See https://github.com/Pylons/pyramid/pull/3420
        
        - No longer define ``pyramid.request.Request.json_body`` which is already
          provided by WebOb. This allows the attribute to now be settable.
          See https://github.com/Pylons/pyramid/pull/3447
        
        - Improve debugging info from ``pyramid.view.view_config`` decorator.
          See https://github.com/Pylons/pyramid/pull/3483
        
        - A new parameter, ``allow_no_origin``, was added to
          ``pyramid.config.Configurator.set_default_csrf_options`` as well as
          ``pyramid.csrf.check_csrf_origin``. This option controls whether a
          request is rejected if it has no ``Origin`` or ``Referer`` header -
          often the result of a user configuring their browser not to send a
          ``Referer`` header for privacy reasons even on same-domain requests.
          The default is to reject requests without a known origin. It is also
          possible to allow the special ``Origin: null`` header by adding it to the
          ``pyramid.csrf_trusted_origins`` list in the settings.
          See https://github.com/Pylons/pyramid/pull/3512
          and https://github.com/Pylons/pyramid/pull/3518
        
        - A new parameter, ``check_origin``, was added to
          ``pyramid.config.Configurator.set_default_csrf_options`` which disables
          origin checking entirely.
          See https://github.com/Pylons/pyramid/pull/3518
        
        - Added ``pyramid.interfaces.IPredicateInfo`` which defines the object passed
          to predicate factories as their second argument.
          See https://github.com/Pylons/pyramid/pull/3514
        
        - Added support for serving pre-compressed static assets by using the
          ``content_encodings`` argument of
          ``pyramid.config.Configurator.add_static_view`` and
          ``pyramid.static.static_view``.
          See https://github.com/Pylons/pyramid/pull/3537
        
        - Fix ``DeprecationWarning`` emitted by using the ``imp`` module.
          See https://github.com/Pylons/pyramid/pull/3553
        
        - Properties created via ``config.add_request_method(..., property=True)`` or
          ``request.set_property`` used to be readonly. They can now be overridden
          via ``request.foo = ...`` and until the value is deleted it will return
          the overridden value. This is most useful when mocking request properties
          in testing.
          See https://github.com/Pylons/pyramid/pull/3559
        
        - Finished callbacks are now executed as part of the ``closer`` that is
          invoked as part of ``pyramid.scripting.prepare`` and
          ``pyramid.paster.bootstrap``.
          See https://github.com/Pylons/pyramid/pull/3561
        
        - Added ``pyramid.request.RequestLocalCache`` which can be used to create
          simple objects that are shared across requests and can be used to store
          per-request data. This is useful when the source of data is external to
          the request itself. Often a reified property is used on a request via
          ``pyramid.config.Configurator.add_request_method``, or
          ``pyramid.decorator.reify``, and these work great when the data is
          generated on-demand when accessing the request property. However, often
          the case is that the data is generated when accessing some other system
          and then we want to cache the data for the duration of the request.
          See https://github.com/Pylons/pyramid/pull/3561
        
        - Exposed ``pyramid.authorization.ALL_PERMISSIONS`` and
          ``pyramid.authorization.DENY_ALL`` such that all of the ACL-related constants
          are now importable from the ``pyramid.authorization`` namespace.
          See https://github.com/Pylons/pyramid/pull/3563
        
        - ``pserve`` now outputs verbose messaging to `stderr` instead of `stdout`
          to circumvent buffering issues that exist by default on `stdout`.
          See https://github.com/Pylons/pyramid/pull/3593
        
        Deprecations
        ------------
        
        - Deprecated the authentication and authorization interfaces and
          principal-based support. See "Upgrading Authentication/Authorization" in
          the "What's New in Pyramid 2.0" chapter of the documentation for information
          on equivalent APIs and notes on upgrading. The following APIs are deprecated
          as a result of this change:
        
          - ``pyramid.config.Configurator.set_authentication_policy``
          - ``pyramid.config.Configurator.set_authorization_policy``
          - ``pyramid.interfaces.IAuthenticationPolicy``
          - ``pyramid.interfaces.IAuthorizationPolicy``
          - ``pyramid.request.Request.effective_principals``
          - ``pyramid.request.Request.unauthenticated_userid``
          - ``pyramid.authentication.AuthTktAuthenticationPolicy``
          - ``pyramid.authentication.RemoteUserAuthenticationPolicy``
          - ``pyramid.authentication.RepozeWho1AuthenticationPolicy``
          - ``pyramid.authentication.SessionAuthenticationPolicy``
          - ``pyramid.authentication.BasicAuthAuthenticationPolicy``
          - ``pyramid.authorization.ACLAuthorizationPolicy``
          - The ``effective_principals`` view and route predicates.
        
          See https://github.com/Pylons/pyramid/pull/3465
        
        - Deprecated ``pyramid.security.principals_allowed_by_permission``. This
          method continues to work with the deprecated
          ``pyramid.interfaces.IAuthorizationPolicy`` interface but will not work with
          the new ``pyramid.interfaces.ISecurityPolicy``.
          See https://github.com/Pylons/pyramid/pull/3465
        
        - Deprecated several ACL-related aspects of ``pyramid.security``. Equivalent
          objects should now be imported from the ``pyramid.authorization`` namespace.
          This includes:
        
          - ``pyramid.security.Everyone``
          - ``pyramid.security.Authenticated``
          - ``pyramid.security.ALL_PERMISSIONS``
          - ``pyramid.security.DENY_ALL``
          - ``pyramid.security.ACLAllowed``
          - ``pyramid.security.ACLDenied``
        
          See https://github.com/Pylons/pyramid/pull/3563
        
        - Deprecated ``pyramid.session.PickleSerializer``.
          See https://github.com/pylons/pyramid/issues/2709,
          and https://github.com/pylons/pyramid/pull/3353,
          and https://github.com/pylons/pyramid/pull/3413
        
        Backward Incompatibilities
        --------------------------
        
        - Drop support for Python 2.7, 3.4, and 3.5.
          See https://github.com/Pylons/pyramid/pull/3421,
          and https://github.com/Pylons/pyramid/pull/3547,
          and https://github.com/Pylons/pyramid/pull/3634
        
        - Removed the ``pyramid.compat`` module. Integrators should use the ``six``
          module or vendor shims they are using into their own codebases going forward.
          https://github.com/Pylons/pyramid/pull/3421
        
        - ``pcreate`` and the builtin scaffolds have been removed in favor of
          using the ``cookiecutter`` tool and the ``pyramid-cookiecutter-starter``
          cookiecutter. The script and scaffolds were deprecated in Pyramid 1.8.
          See https://github.com/Pylons/pyramid/pull/3406
        
        - Changed the default ``hashalg`` on
          ``pyramid.authentication.AuthTktCookieHelper`` to ``sha512``.
          See https://github.com/Pylons/pyramid/pull/3557
        
        - Removed ``pyramid.interfaces.ITemplateRenderer``. This interface was
          deprecated since Pyramid 1.5 and was an interface
          used by libraries like ``pyramid_mako`` and ``pyramid_chameleon`` but
          provided no functionality within Pyramid itself.
          See https://github.com/Pylons/pyramid/pull/3409
        
        - Removed ``pyramid.security.has_permission``,
          ``pyramid.security.authenticated_userid``,
          ``pyramid.security.unauthenticated_userid``, and
          ``pyramid.security.effective_principals``. These methods were deprecated
          in Pyramid 1.5 and all have equivalents available as properties on the
          request. For example, ``request.authenticated_userid``.
          See https://github.com/Pylons/pyramid/pull/3410
        
        - Removed support for supplying a media range to the ``accept`` predicate of
          both ``pyramid.config.Configurator.add_view`` and
          ``pyramid.config.Configurator.add_route``. These options were deprecated
          in Pyramid 1.10 and WebOb 1.8 because they resulted in uncontrollable
          matching that was not compliant with the RFC.
          See https://github.com/Pylons/pyramid/pull/3411
        
        - Removed ``pyramid.session.UnencryptedCookieSessionFactoryConfig``. This
          session factory was replaced with
          ``pyramid.session.SignedCookieSessionFactory`` in Pyramid 1.5 and has been
          deprecated since then.
          See https://github.com/Pylons/pyramid/pull/3412
        
        - Removed ``pyramid.session.signed_serialize``, and
          ``pyramid.session.signed_deserialize``. These methods were only used by
          the now-removed ``pyramid.session.UnencryptedCookieSessionFactoryConfig``
          and were coupled to the vulnerable pickle serialization format which could
          lead to remove code execution if the secret key is compromised.
          See https://github.com/Pylons/pyramid/pull/3412
        
        - Changed the default ``serializer`` on
          ``pyramid.session.SignedCookieSessionFactory`` to use
          ``pyramid.session.JSONSerializer`` instead of
          ``pyramid.session.PickleSerializer``. Read "Upgrading Session Serialization"
          in the "What's New in Pyramid 2.0" chapter of the documentation for more
          information about why this change was made.
          See https://github.com/Pylons/pyramid/pull/3413
        
        - ``pyramid.request.Request.invoke_exception_view`` will no longer be called
          by the default execution policy.
          See https://github.com/Pylons/pyramid/pull/3496
        
        - ``pyramid.config.Configurator.scan`` will no longer, by default, execute
          Venusian decorator callbacks registered for categories other than
          ``'pyramid'``. To find any decorator regardless of category, specify
          ``config.scan(..., categories=None)``.
          See https://github.com/Pylons/pyramid/pull/3510
        
        - The second argument to predicate factories has been changed from ``config``
          to ``info``, an instance of ``pyramid.interfaces.IPredicateInfo``. This
          limits the data available to predicates but still provides the package,
          registry, settings and dotted-name resolver which should cover most use
          cases and is largely backward compatible.
          See https://github.com/Pylons/pyramid/pull/3514
        
        - Removed the ``check_csrf`` predicate. Instead, use
          ``pyramid.config.Configurator.set_default_csrf_options`` and the
          ``require_csrf`` view option to enable automatic CSRF checking.
          See https://github.com/Pylons/pyramid/pull/3521
        
        - Update the default behavior of
          ``pyramid.authenticationAuthTktAuthenticationPolicy`` and
          ``pyramid.authentication.AuthTktCookieHelper`` to only set a single cookie
          without a domain parameter when no other domain constraints are specified.
          Prior to this change, ``wild_domain=False`` (the default) was effectively
          treated the same as ``wild_domain=True``, in which a cookie was defined
          such that browsers would use it both for the request's domain, as well as
          any subdomain. In the new behavior, cookies will only affect the current
          domain, and not subdomains, by default.
          See https://github.com/Pylons/pyramid/pull/3587
        
        Documentation Changes
        ---------------------
        
        - Restore build of PDF on Read The Docs.
          See https://github.com/Pylons/pyramid/issues/3290
        
        - Fix docs build for Sphinx 2.0.
          See https://github.com/Pylons/pyramid/pull/3480
        
        - Significant updates to the wiki, wiki2 tutorials to demonstrate the new
          security policy usage as well as a much more production-ready test harness.
          See https://github.com/Pylons/pyramid/pull/3557
        
Keywords: web,wsgi,pylons,pyramid
Platform: UNKNOWN
Classifier: Development Status :: 6 - Mature
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Framework :: Pyramid
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: License :: Repoze Public License
Requires-Python: >=3.6
Provides-Extra: testing
Provides-Extra: docs