Skip to content

Setup your dev environment

Most of Lime CRM can run and be developed on any platform supporting Python, however running the Desktop Client requires Windows.

Platform specific infrastructure

Windows (on-prem version)

Windows (local docker version)

macOS

  • Install Homebrew
  • Install Docker
  • Install NodeJS 12
  • Install Git
  • Install Python (see below)
  • Install Freetds, a SQL Server driver (brew install freetds)
  • Install OpenSSL

Install Python3.7

We recommend pyenv for installing Python3.7 globally on your machine. This article explains why.

# Install pyenv
brew update
brew install pyenv

# Install python 3.7 as the global python
pyenv install 3.7.8
pyenv global 3.7.8

Warning

In order for pyenv to work, you need to update your shell/terminal profile configuration.

Ubuntu 20.04

Todo

This is left to be documented

Tooling

Once you have the infrastructure in place you need:

Poetry

Poetry is managing your Python dependencies and creates a local environment for you package or solution.

Pipx

pipx installs and runs python applications in isolated environments. Pipx ensures that you don't get any version conflicts when installing lime-project and/or lime-buildtools

Install pipx with the following command:

pip install pipx

Why installing pipx when we have pip?

What pip does is to install all your packages, and their dependencies, in a central place. The way Python works, there is a good chance for a dependency conflict. Pipx does some smart things to avoid this: it creates a venv behind the scenes and installs into that, and then makes the executable available in your path. Pip is a package manager (or mostly an installer) but pipx is an application installer.

You can use pip, but it comes with some potential risks and issues, depending on what ends up in your global python.

lime-project

lime-project creates and manage Lime CRM projects.

Install lime-project with pipx:

pipx install lime-project --index-url https://<user>:<password>@pypi.lime.tech/simple

lime-buildtools

lime-buildtools is responsible for building a Lime project. It will package build any frontend components and create a Python package.

Install lime-buildtools with pipx:

pipx install lime-buildtools --index-url https://<user>:<password>@pypi.lime.tech/simple

Github access

If you're a new employee at Lime who needs access to the Lime organisation on github, please make sure to submit a ticket via the ServiceDesk for it.