Before you begin, make sure that your Python version is:
- Latest 3.10 for Frappe's version 14.
- First, set up a new bench and substitute a path to the python version to use. These instructions use pyenv for managing environments.
# Version 14
bench init --frappe-branch version-14 {{ bench name }} --python ~/.pyenv/versions/3.10.3/bin/python3
- Create a new site in that bench
cd {{ bench name }}
bench new-site {{ site name }} --force --db-name {{ site name }}
- Download the Cloud Storage application
bench get-app cloud_storage https://github.com/agritheory/cloud_storage.git
- Install the app to your site
bench --site {{site name}} install-app cloud_storage
# Optional: Check that the app installed on your site
bench --site {{ site name }} list-apps
- Set developer mode in
site_config.json
nano sites/{{ site name }}/site_config.json
# Add this line:
"developer_mode": 1,
- Add the site to your computer's hosts file to be able to access it via:
http://{{ site name }}:[8000]
. You'll need to enter your root password to allow your command line application to make edits to this file.
bench --site {{site name}} add-to-hosts
-
Make sure to configure your S3 instance to access your files. You can do this by setting the permissions defined in the configuration guide.
-
Install the libmagic C library. The documentation for the python-magic package (a Cloud Storage dependency) notes that the package is a wrapper around the libmagic C library, which needs to be installed on the system as well.
# Debian/Ubuntu
sudo apt-get install libmagic1
# Windows
pip install python-magic-bin
# OSX Homebrew
brew install libmagic
# OSX macports
port install file
- Once everything is set up, launch your bench.
bench start
- To run
mypy
locally:
source env/bin/activate
mypy ./apps/cloud_storage/cloud_storage --ignore-missing-imports
- To run
pytest
locally
bench setup requirements --dev
pytest