Skip to main content
pyramid_heroku
================

------------
Introduction
------------

pyramid_heroku is a collection of tweens and helpers to successfully run `Pyramid <http://www.trypyramid.com/>`_ on `Heroku <https://heroku.com/>`_

It provides the following:

* ``ClientAddr`` tween that sets real user's IP to ``request.client_addr``
* ``HerokuappAccess`` tween that denies access to your app's
``<app>.herokuapp.com`` domain for any non-whitelisted IPs.
* ``migrate.py`` script for automatically running alembic migrations on
deploy.

------------
Installation
------------

Just do

``pip install pyramid_heroku``

or

``easy_install pyramid_heroku``

-------------
Compatibility
-------------

pyramid_heroku runs with pyramid>=1.7 and python>=2.7 and python>=3.5.
Other versions might also work.

-------------
Documentation
-------------

Usage example for tweens::

def main(global_config, **settings):$ cat .heroku/release.sh
config = Configurator(settings=settings)
config.include('pyramid_heroku.client_addr')
config.include('pyramid_heroku.herokuapp_access')
return config.make_wsgi_app()

The `pyramid_heroku.herokuapp_access` tween depends on
`pyramid_heroku.client_addr` tween and it requires you to list whitelisted IPs
in the `pyramid_heroku.herokuapp_whitelist` setting.

Usage example for automatic alembic migration script::

$ cat .heroku/release.sh
#!/usr/bin/env bash

set -e

echo "Running migrations"
python -m pyramid_heroku.migrate my_app etc/production.ini app:main

echo "DONE!"

For migration script to work, you need to set the ``MIGRATE_API_SECRET_HEROKU``
env var in Heroku. This allows the migration script to use the Heroku API.

See tests for more examples.

If you use structlog, add the following configuration setting to your INI file to enable structlog-like logging::

pyramid_heroku.structlog = true


Releasing
---------

#. Update CHANGES.rst.
#. Update setup.py version.
#. Run ``bin/longtest``.
#. Run ``python setup.py sdist upload``.

We're hiring!
=============

At Niteo we regularly contribute back to the Open Source community. If you do too, we'd like to invite you to `join our team
<https://niteo.co/careers/>`_!

=======
Changes
=======

0.1.5
-----

* Brown bag release.
[karantan]


0.1.4
-----

* Fix return value in migrate.shell. `subprocess.check_output` changed in
python 3.6 and is now returning byte and not str.
[karantan]

0.1.3
-----

* Provided default values for migrate.py - https://github.com/niteoweb/pyramid_heroku/issues/2
[enkidulan]

0.1.2
-----

* The request.client_addr cannot be set directly, so we need to go around.
[zupo]


0.1.1
-----

* Fix tween paths.
[zupo]


0.1
---

* Initial release.
[dz0ny, zupo]

Metadata

Release files for pyramid_heroku 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyramid_heroku 0.1.5
File Size Uploaded
pyramid_heroku-0.1.5.tar.gz 6.5 kB Details

Release files / pyramid_heroku-0.1.5.tar.gz

Download URL pyramid_heroku-0.1.5.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
65af26d19556e8af59c51fa1e58f4818590388ce8485c9d798c8a30002ff056d
BLAKE2b-256 checksum
How to use checksums
099632fe960b3bf7cf3e2692a447a412fb8f43b8f1eb477c48be9ac8f369e33b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.12

2 release files

0.11

2 release files

0.10

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

1 release file

0.5.0

2 release files

0.4.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3

1 release file

0.2

1 release file

This release

0.1.5 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page