.. image:: https://travis.ci.org/pyradius/pyrad3.svg?branch=master :target: https://travis-ci.org/pyradius/pyrad3 .. image:: https://coveralls.io/repos/github/pyradius/pyrad3/badge.svg?branch=master :target: https://coveralls.io/github/pyradius/pyrad3?branch=master .. image:: https://img.shields.io/pypi/v/pyrad3.svg :target: https://pypi.python.org/pypi/pyrad3 .. image:: https://img.shields.io/pypi/pyversions/pyrad.svg :target: https://pypi.python.org/pypi/pyrad3 .. image:: https://img.shields.io/pypi/dm/pyrad.svg :target: https://pypi.python.org/pypi/pyrad3 Introduction ============ pyrad3 is an implementation of a RADIUS client/server as described in RFC2865. It takes care of all the details like building RADIUS packets, sending them and decoding responses. This is the successor of pyrad. It is written in python3 only (python3.7+) and has an improved API. Requirements & Installation =========================== pyrad requires Python 3.7 or later. Currently no external dependencies are needed to use pyrad3:: cli # Install from pypi pip install pyrad3 # Install from the repository git clone https://github.com/pyradius/pyrad3 pip install . # Installing with poetry git clone https://github.com/pyradius/pyrad3 poetry install --no-dev # for usage; without optional dev dependencies poetry install # for development Development =========== pyrad3 usese quite a lot of linters and development tools: - coveralls - black - poetry - pytest - pytest-black - pytest-cov - pytest-flake8 - pytest-isort - pytest-mypy - pytest-pylint - tox - sphinx This project uses poetry as it packaging and dependency management tool. The configuration is done via `pyproject.toml`. To install this package with `pip install`, a pip version greater than `19.0` is required. When poetry is installed, the development dependencies can be installed with `poetry install --no-root`. Omitting the `--no-root` parameter will additionally install pyrad3 itself. with nix -------- Generating the documentation ---------------------------- Sphinx is used for the documentation. It can be either run directly with ` ` or with `make` (requires `gnumake` to be installed.) TODO: no documentation yet. Running tests locally --------------------- pyrad3 comes with a tox configuration (check the `[tool.tox]` section in ./pyproject.) Tox will set up test environments for all supported python versions and run them automatically. It is necessary that the python versions are installed otherwise tox will fail. To execute a test with a single python version run `tox -e $version`, e.g. `tox -e py38`. License ======= pyrad3 is distributed under the terms of both the MIT License and the Apache License (Version 2.0). See `LICENSE-APACHE ./LICENSE-APACHE` and `LICENSE-MIT ./LICENSE-MIT` for details.