2.5 KiB
Develop
1. Code Style
We adopt PEP8 as the preferred code style.
We use the following toolsseed isortseed isortseed isort for linting and formatting:
Style configurations of yapf and isort can be found in setup.cfg.
We use pre-commit hook that checks and formats for flake8
, yapf
, seed-isort-config
, isort
, trailing whitespaces
,
fixes end-of-files
, sorts requirments.txt
automatically on every commit.
The config for a pre-commit hook is stored in .pre-commit-config.
After you clone the repository, you will need to install initialize pre-commit hook.
pip install -r requirements/tests.txt
From the repository folder
pre-commit install
After this on every commit check code linters and formatter will be enforced.
If you want to use pre-commit to check all the files, you can run
pre-commit run --all-files
If you only want to format and lint your code, you can run
sh scripts/linter.sh
2. Test
2.1 Unit test
bash scripts/ci_test.sh
2.2 Test data storage
As we need a lot of data for testing, including images, models. We use git lfs to store those large files.
- install git-lfs(version>=2.5.0)
for mac
brew install git-lfs
git lfs install
for centos, please download rpm from git-lfs github release website
wget http://101374-public.oss-cn-hangzhou-zmf.aliyuncs.com/git-lfs-3.2.0-1.el7.x86_64.rpm
sudo rpm -ivh git-lfs-3.2.0-1.el7.x86_64.rpm
git lfs install
for ubuntu
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
- track your data type using git lfs, for example, to track png files
git lfs track "*.png"
- add your test files to
data/test/
folder, you can make directories if you need.
git add data/test/test.png
- commit your test data to remote branch
git commit -m "xxx"
To pull data from remote repo, just as the same way you pull git files.
git pull origin branch_name
3. Build pip package
python setup.py sdist bdist_wheel