84 lines
2.1 KiB
Markdown
84 lines
2.1 KiB
Markdown
# 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.
|
|
|
|
<!-- 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.
|
|
|