Skip to main content

Reusable Django app gateway-defender

Project description

gateway-defender

gateway-defender is a small, reusable Django app that provides authentication helpers (login/logout views), a protected portal view, session timeout handling, and packaged templates/static assets. The PyPI distribution name is gateway-defender; the importable Python package is gateway_defender.


Install

Install from PyPI with pip:

pip install gateway-defender

For local development, install editable from the repository root:

pip install -e /path/to/django-accounts

Quick start

  1. Add to INSTALLED_APPS in your Django settings:
INSTALLED_APPS = [
    # ...
    "gateway_defender",
]
  1. Include the URLs in your project urls.py:
from django.urls import include, path

urlpatterns = [
    path("", include("gateway_defender.urls")),
]
  1. Run migrations:
python manage.py migrate
  1. Routes provided by the app:
  • GET / — login page (uses gateway_defender/gateway.html)
  • GET /portal/ — protected portal page
  • GET /logout/ — logout and redirect to index

API / Files included

Key modules included in the package:

  • gateway_defender.modelsAuthToggle, PassPhrase
  • gateway_defender.viewsGateway (login view) and EndSession (logout view)
  • gateway_defender.urls — URL patterns included above
  • gateway_defender.custom_decoratorprotected_redirect decorator
  • gateway_defender/templates/ — packaged templates (gateway_defender/gateway.html, gateway_defender/logged_out.html)
  • gateway_defender/static/ — CSS and images

Refer to module docstrings and the source for details.


Compatibility

  • Python: 3.10 — 3.13
  • Django: >= 4.2 (tested with Django 5.2)

Development

Run tests and linters in your development environment. For local development:

pip install -r requirements-dev.txt  # if you create one
pytest

When preparing a release:

  1. Update pyproject.toml version and metadata.
  2. Build with python -m build.
  3. Upload with twine upload dist/*.

Contributing

Contributions are welcome. Please open issues or PRs and include tests for new behavior. Keep public APIs stable where possible.


License

MIT — see the LICENSE file included in the repository.


Project & PyPI

PyPI package name: gateway-defender
Python package (import): gateway_defender

Update the repository or PyPI URLs here if you host the project on GitHub or another platform.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gateway_defender-0.1.0.tar.gz (90.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gateway_defender-0.1.0-py3-none-any.whl (99.5 kB view details)

Uploaded Python 3

File details

Details for the file gateway_defender-0.1.0.tar.gz.

File metadata

  • Download URL: gateway_defender-0.1.0.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for gateway_defender-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49428a95428c796dbdb1c92afd9f3e5e2552c0b7ad732b174eae3268cdd08d69
MD5 36817b8e8e816cff56e93af2157c5e05
BLAKE2b-256 0340cc0e324a2f5c1375dc57d9657bdf857a707cd43134d6bc5749d299caa63d

See more details on using hashes here.

File details

Details for the file gateway_defender-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gateway_defender-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a79e8c602db53d1b90188d27c4e7b3298201fb665194bdcc41acba3200453f1
MD5 73dac386392685ee3a23fb0fffb63ca8
BLAKE2b-256 0161a9ba2237681b194772f0d8db61382c410c687fdf29229b8b13fa3750f650

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page