Skip to content

Commit e59458f

Browse files
committed
Merge branch 'feature/v0.1.6' into develop
2 parents 0dc77ac + 6f4d3e5 commit e59458f

29 files changed

+611
-656
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 116 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ jobs:
77
name: Unix Build
88
strategy:
99
matrix:
10-
# os: [ubuntu-18.04, macOS-10.14]
11-
# python-version: [2.7, 3.6, 3.7]
12-
os: [ubuntu-18.04]
13-
python-version: [3.6]
10+
os: [ubuntu-18.04, macOS-10.14]
11+
python-version: [2.7, 3.6, 3.7]
1412
runs-on: ${{ matrix.os }}
1513
steps:
1614
- uses: actions/checkout@v1
@@ -37,12 +35,16 @@ jobs:
3735
uses: actions/setup-python@v1
3836
with:
3937
python-version: ${{ matrix.python-version }}
40-
# TODO: Update when "colour-science-0.3.13" is released.
4138
- name: Ubuntu - Update OS & Install APT Dependencies
39+
if: matrix.os == 'ubuntu-18.04'
4240
run: |
4341
sudo apt-get update
44-
sudo apt-get --yes install libboost-all-dev libilmbase-dev libopenexr-dev libpng-dev libtiff5-dev
45-
sudo apt-get --yes install libimage-exiftool-perl dcraw
42+
sudo apt-get --yes install dcraw libimage-exiftool-perl
43+
- name: macOS - Install Homebrew Dependencies
44+
if: matrix.os == 'macOS-10.14'
45+
run: |
46+
brew install dcraw exiftool
47+
brew cask install adobe-dng-converter
4648
- name: Ubuntu - Set up Matplotlib Backend
4749
if: matrix.os == 'ubuntu-18.04'
4850
run: |
@@ -59,22 +61,23 @@ jobs:
5961
python get-poetry.py --preview
6062
PATH=$HOME/.poetry/bin:$PATH
6163
echo ::set-env name=PATH::$PATH
62-
- name: Install Package Dependencies
64+
# - "rawpy" raises a "UnicodeEncodeError" exception on Python 2.7 during installation thus skipping the "optional" packages.
65+
# - "pathlib" is missing from "Imageio".
66+
- name: Python 2.7 - Install Package Dependencies
67+
if: matrix.python-version == '2.7'
68+
run: |
69+
poetry install --extras "plotting"
70+
poetry env use $CI_PYTHON_VERSION
71+
source $(poetry env info -p)/bin/activate
72+
pip install pathlib
73+
python -c "import imageio;imageio.plugins.freeimage.download()"
74+
- name: Python 3.x - Install Package Dependencies
75+
if: matrix.python-version != '2.7'
6376
run: |
6477
poetry install --extras "optional plotting"
6578
poetry env use $CI_PYTHON_VERSION
6679
source $(poetry env info -p)/bin/activate
6780
python -c "import imageio;imageio.plugins.freeimage.download()"
68-
# TODO: Remove when "colour-science-0.3.13" is released.
69-
- name: Ubuntu - Install OpenImageIO
70-
if: matrix.os == 'ubuntu-18.04' && matrix.python-version == '3.6'
71-
run: |
72-
curl -L https://github.com/colour-science/artifacts/suites/233020849/artifacts/44967 -o OpenImageIO-Release-2.0.10.zip
73-
unzip OpenImageIO-Release-2.0.10.zip
74-
sudo cp OpenImageIO-Release-2.0.10/linux64/bin/* /usr/bin/
75-
sudo cp -r OpenImageIO-Release-2.0.10/linux64/lib/* /usr/lib/
76-
sudo rm -rf /usr/lib/python3.6
77-
cp OpenImageIO-Release-2.0.10/linux64/lib/python3.6/site-packages/OpenImageIO.so $(poetry env info -p)/lib/python3.6/site-packages/
7881
- name: Lint with flake8
7982
run: |
8083
source $(poetry env info -p)/bin/activate
@@ -93,66 +96,98 @@ jobs:
9396
run: |
9497
if [ "${{ job.status }}" == "Success" ]; then CI_SLACK_NOTIFICATION="$CI_SLACK_SUCCESS_NOTIFICATION"; else CI_SLACK_NOTIFICATION="$CI_SLACK_FAILURE_NOTIFICATION"; fi
9598
if [ -z "$CI_SLACK_WEBHOOK" ]; then echo \"SLACK_WEBHOOK\" secret is undefined!; else curl -k -d "$CI_SLACK_NOTIFICATION" -X POST $CI_SLACK_WEBHOOK; fi
96-
# windows-build:
97-
# name: Windows Build
98-
# strategy:
99-
# matrix:
100-
# os: [windows-2019]
101-
# python-version: [2.7, 3.6, 3.7]
102-
# runs-on: ${{ matrix.os }}
103-
# steps:
104-
# - uses: actions/checkout@v1
105-
# with:
106-
# submodules: true
107-
# - name: Environment Variables
108-
# run: |
109-
# set CI_PYTHON_VERSION=${{ matrix.python-version }}
110-
# set CI_PACKAGE=colour_hdri
111-
# set CI_SHA=${{ github.sha }}
112-
# set CI_SLACK_WEBHOOK=${{ secrets.SLACK_WEBHOOK }}
113-
# set CI_SLACK_SUCCESS_NOTIFICATION="payload={\"attachments\": [{\"color\": \"#4CAF50\", \"author_name\": \"Python ${{ matrix.python-version }} build on ${{ matrix.os }}\", \"text\": \"Build for commit *"%CI_SHA:~0,7%"* succeeded!\", \"title\": \"${{ github.repository }}@${{ github.ref }}\", \"title_link\": \"https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks\", \"footer\": \"Triggered by ${{ github.actor }}\"}], \"username\":\"Github Actions @ ${{ github.repository }}\", \"channel\":\"#continuous-integration\", \"icon_url\":\"https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png\"}"
114-
# set CI_SLACK_FAILURE_NOTIFICATION=%CI_SLACK_SUCCESS_NOTIFICATION:4CAF50=F44336%
115-
# set CI_SLACK_FAILURE_NOTIFICATION=%CI_SLACK_FAILURE_NOTIFICATION:succeeded=failed%
116-
# set COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }}
117-
# echo ::set-env name=CI_PYTHON_VERSION::%CI_PYTHON_VERSION%
118-
# echo ::set-env name=CI_PACKAGE::%CI_PACKAGE%
119-
# echo ::set-env name=CI_SHA::%CI_SHA%
120-
# echo ::set-env name=CI_SLACK_WEBHOOK::%CI_SLACK_WEBHOOK%
121-
# echo ::set-env name=CI_SLACK_SUCCESS_NOTIFICATION::%CI_SLACK_SUCCESS_NOTIFICATION%
122-
# echo ::set-env name=CI_SLACK_FAILURE_NOTIFICATION::%CI_SLACK_FAILURE_NOTIFICATION%
123-
# echo ::set-env name=COVERALLS_REPO_TOKEN::%COVERALLS_REPO_TOKEN%
124-
# - name: Set up Python ${{ matrix.python-version }}
125-
# uses: actions/setup-python@v1
126-
# with:
127-
# python-version: ${{ matrix.python-version }}
128-
# - name: Install Poetry
129-
# run: |
130-
# curl -L https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py -o get-poetry.py
131-
# python get-poetry.py --preview
132-
# set PATH=%USERPROFILE%\.poetry\bin;%PATH%
133-
# echo ::set-env name=PATH::%PATH%
134-
# - name: Install Package Dependencies
135-
# run: |
136-
# call poetry install --extras "optional plotting"
137-
# FOR /F %%a IN ('poetry env info -p') DO SET CI_VIRTUAL_ENVIRONMENT=%%a
138-
# echo ::set-env name=CI_VIRTUAL_ENVIRONMENT::%CI_VIRTUAL_ENVIRONMENT%
139-
# call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
140-
# python -c "import imageio;imageio.plugins.freeimage.download()"
141-
# - name: Lint with flake8
142-
# run: |
143-
# call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
144-
# flake8 %CI_PACKAGE% --count --show-source --statistics
145-
# - name: Test with nosetests
146-
# run: |
147-
# call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
148-
# python -W ignore -m nose --nocapture --with-doctest --doctest-options=+ELLIPSIS --with-coverage --cover-package=%CI_PACKAGE% %CI_PACKAGE%
149-
# - name: Upload Coverage to coveralls.io
150-
# if: matrix.python-version == '3.6' || matrix.python-version == '3.7'
151-
# run: |
152-
# call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
153-
# IF "%COVERALLS_REPO_TOKEN%"=="" (echo "COVERALLS_REPO_TOKEN" secret is undefined!) ELSE (coveralls)
154-
# - name: Notify Slack
155-
# if: always()
156-
# run: |
157-
# IF "${{ job.status }}"=="Success" (set CI_SLACK_NOTIFICATION=%CI_SLACK_SUCCESS_NOTIFICATION%) ELSE (set CI_SLACK_NOTIFICATION=%CI_SLACK_FAILURE_NOTIFICATION%)
158-
# IF "%CI_SLACK_WEBHOOK%"=="" (echo "SLACK_WEBHOOK" secret is undefined!) ELSE (curl -k -d %CI_SLACK_NOTIFICATION% -X POST %CI_SLACK_WEBHOOK%)
99+
windows-build:
100+
name: Windows Build
101+
strategy:
102+
matrix:
103+
os: [windows-2019]
104+
python-version: [2.7, 3.6, 3.7]
105+
runs-on: ${{ matrix.os }}
106+
steps:
107+
- uses: actions/checkout@v1
108+
with:
109+
submodules: true
110+
- name: Environment Variables
111+
run: |
112+
set CI_PYTHON_VERSION=${{ matrix.python-version }}
113+
set CI_PACKAGE=colour_hdri
114+
set CI_SHA=${{ github.sha }}
115+
set CI_SLACK_WEBHOOK=${{ secrets.SLACK_WEBHOOK }}
116+
set CI_SLACK_SUCCESS_NOTIFICATION="payload={\"attachments\": [{\"color\": \"#4CAF50\", \"author_name\": \"Python ${{ matrix.python-version }} build on ${{ matrix.os }}\", \"text\": \"Build for commit *"%CI_SHA:~0,7%"* succeeded!\", \"title\": \"${{ github.repository }}@${{ github.ref }}\", \"title_link\": \"https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks\", \"footer\": \"Triggered by ${{ github.actor }}\"}], \"username\":\"Github Actions @ ${{ github.repository }}\", \"channel\":\"#continuous-integration\", \"icon_url\":\"https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png\"}"
117+
set CI_SLACK_FAILURE_NOTIFICATION=%CI_SLACK_SUCCESS_NOTIFICATION:4CAF50=F44336%
118+
set CI_SLACK_FAILURE_NOTIFICATION=%CI_SLACK_FAILURE_NOTIFICATION:succeeded=failed%
119+
set COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }}
120+
echo ::set-env name=CI_PYTHON_VERSION::%CI_PYTHON_VERSION%
121+
echo ::set-env name=CI_PACKAGE::%CI_PACKAGE%
122+
echo ::set-env name=CI_SHA::%CI_SHA%
123+
echo ::set-env name=CI_SLACK_WEBHOOK::%CI_SLACK_WEBHOOK%
124+
echo ::set-env name=CI_SLACK_SUCCESS_NOTIFICATION::%CI_SLACK_SUCCESS_NOTIFICATION%
125+
echo ::set-env name=CI_SLACK_FAILURE_NOTIFICATION::%CI_SLACK_FAILURE_NOTIFICATION%
126+
echo ::set-env name=COVERALLS_REPO_TOKEN::%COVERALLS_REPO_TOKEN%
127+
shell: cmd
128+
- name: Set up Python ${{ matrix.python-version }}
129+
uses: actions/setup-python@v1
130+
with:
131+
python-version: ${{ matrix.python-version }}
132+
- name: Install Command Line Dependencies
133+
run: |
134+
curl -L https://sourceforge.net/projects/exiftool/files/exiftool-11.73.zip/download -o exiftool-11.73.zip
135+
powershell -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('exiftool-11.73.zip', 'exiftool'); }"
136+
copy %CD%\exiftool\"exiftool(-k).exe" %CD%\exiftool\exiftool.exe
137+
dir %CD%\exiftool\
138+
curl -L https://cdn.fastpictureviewer.com/bin/dcraw.zip?v=201605100 -o dcraw.zip
139+
powershell -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem'; [IO.Compression.ZipFile]::ExtractToDirectory('dcraw.zip', 'dcraw'); }"
140+
curl -L https://download.adobe.com/pub/adobe/dng/win/DNGConverter_11_4.exe -o DNGConverter_11_4.exe
141+
DNGConverter_11_4.exe /S
142+
set PATH=%CD%\exiftool;%CD%\dcraw;"C:\Program Files\Adobe\Adobe DNG Converter";%PATH%
143+
echo ::set-env name=PATH::%PATH%
144+
shell: cmd
145+
- name: Install Poetry
146+
run: |
147+
curl -L https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py -o get-poetry.py
148+
python get-poetry.py --preview
149+
set PATH=%USERPROFILE%\.poetry\bin;%PATH%
150+
echo ::set-env name=PATH::%PATH%
151+
shell: cmd
152+
# - "pathlib" is missing from "Imageio".
153+
- name: Python 2.7 - Install Package Dependencies
154+
if: matrix.python-version == '2.7'
155+
run: |
156+
call poetry install --extras "optional plotting"
157+
FOR /F %%a IN ('poetry env info -p') DO SET CI_VIRTUAL_ENVIRONMENT=%%a
158+
echo ::set-env name=CI_VIRTUAL_ENVIRONMENT::%CI_VIRTUAL_ENVIRONMENT%
159+
call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
160+
pip install pathlib
161+
python -c "import imageio;imageio.plugins.freeimage.download()"
162+
shell: cmd
163+
- name: Python 3.x - Install Package Dependencies
164+
if: matrix.python-version != '2.7'
165+
run: |
166+
call poetry install --extras "optional plotting"
167+
FOR /F %%a IN ('poetry env info -p') DO SET CI_VIRTUAL_ENVIRONMENT=%%a
168+
echo ::set-env name=CI_VIRTUAL_ENVIRONMENT::%CI_VIRTUAL_ENVIRONMENT%
169+
call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
170+
python -c "import imageio;imageio.plugins.freeimage.download()"
171+
shell: cmd
172+
- name: Lint with flake8
173+
run: |
174+
call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
175+
flake8 %CI_PACKAGE% --count --show-source --statistics
176+
shell: cmd
177+
- name: Test with nosetests
178+
run: |
179+
call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
180+
python -W ignore -m nose --nocapture --with-doctest --doctest-options=+ELLIPSIS --with-coverage --cover-package=%CI_PACKAGE% %CI_PACKAGE%
181+
shell: cmd
182+
- name: Upload Coverage to coveralls.io
183+
if: matrix.python-version == '3.6' || matrix.python-version == '3.7'
184+
run: |
185+
call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
186+
IF "%COVERALLS_REPO_TOKEN%"=="" (echo "COVERALLS_REPO_TOKEN" secret is undefined!) ELSE (coveralls)
187+
shell: cmd
188+
- name: Notify Slack
189+
if: always()
190+
run: |
191+
IF "${{ job.status }}"=="Success" (set CI_SLACK_NOTIFICATION=%CI_SLACK_SUCCESS_NOTIFICATION%) ELSE (set CI_SLACK_NOTIFICATION=%CI_SLACK_FAILURE_NOTIFICATION%)
192+
IF "%CI_SLACK_WEBHOOK%"=="" (echo "SLACK_WEBHOOK" secret is undefined!) ELSE (curl -k -d %CI_SLACK_NOTIFICATION% -X POST %CI_SLACK_WEBHOOK%)
193+
shell: cmd

CODE_OF_CONDUCT.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others’ private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
28+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
29+
30+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
31+
32+
## Scope
33+
34+
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
35+
36+
## Enforcement
37+
38+
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting Thomas Mansencal and Michael Mauderer via email at thomas.mansencal@gmail.com and michael@mauderer.me respectively. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
40+
41+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
42+
43+
## Attribution
44+
45+
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html][homepage].
46+
47+
For answers to common questions about this code of conduct, see [https://www.contributor-covenant.org/faq][faq].
48+
49+
50+
[homepage]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
51+
[faq]: https://www.contributor-covenant.org/faq

CONTRIBUTORS.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ About
1212
-----
1313

1414
| **Colour - HDRI** by Colour Developers
15-
| Copyright © 2015-2019 – Colour Developers – `colour-science@googlegroups.com <colour-science@googlegroups.com>`_
15+
| Copyright © 2015-2019 – Colour Developers – `colour-science@googlegroups.com <colour-science@googlegroups.com>`__
1616
| This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause
17-
| `https://github.com/colour-science/colour-hdri <https://github.com/colour-science/colour-hdri>`_
17+
| `https://github.com/colour-science/colour-hdri <https://github.com/colour-science/colour-hdri>`__

0 commit comments

Comments
 (0)