Django HTCPCP-TEA
=================
.. image:: https://travis-ci.com/blueschu/django-htcpcp-tea.svg?branch=master
:target: https://travis-ci.com/blueschu/django-htcpcp-tea
:alt: Travis CI Build
.. image:: https://coveralls.io/repos/github/blueschu/django-htcpcp-tea/badge.svg?branch=master
:target: https://coveralls.io/github/blueschu/django-htcpcp-tea?branch=master
:alt: Coverage
.. image:: https://readthedocs.org/projects/django-htcpcp-tea/badge/?version=latest
:target: https://django-htcpcp-tea.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/django-htcpcp-tea.svg
:target: https://pypi.org/project/django-htcpcp-tea/
:alt: PyPI - django-htcpcp-tea
.. image:: https://img.shields.io/github/license/blueschu/django-htcpcp-tea.svg
:target: ./LICENSE
:alt: License
..
[T]here is a strong, dark, rich requirement for a protocol designed
espressoly for the brewing of coffee.
--- RFC 2324 Section 1
A `Django`_ app that implements the TEA extension to HTCPCP as defined in `RFC 7168`_.
This app extends the Django web framework to simulate the functionality of an HTCPCP server. Both the HTCPCP/1.0 protocol from `RFC 2324`_ and the HTCPCP-TEA protocol from `RFC 7168`_ are supported.
.. _RFC 7168: https://tools.ietf.org/html/rfc7168
.. _Django: https://www.djangoproject.com/
.. _RFC 2324: https://tools.ietf.org/html/rfc2324
Notable features:
- Customizable coffee and teapots
- Support for BREW and WHEN HTTP methods
- Interactive brewing sessions
- HTCPCP response codes (e.g. 418 I'm a teapot)
- User-defined forbidden combinations of beverage additions
Documentation
-------------
Documentation for Django HTCPCP-TEA is available on `Read the Docs`_.
.. _Read the Docs: https://django-htcpcp-tea.readthedocs.io/en/latest/?badge=latest
References
----------
- `[RFC 2324] Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)`_
- `[RFC 7158] The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA)`_
- `[RFC 2295] Transparent Content Negotiation in HTTP`_
- `MDN Web Docs | HTTP response codes`_
.. _[RFC 2324] Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0): https://tools.ietf.org/html/rfc2324
.. _[RFC 7158] The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA): https://tools.ietf.org/html/rfc7168
.. _[RFC 2295] Transparent Content Negotiation in HTTP: https://tools.ietf.org/html/rfc2295
.. _MDN Web Docs | HTTP response codes: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Related Work
------------
- Shane Brunswick's `Save 418 Movement`_.
- Dash Winterson's `HTCPCP Middleware (django-htcpcp)`_
.. _Save 418 Movement: http://save418.com/
.. _HTCPCP Middleware (django-htcpcp): https://github.com/dashdanw/django-htcpcp
License
-------
This software is licensed under the `MIT License`_. For more
information, read the file `LICENSE`_.
.. _MIT License: https://opensource.org/licenses/MIT
.. _LICENSE: ./LICENSE
Changes
=======
For complete record of changes, see the commit log of the `public git repository`_.
.. _public git repository: https://github.com/blueschu/django-htcpcp-tea
v0.8.1
-------
- Patch development ``django-debug-toolbar`` version
v0.8.0
-------
- Migrated build system from ``setuptools`` to ``poetry``.
- Upgraded supported Python versions from 3.4-3.8 to 3.8+.
- Development: use black formatting and isort import ordering.
v0.7.0
------
Released 2019-08-29
- Add initial example usage documentation
- Add setting to override MIME type for HTCPCP responses
- Add PyPI package version badge to README
- Add Python 3.8 dev build to Travis-CI config
- Change PyPI development status classifier to Beta
- Fix server name being overridden for non-HTCPCP requests
- Remove explicit module names from API documentation
- Remove supported Python and Django version badges from README
v0.6.0
------
Released 2019-07-14
- Add units tests for ``middleware`` module
- Add units test for ``admin`` module
- Add check to strictly enforce HTCPCP MIME types
- Add setting to override the rot url view for HTCPCP requests
- Add documentation for overriding HTCPCP templates
- Add changelog to Sphinx documentation
- Add API summary to Sphinx documentation
- Add support for the extension to the ``Safe`` header field from RFC 2324
- Amend minor typo in ``utils`` module docstrings
- Expand unit tests for ``views`` module
- Move ``require_htcpcp`` decorator to the ``decorators`` module
- Update the package installation instructions
v0.5.1
------
Released 2019-07-08
- Fix attribute error when running tests with Django 2.0 / Python 3.4
v0.5.0
------
Released 2019-07-08
- Add unit tests for the ``views`` module
- Add formal support for Python 3.7
- Expand ``utils`` unit tests
- Fix missing ``Alternates`` header due to generator exhaustion
- Fix ``Server`` header override when the WSGI implementation does not populate the ``SERVER_SOFTWARE`` variable
- Fix detection of supported teas in the request URI
- Refactor handling of ``Alternates`` header generation
- Refactor the pots data fixture to include a pot that supports a proper subset of available teas
v0.4.0
------
Released 2019-07-05
- Add setting to override the ``Server`` header for HTCPCP responses
- Add support for user-defined forbidden combinations of additions
- Add additional unit tests for the ``utils`` and ``models`` modules
- Add data fixture for demo forbidden combinations of additions
- Update README description
- Update package metadata
- Update reStructuredText formatting in the configuration docs
- Optimized model listings on the admin site
v0.3.1
------
Released 2019-06-25
- Remove Sphinx build directory from package data
v0.3.0
------
Released 2019-06-24
- Add Sphinx documentation for installation and configuration
- Add unit tests for the models module
- Update links in REAME.rst
- Fix typo in Travis-CI build matrix
- Fix error in ``utils`` module unit tests
v0.2.2
------
Released 2019-06-24
- Fix syntax error in Python 3.4
- Fix dependency errors for Travis-CI build jobs (123e022)
v0.2.1
------
Released 2019-06-24
- Add Travis-CI and Coveralls reporting to README
v0.2.0
------
Released 2019-06-24
- Add informative content to README
- Add data fixture for RFC 2324 additions
- Add data fixture for RFC 7168 additions
- Add data fixture for RFC 7168 teas
- Add data fixture for demo pots
- Add default ``coverage`` configuration
- Add Travis-CI integration
- Add script to run Django tests
- Add ``tests`` package
- Add unit tests for ``utils`` module
- Fix filter override in ``admin.PotsServingMixin``
- Fix duplicate tea types being recorded in admin counts
- Refactor template hierarchy
- Improve context visibility in templates
- Refactor logic for determining a pots addition and milk support
v0.1.2
------
Released 2019-06-23
- Re-release patch version due to packaging mishap
v0.1.1
------
Released 2019-06-23
- Add data files to package manifest
v0.1.0
------
Released 2019-06-21
- Add licence
- Add app class
- Add ``Pot`` model
- Add ``TeaType`` model
- Add ``Addition`` model
- Add initial admin site
- Add ``settings`` module
- Add initial url config
- Add initial HTCPCP middleware
- Add ``require_htcpcp`` decorator
- Add HTCPCP view
- Add initial templates
- Add ``utils`` module
- Add setup script
Raw data
{
"_id": null,
"home_page": "https://github.com/blueschu/django-htcpcp-tea",
"name": "django-htcpcp-tea",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "htcpcp,django,rfc-2324,rfc-7168,coffee,tea",
"author": "Brian Schubert",
"author_email": "brianm.schubert@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8b/38/d4cfea5e185e79f784358ffd6d256c7d0058166ea3ac4a43b4c5fef268ae/django_htcpcp_tea-0.8.1.tar.gz",
"platform": null,
"description": "Django HTCPCP-TEA\n=================\n\n.. image:: https://travis-ci.com/blueschu/django-htcpcp-tea.svg?branch=master\n :target: https://travis-ci.com/blueschu/django-htcpcp-tea\n :alt: Travis CI Build\n\n.. image:: https://coveralls.io/repos/github/blueschu/django-htcpcp-tea/badge.svg?branch=master\n :target: https://coveralls.io/github/blueschu/django-htcpcp-tea?branch=master\n :alt: Coverage\n\n.. image:: https://readthedocs.org/projects/django-htcpcp-tea/badge/?version=latest\n :target: https://django-htcpcp-tea.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/v/django-htcpcp-tea.svg\n :target: https://pypi.org/project/django-htcpcp-tea/\n :alt: PyPI - django-htcpcp-tea\n\n.. image:: https://img.shields.io/github/license/blueschu/django-htcpcp-tea.svg\n :target: ./LICENSE\n :alt: License\n\n..\n\n [T]here is a strong, dark, rich requirement for a protocol designed\n espressoly for the brewing of coffee.\n\n --- RFC 2324 Section 1\n\nA `Django`_ app that implements the TEA extension to HTCPCP as defined in `RFC 7168`_.\n\nThis app extends the Django web framework to simulate the functionality of an HTCPCP server. Both the HTCPCP/1.0 protocol from `RFC 2324`_ and the HTCPCP-TEA protocol from `RFC 7168`_ are supported.\n\n.. _RFC 7168: https://tools.ietf.org/html/rfc7168\n.. _Django: https://www.djangoproject.com/\n.. _RFC 2324: https://tools.ietf.org/html/rfc2324\n\nNotable features:\n\n- Customizable coffee and teapots\n- Support for BREW and WHEN HTTP methods\n- Interactive brewing sessions\n- HTCPCP response codes (e.g. 418 I'm a teapot)\n- User-defined forbidden combinations of beverage additions\n\nDocumentation\n-------------\n\nDocumentation for Django HTCPCP-TEA is available on `Read the Docs`_.\n\n.. _Read the Docs: https://django-htcpcp-tea.readthedocs.io/en/latest/?badge=latest\n\nReferences\n----------\n\n- `[RFC 2324] Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)`_\n- `[RFC 7158] The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA)`_\n- `[RFC 2295] Transparent Content Negotiation in HTTP`_\n- `MDN Web Docs | HTTP response codes`_\n\n.. _[RFC 2324] Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0): https://tools.ietf.org/html/rfc2324\n.. _[RFC 7158] The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA): https://tools.ietf.org/html/rfc7168\n.. _[RFC 2295] Transparent Content Negotiation in HTTP: https://tools.ietf.org/html/rfc2295\n.. _MDN Web Docs | HTTP response codes: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n\nRelated Work\n------------\n\n- Shane Brunswick's `Save 418 Movement`_.\n- Dash Winterson's `HTCPCP Middleware (django-htcpcp)`_\n\n.. _Save 418 Movement: http://save418.com/\n.. _HTCPCP Middleware (django-htcpcp): https://github.com/dashdanw/django-htcpcp\n\nLicense\n-------\n\nThis software is licensed under the `MIT License`_. For more\ninformation, read the file `LICENSE`_.\n\n.. _MIT License: https://opensource.org/licenses/MIT\n.. _LICENSE: ./LICENSE\n\nChanges\n=======\n\nFor complete record of changes, see the commit log of the `public git repository`_.\n\n.. _public git repository: https://github.com/blueschu/django-htcpcp-tea\n\nv0.8.1\n-------\n\n- Patch development ``django-debug-toolbar`` version\n\n\nv0.8.0\n-------\n\n- Migrated build system from ``setuptools`` to ``poetry``.\n- Upgraded supported Python versions from 3.4-3.8 to 3.8+.\n- Development: use black formatting and isort import ordering.\n\nv0.7.0\n------\n\nReleased 2019-08-29\n\n- Add initial example usage documentation\n- Add setting to override MIME type for HTCPCP responses\n- Add PyPI package version badge to README\n- Add Python 3.8 dev build to Travis-CI config\n- Change PyPI development status classifier to Beta\n- Fix server name being overridden for non-HTCPCP requests\n- Remove explicit module names from API documentation\n- Remove supported Python and Django version badges from README\n\nv0.6.0\n------\n\nReleased 2019-07-14\n\n- Add units tests for ``middleware`` module\n- Add units test for ``admin`` module\n- Add check to strictly enforce HTCPCP MIME types\n- Add setting to override the rot url view for HTCPCP requests\n- Add documentation for overriding HTCPCP templates\n- Add changelog to Sphinx documentation\n- Add API summary to Sphinx documentation\n- Add support for the extension to the ``Safe`` header field from RFC 2324\n- Amend minor typo in ``utils`` module docstrings\n- Expand unit tests for ``views`` module\n- Move ``require_htcpcp`` decorator to the ``decorators`` module\n- Update the package installation instructions\n\nv0.5.1\n------\n\nReleased 2019-07-08\n\n- Fix attribute error when running tests with Django 2.0 / Python 3.4\n\nv0.5.0\n------\n\nReleased 2019-07-08\n\n- Add unit tests for the ``views`` module\n- Add formal support for Python 3.7\n- Expand ``utils`` unit tests\n- Fix missing ``Alternates`` header due to generator exhaustion\n- Fix ``Server`` header override when the WSGI implementation does not populate the ``SERVER_SOFTWARE`` variable\n- Fix detection of supported teas in the request URI\n- Refactor handling of ``Alternates`` header generation\n- Refactor the pots data fixture to include a pot that supports a proper subset of available teas\n\nv0.4.0\n------\n\nReleased 2019-07-05\n\n- Add setting to override the ``Server`` header for HTCPCP responses\n- Add support for user-defined forbidden combinations of additions\n- Add additional unit tests for the ``utils`` and ``models`` modules\n- Add data fixture for demo forbidden combinations of additions\n- Update README description\n- Update package metadata\n- Update reStructuredText formatting in the configuration docs\n- Optimized model listings on the admin site\n\nv0.3.1\n------\n\nReleased 2019-06-25\n\n- Remove Sphinx build directory from package data\n\n\nv0.3.0\n------\n\nReleased 2019-06-24\n\n- Add Sphinx documentation for installation and configuration\n- Add unit tests for the models module\n- Update links in REAME.rst\n- Fix typo in Travis-CI build matrix\n- Fix error in ``utils`` module unit tests\n\n\nv0.2.2\n------\n\nReleased 2019-06-24\n\n- Fix syntax error in Python 3.4\n- Fix dependency errors for Travis-CI build jobs (123e022)\n\n\nv0.2.1\n------\n\nReleased 2019-06-24\n\n- Add Travis-CI and Coveralls reporting to README\n\nv0.2.0\n------\n\nReleased 2019-06-24\n\n- Add informative content to README\n- Add data fixture for RFC 2324 additions\n- Add data fixture for RFC 7168 additions\n- Add data fixture for RFC 7168 teas\n- Add data fixture for demo pots\n- Add default ``coverage`` configuration\n- Add Travis-CI integration\n- Add script to run Django tests\n- Add ``tests`` package\n- Add unit tests for ``utils`` module\n- Fix filter override in ``admin.PotsServingMixin``\n- Fix duplicate tea types being recorded in admin counts\n- Refactor template hierarchy\n- Improve context visibility in templates\n- Refactor logic for determining a pots addition and milk support\n\nv0.1.2\n------\n\nReleased 2019-06-23\n\n- Re-release patch version due to packaging mishap\n\nv0.1.1\n------\n\nReleased 2019-06-23\n\n- Add data files to package manifest\n\nv0.1.0\n------\n\nReleased 2019-06-21\n\n- Add licence\n- Add app class\n- Add ``Pot`` model\n- Add ``TeaType`` model\n- Add ``Addition`` model\n- Add initial admin site\n- Add ``settings`` module\n- Add initial url config\n- Add initial HTCPCP middleware\n- Add ``require_htcpcp`` decorator\n- Add HTCPCP view\n- Add initial templates\n- Add ``utils`` module\n- Add setup script\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Django app implementing HTCPCP-TEA as defined in RFC 7168.",
"version": "0.8.1",
"project_urls": {
"Documentation": "https://django-htcpcp-tea.readthedocs.io/en/latest/",
"Homepage": "https://github.com/blueschu/django-htcpcp-tea",
"Repository": "https://github.com/blueschu/django-htcpcp-tea"
},
"split_keywords": [
"htcpcp",
"django",
"rfc-2324",
"rfc-7168",
"coffee",
"tea"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "35d9bb3df35eb0025e97a33980fcb1d308659dab6ed62ca324ed1da0fa7de95c",
"md5": "b4c66f03f6af9636f2d5fe517b8f2f7c",
"sha256": "fa95ccdbc49c62ffa2f555f91b020d4e9d1b6b425b2feda98b89476726913155"
},
"downloads": -1,
"filename": "django_htcpcp_tea-0.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b4c66f03f6af9636f2d5fe517b8f2f7c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 28226,
"upload_time": "2023-07-17T18:11:29",
"upload_time_iso_8601": "2023-07-17T18:11:29.950421Z",
"url": "https://files.pythonhosted.org/packages/35/d9/bb3df35eb0025e97a33980fcb1d308659dab6ed62ca324ed1da0fa7de95c/django_htcpcp_tea-0.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8b38d4cfea5e185e79f784358ffd6d256c7d0058166ea3ac4a43b4c5fef268ae",
"md5": "69a9e81387af8510eb25366c43d1ecd5",
"sha256": "792c051fe9fd43d81945fda0d6999d127b117d66b0a7d7a3d32a0c3fe96ebaf8"
},
"downloads": -1,
"filename": "django_htcpcp_tea-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "69a9e81387af8510eb25366c43d1ecd5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 30719,
"upload_time": "2023-07-17T18:11:31",
"upload_time_iso_8601": "2023-07-17T18:11:31.961885Z",
"url": "https://files.pythonhosted.org/packages/8b/38/d4cfea5e185e79f784358ffd6d256c7d0058166ea3ac4a43b4c5fef268ae/django_htcpcp_tea-0.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-17 18:11:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "blueschu",
"github_project": "django-htcpcp-tea",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "django-htcpcp-tea"
}