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)¶
- Install Python3.7
- Install Git
- Install NodeJS 12
- Install the Lime CRM server according to instructions
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.