{ config, pkgs, ... }:
{
  home.sessionVariables.PYTHONSTARTUP = "${config.xdg.configHome}/python/pythonrc";
  home.packages = with pkgs; [
    uv
    rye
    ruff
  ];
  xdg.configFile."python/pythonrc".text = ''
    #!/usr/bin/env python3
    # This entire thing is unnecessary post v3.13.0a3
    # https://github.com/python/cpython/issues/73965

    def is_vanilla() -> bool:
        """ :return: whether running "vanilla" Python """
        import sys
        return not hasattr(__builtins__, '__IPYTHON__') and 'bpython' not in sys.argv[0]


    def setup_history():
        """ read and write history from state file """
        import os
        import atexit
        import readline
        from pathlib import Path

        # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
        if state_home := os.environ.get('XDG_STATE_HOME'):
                state_home = Path(state_home)
        else:
            state_home = Path.home() / '.local' / 'state'
        if not state_home.is_dir():
            print("Error: XDG_SATE_HOME does not exist at", state_home)

        history: Path = state_home / 'python_history'

        # https://github.com/python/cpython/issues/105694
        if not history.is_file():
            with open(history,"w") as f:
                f.write("_HiStOrY_V2_" + "\
    \
    ") # breaks on macos + python3 without this.

        readline.read_history_file(history)
        atexit.register(readline.write_history_file, history)


    if is_vanilla():
        setup_history()
  '';
}