1. Automated dependency installation

Installing all the dependencies

 make deps

Troubleshooting

Issue: python: command not found

On some systems, the make deps command may fail with an error stating that the python command is not found. This happens because some systems only provide python3 and do not include a python symlink.

macOS Fix:

If you’re on macOS, create a symbolic link for python pointing to python3:

sudo ln -s $(which python3) /usr/local/bin/python

Linux Fix:

sudo ln -s $(which python3) /usr/bin/python

Windows Fix:

On Windows, ensure Python is installed and added to your PATH. You can check by running:

python --version

If python is not recognized, use the python3 command instead, or create an alias in PowerShell:

Set-Alias -Name python -Value python3

After applying the appropriate fix, retry:

make deps

2. Build

To build and rebuild after changes to Rust files.

Make sure you have the Rust compiler installed. This package requires Rust and Cargo to compile extensions.

Install the crate as module in the current virtualenv

make install

3. Test

Tach internally uses pytest module for testing all the files within python/tests/

make test

4. Setting up the docs

Tach internally uses mintlify platform to create and maintain public facing documentation

Note: contributors would need to install Node and npm

make docs

5. Things to check before committing

Check and sync your dependencies in the root folder

tach check
tach sync

Type checking

make type-check

Run linting checks for Rust and Python code

make lint

Format Rust and Python code

make fmt

That’s it! You are now ready to push your new dev branch to your forked repo and then raise a PR with appropriate description

Find Beginner Friendly issues here:

For any questions, just drop a message in Discord