Skip to content

Commit 7c88006

Browse files
chore: setting up for PyPI distribution
1 parent c5f74dc commit 7c88006

File tree

7 files changed

+128
-4
lines changed

7 files changed

+128
-4
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,5 @@ ENV/
135135
.mypy_cache/
136136
.pytest_cache
137137

138-
test.py
138+
test.py
139+
test

AUTHORS

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
William Silversmith <[email protected]>

ChangeLog

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
CHANGES
2+
=======
3+
4+
1.0.0
5+
-----
6+
7+
* chore: setting up for PyPI distribution
8+
* test: fill out cpp test code with an example
9+
* docs: update timestamp
10+
* fix: euclidean\_distance\_field could be succeptible to non-boolean fields
11+
* perf: faster dijkstra3d
12+
* perf: faster euclidean distance field
13+
* perf: 10% faster
14+
* perf: bug in distance\_field3d was hurting performance a lot
15+
* fix: rows/cols swapped in path\_from\_parents
16+
* docs: updated module help
17+
* perf: added parental\_field and path\_from\_parents
18+
* docs: added anisotropy to euclidean\_distance\_field help
19+
* feat: euclidean distance field
20+
* feat: supported uints more fully for dijkstra
21+
* doc: why does fortran order work? idk
22+
* fix: simplified distance\_field
23+
* fix: reconciled various transpositions
24+
* test: added more complex test to dijkstra
25+
* fix: algorithm was not properly checking visited
26+
* fix: handle fortran order (by converting to C order..)
27+
* docs: elaborated on where different contributions to memory usage come from
28+
* docs: added benchmark
29+
* feat: added support for uints and bools
30+
* docs: added reference to Dijkstra paper
31+
* docs: how to use distance\_field, performance info
32+
* docs: added travis badge
33+
* test: added 3d tests
34+
* test: added automated tests
35+
* fix: pyx handle Fortran ordered arrays in distance\_field
36+
* fix: memory leak in distance field calculation
37+
* fix: accomodate 2d and 3d inputs to dijkstra
38+
* fix: row col depth assignment in distance\_field
39+
* fix: corrected neighbor calculation and signed bit is actually needed
40+
* feat: added prototype of distance\_field function
41+
* docs: show how to use
42+
* fix: made point cloud output sensible for 2D
43+
* refactor: broke dijkstra function into components for neatness
44+
* feat: running python code
45+
* feat: Cython bindings for dijkstra3d
46+
* feat: added dijkstra namespace, 2d and 3d functions
47+
* refactor: make x,y,z translation more explicit
48+
* perf: mostly eliminated compute\_neighborhood as a CPU suck
49+
* perf: shaved another 10sec off the 512^3
50+
* fix: removed pairing\_heap.hpp include
51+
* perf: switched to std::priority\_queue, 20% speedup
52+
* feat: moving to 26-hood
53+
* feat: moved to 18-hood from 6-hood
54+
* refactor: allocate heap instance on stack (not the full tree)
55+
* refactor: allocate neighborhood on the stack
56+
* fix: y coordinate computed incorrectly
57+
* feat: now returns st path as a vector of array indicies
58+
* perf: break out of the loop early, saves huge computation
59+
* perf: a more dangerous, but highly performant improvement to running time
60+
* perf: faster delmin through reserving vector size
61+
* fix: dijkstra working but kinda slow, but very low memory
62+
* fix: compilation warnings
63+
* fix: improper deletion of heap
64+
* fix: segmentation fault from accessing dist after free
65+
* wip: moving towards a heap based dijkstra
66+
* chore: add -std=c++11 to test compilation
67+
* perf: why use two operations when you can have one
68+
* fix: don't segfault when printing with no root
69+
* perf: ensure compiler can optimize forest.size()
70+
* fix: propogated "last" fix for odd sizes
71+
* fix: pairing heap now sorts numbers
72+
* docs: fixed formatting in a comment
73+
* test: added heap sort test
74+
* fix: construct PHNode correctly
75+
* fix: syntax errors in pairing\_heap.hpp
76+
* feat: untested pairing heap implementation
77+
* docs: added paper references
78+
* feat: a classic algorithm, O(V^2)
79+
* Initial commit

Dockerfile

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
FROM quay.io/pypa/manylinux1_x86_64
2+
MAINTAINER William Silversmith
3+
4+
ADD . /dijkstra3d
5+
6+
WORKDIR "/dijkstra3d"
7+
8+
ENV CC "g++"
9+
10+
RUN rm -rf *.so build __pycache__ dist
11+
12+
RUN /opt/python/cp27-cp27m/bin/pip2.7 install pip --upgrade
13+
RUN /opt/python/cp34-cp34m/bin/pip3.4 install pip --upgrade
14+
RUN /opt/python/cp35-cp35m/bin/pip3.5 install pip --upgrade
15+
RUN /opt/python/cp36-cp36m/bin/pip3.6 install pip --upgrade
16+
RUN /opt/python/cp37-cp37m/bin/pip3.7 install pip --upgrade
17+
18+
RUN /opt/python/cp27-cp27m/bin/pip2.7 install numpy pytest
19+
RUN /opt/python/cp34-cp34m/bin/pip3.4 install numpy pytest
20+
RUN /opt/python/cp35-cp35m/bin/pip3.5 install numpy pytest
21+
RUN /opt/python/cp36-cp36m/bin/pip3.6 install numpy pytest
22+
RUN /opt/python/cp37-cp37m/bin/pip3.7 install numpy pytest
23+
24+
RUN /opt/python/cp27-cp27m/bin/python2.7 setup.py develop
25+
RUN /opt/python/cp34-cp34m/bin/python3.4 setup.py develop
26+
RUN /opt/python/cp35-cp35m/bin/python3.5 setup.py develop
27+
RUN /opt/python/cp36-cp36m/bin/python3.6 setup.py develop
28+
RUN /opt/python/cp37-cp37m/bin/python3.7 setup.py develop
29+
30+
RUN /opt/python/cp27-cp27m/bin/python2.7 -m pytest -v -x automated_test.py
31+
RUN /opt/python/cp34-cp34m/bin/python3.4 -m pytest -v -x automated_test.py
32+
RUN /opt/python/cp35-cp35m/bin/python3.5 -m pytest -v -x automated_test.py
33+
RUN /opt/python/cp36-cp36m/bin/python3.6 -m pytest -v -x automated_test.py
34+
RUN /opt/python/cp37-cp37m/bin/python3.7 -m pytest -v -x automated_test.py
35+
36+
RUN /opt/python/cp27-cp27m/bin/python2.7 setup.py sdist bdist_wheel
37+
RUN /opt/python/cp34-cp34m/bin/python3.4 setup.py sdist bdist_wheel
38+
RUN /opt/python/cp35-cp35m/bin/python3.5 setup.py sdist bdist_wheel
39+
RUN /opt/python/cp36-cp36m/bin/python3.6 setup.py sdist bdist_wheel
40+
RUN /opt/python/cp37-cp37m/bin/python3.7 setup.py sdist bdist_wheel
41+
42+
RUN for whl in `ls dist/*.whl`; do auditwheel repair $whl; done

MANIFEST.in

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
include dijkstra3d.hpp
2+
include LICENSE

setup.cfg

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ description-file =
77
author = William Silversmith
88
author-email = [email protected]
99
home-page = https://github.com/seung-lab/dijkstra3d/
10-
license=None
10+
license=LICENSE
1111
classifier =
1212
Intended Audience :: Developers
1313
Development Status :: 4 - Beta
14+
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
1415
Programming Language :: Python :: 2
1516
Programming Language :: Python :: 2.7
1617
Programming Language :: Python :: 3

setup.py

-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import os
22
import setuptools
33

4-
join = os.path.join
5-
64
# NOTE: If dijkstra.cpp does not exist:
75
# cython -3 --fast-fail -v --cplus dijkstra.pyx
86

0 commit comments

Comments
 (0)