2020-09-24 19:59:43 +02:00
2020-09-21 18:16:03 +02:00
2020-09-21 18:16:03 +02:00
2020-08-17 09:31:43 +02:00
2020-09-21 18:16:03 +02:00
2020-09-21 18:16:03 +02:00
2020-09-21 18:16:03 +02:00
2020-09-24 19:59:43 +02:00
2020-09-06 20:58:00 +02:00
2020-09-02 21:27:39 +02:00
2020-09-21 18:16:03 +02:00

.. 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/pyrad3.svg
    :target: https://pypi.python.org/pypi/pyrad3
.. image:: https://img.shields.io/pypi/dm/pyrad3.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:

.. code-block:: 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.

<!-- TODO: is this correct? -->
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.

Description
No description provided
Readme 301 KiB
Languages
Python 98.4%
Nix 1.6%