Skip to content

Config

Required

There's really not much to configure, all pytoil needs you to specify is:

  • What your GitHub username is (username)
  • Your GitHub personal access token (token)

If you don't know how to generate a GitHub token, check out the docs.

Note

If you don't specify token but have GITHUB_TOKEN set as environment variable, pytoil will use that instead 👍

Optional

There are also some optional configurations you can tweak:

Key Definition Default
projects_dir Where you keep your projects $HOME/Development
editor Name of the binary to use when opening projects. $EDITOR
conda_bin The name of the conda binary (conda or mamba) conda
common_packages List of packages you want pytoil to inject in every environment it creates (linters, formatters etc.) None
git Whether you want pytoil to initialise and commit a git repo when it makes a fresh project True

These optional settings don't have to be set if you're happy using the default settings!

Info

Don't worry about giving pytoil your personal token. All we do with it is make HTTP GET and POST requests to the GitHub API using your token to authenticate the requests. This is essential to pytoil's functionality and it lets us:

  • See your repos and get some basic info about them (name, date created etc.)
  • Create forks of other people's projects when requested (e.g. when using checkout)

In fact, the only permissions pytoil needs is repo and user access! 😃

The Config File

After you install pytoil, the first time you run it you'll get something like this.

$ pytoil

No pytoil config file detected!
? Interactively configure pytoil? [y/n]

If you say yes, pytoil will walk you through a few questions and fill out your config file with the values you enter. If you'd rather not do this interactively, just say no and it will instead put a default config file in the right place for you to edit later.

Note

This command will only write a config file if it doesn't find one already. If one already exists, running pytoil config show will show you the settings from that file. Remember, you can always quickly edit your pytoil config file using pytoil config edit 🔥

When you open the config file, it will look something like this:

# ~/.pytoil.toml

[pytoil]
common_packages = []
conda_bin = "conda"
editor = "code-insiders"
git = true
projects_dir = "/Users/tomfleet/Development"
token = "Your github personal access token"
username = "Your github username"

Warning

projects_dir must be the absolute path to where you keep your projects. So you'll need to explicitly state the entire path (as in the example above) starting from the root.

You should now edit the config file to your liking. Your username and token are required for GitHub API access and will cause an error on most pytoil operations so these must be filled out. Everything else is optional 👍

So as an example, your filled out config file might look like this:

# ~/.pytoil.toml

[pytoil]
common_packages = ["black", "mypy", "isort", "flake8"]
conda_bin = "mamba"
editor = "code-insiders"
git = true
projects_dir = "/Users/tomfleet/Development"
token = "ljbsxu9uqwd978" # This isn't real
username = "FollowTheProcess"

Tip

You can also interact with the pytoil config file via pytoil itself using the pytoil config command group.