Skip to content
Snippets Groups Projects
Commit b67d65d4 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

Merge branch 'master' into 'master'

Make ready for public release

See merge request !18
parents c50ace78 76789c43
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -2,5 +2,7 @@ include LICENSE
include COPYRIGHT
include README.md
include requirements.txt
recursive-include doc *
recursive-include tests *
include pytest.ini
recursive-include doc *
recursive-exclude doc/html *
recursive-include tests *
......@@ -20,8 +20,7 @@ Documentation
-------------
`fslpy` is documented using [sphinx](http://http://sphinx-doc.org/). You can
build the API documentation by installing `sphinx` and `sphinx-rtd-theme`, and
running:
build the API documentation by running:
python setup.py doc
......@@ -35,8 +34,7 @@ guide](doc/contributing.rst).
Tests
-----
To run the tests, install `mock`, `pytest`, `pytest-runner`, `pytest-html`,
and `pytest-cov`, and then run:
Run the test suite via:
python setup.py test
......
......@@ -32,7 +32,7 @@ which roughly obeys the Semantic Versioning conventions (http://semver.org/):
import string
__version__ = '1.0.0'
__version__ = 'dev'
"""Current version number, as a string. """
......@@ -44,6 +44,9 @@ def parseVersionString(versionString):
An error is raised if the ``versionString`` is invalid.
"""
if versionString == 'dev':
return 9999, 9999, 9999
components = versionString.split('.')
# Major, minor, and point
......
[aliases]
test=pytest
[bdist_wheel]
universal=1
\ No newline at end of file
......@@ -8,11 +8,8 @@
from __future__ import print_function
import os
import os.path as op
import subprocess as sp
import shutil
import pkgutil
import os.path as op
import shutil
from setuptools import setup
from setuptools import find_packages
......@@ -38,6 +35,7 @@ with open(op.join(basedir, "fsl", "version.py")) as f:
if line.startswith('__version__'):
exec(line, version)
break
version = version['__version__']
with open(op.join(basedir, 'README.md'), 'rt') as f:
readme = f.read()
......@@ -62,34 +60,37 @@ class doc(Command):
if op.exists(destdir):
shutil.rmtree(destdir)
env = dict(os.environ)
dirname = pkgutil.get_loader('fsl').get_filename()
dirname = op.dirname(dirname)
dirname = op.abspath(op.join(dirname, '..'))
ppath = [dirname]
print('Building documentation [{}]'.format(destdir))
env['PYTHONPATH'] = op.pathsep.join(ppath)
import sphinx
print('Building documentation [{}]'.format(destdir))
try:
import unittest.mock as mock
except:
import mock
sp.call(['sphinx-build', docdir, destdir], env=env)
mockedModules = [
'nibabel',
'nibabel.fileslice',
'numpy',
'numpy.linalg']
mockobj = mock.MagicMock()
mockedModules = { m : mockobj for m in mockedModules}
setup(
with mock.patch.dict('sys.modules', **mockedModules):
sphinx.main(['sphinx-build', docdir, destdir])
name='fslpy',
version=version['__version__'],
setup(
name='fslpy',
version=version,
description='FSL Python library',
long_description=readme,
url='https://git.fmrib.ox.ac.uk/fsl/fslpy',
author='Paul McCarthy',
author_email='pauldmccarthy@gmail.com',
license='Apache License Version 2.0',
classifiers=[
......@@ -101,10 +102,9 @@ setup(
'Topic :: Software Development :: Libraries :: Python Modules'],
packages=packages,
install_requires=install_requires,
setup_requires=['pytest-runner', 'sphinx', 'sphinx-rtd-theme', 'mock'],
setup_requires=['pytest-runner'],
tests_require=['mock',
'pytest-cov',
'pytest-html',
......@@ -113,11 +113,4 @@ setup(
test_suite='tests',
cmdclass={'doc' : doc},
entry_points={
'console_scripts' : [
'fslpy_imcp = fsl.scripts.imcp:main',
'fslpy_immv = fsl.scripts.immv:main'
]
}
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment