-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added debian directory for building debian package #80
base: trunk
Are you sure you want to change the base?
Changes from all commits
9e5d5dd
eed3d38
da7565c
d175baa
66f5443
e9aa365
ff2b6d8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
tvb-library for Debian | ||
|
||
THE VIRTUAL BRAIN SCIENTIFIC LIBRARY | ||
==================================== | ||
|
||
The Virtual Brain Project (TVB Project) has the purpose of offering some | ||
modern tools to the Neurosciences community, for computing, simulating | ||
and analyzing functional and structural data of human brains. | ||
|
||
"TVB Scientific Library" is the most important scientific contribution | ||
of TVB Project, but only a part of our code. In order to use this TVB | ||
Python Library (modify/run/test), you are advised to follow the steps | ||
described here: | ||
http://docs.thevirtualbrain.com/manuals/ContributorsManual/ContributorsManual.html#contributors-manual | ||
|
||
The interaction with TVB source code is recommended for advanced users | ||
only, for which the concepts proposed by TVB are known and understood, | ||
and which also have some programming knowledge. | ||
|
||
"TVB Scientific Library" comes in two major forms for code-contributors: | ||
as a light-weight Python library, or plugged into TVB framework | ||
(including Web interface and Persistence of data layers). Depending on | ||
your needs and resources, you could use any of the two available options | ||
for contributing and testing new code. | ||
|
||
"TVB Scientific Library" is a light-weight, stand-alone Python library | ||
that contains all the needed packages in order to run simulations and | ||
analysis on data without the need for the entire TVB Framework. This | ||
implies that no storage will be provided so data from each session will | ||
be lost on close. You need to either persist it yourself in some manner | ||
or use the full TVBFramework where HDF5 / database storage is provided | ||
as default. | ||
|
||
For more details, check: http://www.thevirtualbrain.org/ | ||
|
||
"TVB Scientific Library" contains the following packages: basic, | ||
datatypes, simulator and analyzers. The dependencies between these | ||
packages can be seen in tvb-package-diagram.jpg . Following is a short | ||
description of each of these packages: | ||
|
||
- tvb.basic | ||
|
||
This package is the base of TVB and holds sub-packages that are used by | ||
most of the other packages like logging, global settings and the TVB | ||
traits package. You should rarely (if at all) need to change code in | ||
this package, and should know exactly what you are doing before | ||
attempting to change anything from here. | ||
|
||
- tvb.datatypes | ||
|
||
The simulator and analyzers packages (as well as uploaders and | ||
visualizers in TVB Framework) will need to have a common "language" in | ||
order to work with the same data. In TVB architecture, that "common | ||
language" is represented by Data Types. TVB Data Types declarations are | ||
located in this package. | ||
|
||
Most of the datatypes here have a diamond like inheritance structure of | ||
the following form: | ||
|
||
:: | ||
|
||
DataTypeData | ||
| | ||
/ \\ | ||
DataTypeFramework DataTypeScientific | ||
\ / | ||
| | ||
DataType | ||
|
||
|
||
The DataTypeData holds the actual structure of the datatype. | ||
DataTypeScientific holds any methods required from a scientific point of | ||
view. DataTypeFramework should just be ignored from a library user point | ||
of view as it holds framework related methods and will be removed | ||
altogether in the near future. DataType just brings all the above | ||
together and is the class you should actually use in your code. | ||
|
||
- tvb.simulator | ||
|
||
The Simulation Component is the most important component in The Virtual | ||
Brain solution, as it is the component responsible for all the | ||
scientific computation related to brain models and data. | ||
|
||
You can find various demos of using the simulator under | ||
tvb/simulator/demos as well as some nice tutorials under | ||
tvb/simulator/doc/tutorials/ . | ||
|
||
- tvb.analyzers | ||
|
||
Holds modules that can run various analysis of data resulted from the | ||
simulator. There are a few demos which use the PCA analyzer like | ||
tvb/simulator/demos/pca\_analyse\_view\_region and | ||
tvb/simulator/demos/pca\_analyse\_view\_surface . TVB is not strong in | ||
doing data analysis, we barely have a minimum set of analyzers for | ||
immediate needs. | ||
|
||
NOTE: | ||
|
||
To contribute to this repo, you are advised to first fork it under | ||
GitHub (through the web ui), and next clone that fork on your machine, | ||
and use it as you use any other git repository. | ||
|
||
Testing | ||
======= | ||
|
||
For testing the package, the `Pytest <https://docs.pytest.org/>`_ | ||
framework is used. Pytest can be installed using pip. | ||
|
||
Pytest will run all files in the current directory and its subdirectories | ||
of the form test_*.py or \*_test.py. | ||
More generally, it follows `standard test discovery rules | ||
<https://docs.pytest.org/en/latest/getting-started.html>`_ | ||
|
||
The command for running our tests has two forms. | ||
Recommendation when working with a git clone of tvb-library:: | ||
|
||
cd [folder_where_tvb_library_is] | ||
pytest tvb/test [--junitxml=path] | ||
|
||
The second alternative form of running TVB tests, when installing TVB from Pypi, is:: | ||
|
||
pip install -U tvb-library | ||
pytest --pyargs tvb.tests.library | ||
|
||
|
||
Coverage | ||
-------- | ||
|
||
A coverage report can be generated with:: | ||
|
||
pip install pytest-cov | ||
cd [folder_where_tvb_library_is] | ||
py.test --cov-config .coveragerc --cov=tvb tvb/tests/ --cov-branch --cov-report xml:[file_where_xml_will_be_generated] | ||
|
||
|
||
Further Resources | ||
================= | ||
|
||
- For issue tracking we are using Jira: http://req.thevirtualbrain.org | ||
- For API documentation and live demos, have a look here: | ||
http://docs.thevirtualbrain.org | ||
- A public mailing list for users of The Virtual Brain can be joined | ||
and followed using: tvb-users@googlegroups.com | ||
- Raw demo IPython Notebooks can be found under: | ||
https://github.com/the-virtual-brain/tvb-documentation/tree/master/demos |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
tvb-library (1.5.5.1-1) unstable; urgency=medium | ||
|
||
* Initial release. Closes: #901866 | ||
|
||
-- umar haruna abdullahi <umarbrowser20@gmail.com> Sun, 01 Jul 2018 10:25:24 +0100 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
11 |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,31 @@ | ||||||
Source: tvb-library | ||||||
Maintainer: the virtual brain <tvb.debian@codemart.ro> | ||||||
Uploaders: umar haruna abdullahi <umarbrowser20@gmail.com> | ||||||
Section: python | ||||||
Priority: optional | ||||||
Build-Depends: debhelper (>=11), | ||||||
dh-python, | ||||||
python-all, | ||||||
python-setuptools, | ||||||
python-networkx, | ||||||
python-numpy, | ||||||
python-numba, | ||||||
python-numexpr, | ||||||
python-matplotlib, | ||||||
python-sklearn, | ||||||
python-scipy, | ||||||
tvb-gdist, | ||||||
tvb-data | ||||||
Standards-Version: 4.1.4 | ||||||
Vcs-Browser: https://github.com/the-virtual-brain/tvb-library | ||||||
Vcs-Git: https://github.com/the-virtual-brain/tvb-library.git | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. if you keep packaging in a dedicated debian branch (which would merge releases from master branch, as recommended by @yarikoptic), then add here the option to git |
||||||
Homepage: http://www.thevirtualbrain.org | ||||||
|
||||||
Package: tvb-library | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TODO -- check how to properly name this, might want to become |
||||||
Architecture: all | ||||||
Depends: ${misc:Depends}, | ||||||
${python:Depends} | ||||||
Description: most important scientific contribution of TVB Project | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
This package is the base of TVB and holds sub-packages that are used by | ||||||
most of the other packages like logging, global settings and the TVB | ||||||
traits package. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||
Upstream-Name: tvb-library | ||
Upstream-Contact: TVB TEAM <tvb.admin@thevirtualbrain.org> | ||
Source: https://github.com/the-virtual-brain/tvb-library | ||
|
||
Files: * | ||
Copyright: 2012-2017 Baycrest Centre for Geriatric Care ("Baycrest") and others | ||
License: GPL-3.0+ | ||
|
||
Files: debian/* | ||
Copyright: 2018 Baycrest Centre for Geriatric Care ("Baycrest") and others | ||
License: GPL-3.0+ | ||
|
||
License: GPL-3.0+ | ||
This program is free software: you can redistribute it and/or modify it under the | ||
terms of the GNU General Public License as published by the Free Software Foundation, | ||
either version 3 of the License, or (at your option) any later version. | ||
This program is distributed in the hope that it will be useful, but WITHOUT ANY | ||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
PARTICULAR PURPOSE. See the GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License along with this | ||
program. If not, see <http://www.gnu.org/licenses/>. | ||
. | ||
When using The Virtual Brain for scientific publications, please cite it as follows: | ||
Paula Sanz Leon, Stuart A. Knock, M. Marmaduke Woodman, Lia Domide, | ||
Jochen Mersmann, Anthony R. McIntosh, Viktor Jirsa (2013) | ||
The Virtual Brain: a simulator of primate brain network dynamics. | ||
Frontiers in Neuroinformatics (7:10. doi: 10.3389/fninf.2013.00010) | ||
. | ||
On Debian systems, the complete text of the GNU General Public License | ||
Version 3 can be found in `/usr/share/common-licenses/GPL-3'. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/usr/bin/make -f | ||
|
||
#export DH_VERBOSE = 1 | ||
export PYBUILD_NAME = tvb-library | ||
|
||
%: | ||
dh $@ --with python2 --buildsystem=pybuild |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
3.0 (quilt) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
tvb-library source: debian-watch-does-not-check-gpg-signature |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
tvb-library: no-upstream-changelog | ||
tvb-library: dependency-on-python-version-marked-for-end-of-life | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove upon migration to provide python3 packages |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
version=3 | ||
opts=uversionmangle=s/(rc|a|b|c)/~$1/ \ | ||
https://pypi.debian.net/tvb-library/tvb-library-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz))) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,7 +44,7 @@ | |
|
||
TVB_TEAM = "Stuart Knock, Marmaduke Woodman, Paula Sanz Leon, Laurent Pezard, Viktor Jirsa" | ||
|
||
TVB_INSTALL_REQUIREMENTS = ["networkx", "numpy", "numba", "numexpr", "matplotlib", | ||
TVB_INSTALL_REQUIREMENTS = ["networkx", "numpy", "numba", "numexpr", "matplotlib==2.1.2", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove version restriction |
||
"pytest", "scikit-learn", "scipy", "tvb-gdist", "tvb-data"] | ||
|
||
with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fd: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move to use python3-* packages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove tvb-data from dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add pytest to be able to run unittests at package build time
verify that they do run at package build time, if not, adjust debian/rules accordingly with
override_dh_auto_test:
rule which would trigger/run the tests