Skip to content

Commit b978d95

Browse files
author
Ritvik Vasan
committed
Initial commit
0 parents  commit b978d95

31 files changed

Lines changed: 1533 additions & 0 deletions

.editorconfig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
indent_style = space
7+
indent_size = 4
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
charset = utf-8
11+
end_of_line = lf
12+
13+
[*.bat]
14+
indent_style = tab
15+
end_of_line = crlf
16+
17+
[LICENSE]
18+
insert_final_newline = false
19+
20+
[Makefile]
21+
indent_style = tab
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Bug Report
3+
about: '"Something''s wrong..."'
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
## Description
11+
*A clear description of the bug*
12+
13+
14+
15+
16+
## Expected Behavior
17+
*What did you expect to happen instead?*
18+
19+
20+
21+
22+
## Reproduction
23+
*A minimal example that exhibits the behavior.*
24+
25+
26+
27+
28+
## Environment
29+
*Any additional information about your environment*
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature Request
3+
about: '"It would be really cool if x did y..."'
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
## Use Case
11+
*Please provide a use case to help us understand your request in context*
12+
13+
14+
15+
16+
## Solution
17+
*Please describe your ideal solution*
18+
19+
20+
21+
22+
## Alternatives
23+
*Please describe any alternatives you've considered, even if you've dismissed them*

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
**Pull request recommendations:**
2+
- [ ] Name your pull request _your-development-type/short-description_. Ex: _feature/read-tiff-files_
3+
- [ ] Link to any relevant issue in the PR description. Ex: _Resolves [gh-12], adds tiff file format support_
4+
- [ ] Provide context of changes.
5+
- [ ] Provide relevant tests for your feature or bug fix.
6+
- [ ] Provide or update documentation for any feature added by your pull request.
7+
8+
Thanks for contributing!

.github/workflows/build-docs.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
docs:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v2.3.1
13+
with:
14+
persist-credentials: false
15+
- name: Set up Python
16+
uses: actions/setup-python@v1
17+
with:
18+
python-version: 3.9
19+
- name: Install Dependencies
20+
run: |
21+
pip install --upgrade pip
22+
pip install .[dev]
23+
- name: Generate Docs
24+
run: |
25+
make gen-docs
26+
touch docs/_build/html/.nojekyll
27+
- name: Publish Docs
28+
uses: JamesIves/github-pages-deploy-action@3.7.1
29+
with:
30+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
BASE_BRANCH: main # The branch the action should deploy from.
32+
BRANCH: gh-pages # The branch the action should deploy to.
33+
FOLDER: docs/_build/html/ # The folder the action should deploy.
34+

.github/workflows/build-main.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Build Main
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
schedule:
8+
# <minute [0,59]> <hour [0,23]> <day of the month [1,31]> <month of the year [1,12]> <day of the week [0,6]>
9+
# https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07
10+
# Run every Monday at 18:00:00 UTC (Monday at 10:00:00 PST)
11+
- cron: '0 18 * * 1'
12+
13+
jobs:
14+
test:
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
matrix:
18+
python-version: [3.7, 3.8, 3.9]
19+
os: [ubuntu-latest, windows-latest, macOS-latest]
20+
21+
steps:
22+
- uses: actions/checkout@v1
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v1
25+
with:
26+
python-version: ${{ matrix.python-version }}
27+
- name: Install Dependencies
28+
run: |
29+
python -m pip install --upgrade pip
30+
pip install .[test]
31+
- name: Test with pytest
32+
run: |
33+
pytest --cov-report xml --cov=pointcloudutils pointcloudutils/tests/
34+
- name: Upload codecov
35+
uses: codecov/codecov-action@v1
36+
37+
lint:
38+
runs-on: ubuntu-latest
39+
40+
steps:
41+
- uses: actions/checkout@v1
42+
- name: Set up Python
43+
uses: actions/setup-python@v1
44+
with:
45+
python-version: 3.9
46+
- name: Install Dependencies
47+
run: |
48+
python -m pip install --upgrade pip
49+
pip install .[test]
50+
- name: Lint with flake8
51+
run: |
52+
flake8 pointcloudutils --count --verbose --show-source --statistics
53+
- name: Check with black
54+
run: |
55+
black --check pointcloudutils
56+
57+
publish:
58+
if: "contains(github.event.head_commit.message, 'Bump version')"
59+
needs: [test, lint]
60+
runs-on: ubuntu-latest
61+
62+
steps:
63+
- uses: actions/checkout@v1
64+
- name: Set up Python
65+
uses: actions/setup-python@v1
66+
with:
67+
python-version: 3.9
68+
- name: Install Dependencies
69+
run: |
70+
python -m pip install --upgrade pip
71+
pip install setuptools wheel
72+
- name: Build Package
73+
run: |
74+
python setup.py sdist bdist_wheel
75+
- name: Publish to PyPI
76+
uses: pypa/gh-action-pypi-publish@master
77+
with:
78+
user: AllenCellModeling
79+
password: ${{ secrets.PYPI_TOKEN }}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Test and Lint
2+
3+
on: pull_request
4+
5+
jobs:
6+
test:
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
matrix:
10+
python-version: [3.7, 3.8, 3.9]
11+
os: [ubuntu-latest, windows-latest, macOS-latest]
12+
13+
steps:
14+
- uses: actions/checkout@v1
15+
- name: Set up Python ${{ matrix.python-version }}
16+
uses: actions/setup-python@v1
17+
with:
18+
python-version: ${{ matrix.python-version }}
19+
- name: Install Dependencies
20+
run: |
21+
python -m pip install --upgrade pip
22+
pip install .[test]
23+
- name: Test with pytest
24+
run: |
25+
pytest pointcloudutils/tests/
26+
- name: Upload codecov
27+
uses: codecov/codecov-action@v1
28+
29+
lint:
30+
runs-on: ubuntu-latest
31+
32+
steps:
33+
- uses: actions/checkout@v1
34+
- name: Set up Python
35+
uses: actions/setup-python@v1
36+
with:
37+
python-version: 3.9
38+
- name: Install Dependencies
39+
run: |
40+
python -m pip install --upgrade pip
41+
pip install .[test]
42+
- name: Lint with flake8
43+
run: |
44+
flake8 pointcloudutils --count --verbose --show-source --statistics
45+
- name: Check with black
46+
run: |
47+
black --check pointcloudutils

.gitignore

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
env/
12+
build/
13+
develop-eggs/
14+
dist/
15+
downloads/
16+
eggs/
17+
.eggs/
18+
lib/
19+
lib64/
20+
parts/
21+
sdist/
22+
var/
23+
wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
28+
# OS generated files
29+
.DS_Store
30+
31+
# PyInstaller
32+
# Usually these files are written by a python script from a template
33+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
34+
*.manifest
35+
*.spec
36+
37+
# Installer logs
38+
pip-log.txt
39+
pip-delete-this-directory.txt
40+
41+
# Unit test / coverage reports
42+
htmlcov/
43+
.tox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
.hypothesis/
51+
.pytest_cache/
52+
53+
# Translations
54+
*.mo
55+
*.pot
56+
57+
# Django stuff:
58+
*.log
59+
local_settings.py
60+
61+
# Flask stuff:
62+
instance/
63+
.webassets-cache
64+
65+
# Scrapy stuff:
66+
.scrapy
67+
68+
# Sphinx documentation
69+
docs/_build/
70+
docs/pointcloudutils.*rst
71+
72+
# PyBuilder
73+
target/
74+
75+
# Jupyter Notebook
76+
.ipynb_checkpoints
77+
78+
# pyenv
79+
.python-version
80+
81+
# celery beat schedule file
82+
celerybeat-schedule
83+
84+
# Dask
85+
dask-worker-space
86+
87+
# SageMath parsed files
88+
*.sage.py
89+
90+
# dotenv
91+
.env
92+
93+
# virtualenv
94+
.venv
95+
venv/
96+
ENV/
97+
98+
# Spyder project settings
99+
.spyderproject
100+
.spyproject
101+
102+
# Rope project settings
103+
.ropeproject
104+
105+
# mkdocs documentation
106+
/site
107+
108+
# mypy
109+
.mypy_cache/
110+
111+
# VSCode
112+
.vscode

0 commit comments

Comments
 (0)