So far it includes:
- asyncio methods for all calls, leveraging aiohttp
- every class and function is fully python typed (test by running
- test coverage for 95% of code, and most of the missing bit is just when you break things
- loading configuration files into nice models using pydantic
- basic password authentication
- pulling RADIUS tokens
TODO: a lot of things.
Setting up a dev environment can be a little complex because of the mono-repo.
- Install poetry:
python -m pip install poetry. This is what we use to manage the packages, and allows you to set up virtual python environments easier.
- Build the base environment. From within the
poetry installThis'll set up a virtual environment and install all the required packages (and development-related ones)
- Start editing!
Most IDEs will be happier if you open the kanidm_rlm_python or pykanidm directories as the base you are working from, rather than the kanidm repository root, so they can auto-load integrations etc.
To build a static copy of the docs, run:
You can also run a local live server by running:
This'll expose a web server at http://localhost:8000.