Add Amp to Debian Archive
There already exists an intend to package (ITP) in Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790803. I have contacted Graham Inggs who kindly gave me the package advance he had so far. I have modified it now to work with Amp:
https://anonscm.debian.org/cgit/collab-maint/amp.git
The only issue I see in this regard is that TensorFlow is not available in Debian although there exists an ITP as well: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804612. There is a blocking dependency that is stopping the process: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=782654.
A package could be provided without this dependency and users may install tensorflow using pip
. In the long term, having amp in debian will make it available to be installed with apt
and in debian based distros.
Comments (16)
-
repo owner -
reporter Right now we have been having the dependency be the development branch of ASE. This is for a couple of reasons (1) ASE is quite reliable in the development branch, although some import names occasionally change around, (2) I use the development branch in research, and (3) we occasionally have needed to change something in the development branch of ASE to get Amp to work (although exactly what, I have forgotten -- perhaps we were only keeping it open as a possibility).
For the packaging proposed so far, the dependencies can be seen in here: https://anonscm.debian.org/cgit/collab-maint/amp.git/tree/debian/control#n21. So yes,
python-amp
will depend onpython-ase
andpython-scipi
(and some others picked up automatically by ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}).TensorFlow
can be later added asSuggested
package.I imagine that for Debian we should have our dependency be a numbered release of ASE? Is the most recent okay? If so, we should try to figure out how to test against this.
Currently, in debian the most recent version of
python-ase
is the following:Package: python-ase Version: 3.12.0-1 New: yes State: installed Automatically installed: no Priority: optional Section: python Maintainer: Debichem Team <debichem-devel@lists.alioth.debian.org> Architecture: all Uncompressed Size: 5,670 k Depends: python-numpy, python-scipy, python:any (< 2.8), python:any (>= 2.7.5-5~) Recommends: python-gtk2, python-matplotlib Suggests: python-ase-doc Description: Atomic Simulation Environment (Python 2) ASE is an Atomic Simulation Environment written in the Python programming language with the aim of setting up, stearing, and analyzing atomic simulations. ASE is part of CAMPOS, the CAMP Open Source project. ASE contains Python interfaces to several different electronic structure codes including Abinit, Asap, Dacapo, Elk, GPAW and SIESTA. This package provides the Python 2 modules. Homepage: https://wiki.fysik.dtu.dk/ase/
From a packaging point of view, we can set the minimum or maximum version of
python-ase
to be used bypython-amp
indebian/control
. Right now, this debian package will try whichever version installed ofpython-ase
in the system that is greater than3.9.0
.python-ase (>= 3.9.0~)
So we can always control the version of the dependency.
I think the user will never see an issue with the tensorflow dependency unless they try to use that particular module. Should we have a warning pop up instead of an error if this is the case?
That makes a lot of sense.
We should probably also figure out how to have the tensorflow test be skipped if tensorflow is not present. This is what ASE does for lots of its calculator tests.
That would be very useful. Currently, such tests will fail in a clean debian environment. Thus, bypassing them would avoid bugs of the type: fail to build from source.
-
reporter I am now the official maintainer of Amp in Debian. I decided to team-maintain it with the Debian Science team. I plan to upload it to the archives after latest Debian release happening in a couple of days. Then, Amp will be installable in Debian and Debian-based distros (e.g. Ubuntu) by using
apt
. -
reporter I have built the Debian packages for Amp this weekend. They build correctly on my machine, and all tests are working well. I am now in the phase of doing tests in clean environments using tools provided by Debian.
-
repo owner Great. I just finalized the v0.6 release so you can work with that stable version. Let me know if anything needs to be changed; the changes I made in the 0.6 branch were just cosmetic (e.g., documentation, version numbering, etc.) However I did make some changes over this past weekend to get all the tests running, but those were already in master before this morning.
-
reporter The packaging is done!. The GIT for it is here https://anonscm.debian.org/git/debian-science/packages/amp.git. I have sent an email to Debian-science mailing list to discuss with others team members before uploading to the official archives for final revision. This package will only have a python3 version. That is the Debian Python Policy for newly uploaded python packages. This will give us the opportunity to test this code base before we can get rid of Python2 completely in future versions of Amp.
-
repo owner Interesting. I assume that since it works that ASE is in there as a python3 package, too?
-
reporter Yes, that's correct:
% aptitude search ase |grep Atomic !10008 i A ase - Atomic Simulation Environment i python-ase - Atomic Simulation Environment (Python 2) p python-ase-doc - Atomic Simulation Environment (common documentation) i python3-ase - Atomic Simulation Environment (Python 3)
As ASE was uploaded before this latest Debian Python Policy it still has a python2 version there.
-
reporter I uploaded today Amp to the debian archives: https://ftp-master.debian.org/new/amp_0.6-1.html I hope it passes the NEW queue soon :).
-
repo owner Cool. What is the rough timeline now, specifically when might we expect to see it in ubuntu?
-
repo owner Also, if you install with a package manager from debian do you also get tensorflow?
On Tue, Aug 22, 2017 at 3:15 PM, Peterson, Andrew <andrew_peterson@brown.edu
[image: muammar] Muammar El Khatib commented on issue
#119: Add Amp to Debian Archive https://bitbucket.org/andrewpeterson/amp/issues/119/add-amp-to-debian-archiveI uploaded today Amp to the debian archives: https://ftp-master.debian.org/new/amp_0.6-1.html I hope it passes the NEW queue soon :). View this issue https://bitbucket.org/andrewpeterson/amp/issues/119/add-amp-to-debian-archive or add a comment by replying to this email. Unsubscribe from issue emails https://bitbucket.org/api/1.0/repositories/andrewpeterson/amp/issue/119/unsubscribe/andrewpeterson/9c3013d520fb5932cb280eb984f07db3b463d18f/ for this repository. [image: Bitbucket] https://bitbucket.org
-- Andrew Peterson Assistant Professor Brown University School of Engineering Barus & Holley 247 184 Hope Street Providence, RI 02912 (401) 863-2153 http://brown.edu/go/catalyst
-
reporter Cool. What is the rough timeline now, specifically when might we expect to see it in ubuntu?
It might take from 2 to 6 weeks to be revised by humans in the team in charge of accepting new packages in Debian. Then it will hit Debian unstable. Ubuntu syncs packages from unstable regularly, but given that Ubuntu 17.10 is being released in October, I think that for Ubuntu 18.04 Amp will be officially included in that version. However, the differences between 17.10 and 18.04 are not that large and then people using 17.10 can already install the Amp package.
Also, if you install with a package manager from debian do you also get tensorflow?
There is no tensorflow debian package yet although there is an Intent To Package (ITP). The problem seems to be bazel that has to undergo important changes to comply with Debian Policy. However, installing it with
pip
will still make it work if you have the deb installation. -
reporter Accepted!1!
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790803#94
Accepted: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Sat, 29 Jul 2017 21:12:31 -0400 Source: amp Binary: python3-amp Architecture: source amd64 Version: 0.6-1 Distribution: unstable Urgency: medium Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> Changed-By: Muammar El Khatib <muammar@debian.org> Description: python3-amp - Atomistic Machine-learning Package (python 3) Closes: 790803 Changes: amp (0.6-1) unstable; urgency=medium . * Initial release (Closes: #790803) Checksums-Sha1: ce1700e77a4f7bdfb86ce9ea02447475ea0b9820 2114 amp_0.6-1.dsc 6bb88003be352f9c3a2610a3675ef37a1c3632ae 3222959 amp_0.6.orig.tar.gz 1bd1122ad32bb2f8d51032c281e963a0daf9b58c 2912 amp_0.6-1.debian.tar.xz 3926a2b4c60f9bb02aca33a447f9e6ee0abb6738 8302 amp_0.6-1_amd64.buildinfo f92caeaf19d289f7e24a8bbf1d8b3f16fb298106 482888 python3-amp-dbgsym_0.6-1_amd64.deb 12fe99c00ee87ed75d4a692385cb190ddf9520ae 225644 python3-amp_0.6-1_amd64.deb Checksums-Sha256: 900a5bf96d54674564d97898065dbc1f8ee6d6f5dd9cad8c0ba6c6b6f538ab99 2114 amp_0.6-1.dsc 70863584c340ffbcc6be22876fa515b04ea03f893f46404f97a240dbedd6c730 3222959 amp_0.6.orig.tar.gz b245ec4bf28521ce252d0b516205dd3bdb3fc159e1357ab34099f7ccd1d2f177 2912 amp_0.6-1.debian.tar.xz b0ed00e19174afe44635a198035f8ffb908179b4dc0e46418a40f1ab338610f3 8302 amp_0.6-1_amd64.buildinfo 63ae87fc79fdf4fd60800d978fe4aa9558236b6726e7a475462933bb61542bf6 482888 python3-amp-dbgsym_0.6-1_amd64.deb 6c12bb0fc02955f42dae623a6fad53d9e2a6362fdac03895adcb8afd9ab807a7 225644 python3-amp_0.6-1_amd64.deb Files: befed29b2bc8466e2e8b4e65b619c486 2114 science optional amp_0.6-1.dsc cb5b79b15eaba0703f1ccd698b406e7a 3222959 science optional amp_0.6.orig.tar.gz 63fa91b5f4c1c8efbd0e7466598f9f0f 2912 science optional amp_0.6-1.debian.tar.xz ebaec299ca536c19a7b4f1934e98f255 8302 science optional amp_0.6-1_amd64.buildinfo cb64cc0cf1a686522a568baf3d085853 482888 debug extra python3-amp-dbgsym_0.6-1_amd64.deb 7b793310322763ec1b75a43f70295b56 225644 science optional python3-amp_0.6-1_amd64.deb -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEHJoldLGkjYrCQ8rlXCkTcnEkbkoFAlmcPogACgkQXCkTcnEk bkpn8w//ZjXa7ERlxmf4PbqR/goFd5BZ3dehH0Sthvd6dptnHcQ5F7JiI607UAR1 MNx2RuEWgggsRM3YakWpvGiBtUfzZ0ouYmgu7Dnj4Y6m131JNZVOEgAUj5BXramC oHr7gHiVu6BJ04lr/Czu3SDcg3yvEvwF6P7K2EYmSobYW/b2UC66EZw1HwYp5l9P IMNVBBUPbGNgswtl5XSc/QTXR9sFiSFJ34qLXtWNLYrS1WcH6NNlk1ibfZOb3W7T I7J9mL35Rff6LPP7dD6TtVlyNKLARJ8JEmzcoB/NLmjj2aSMhRndTekGMataYXvn WrsoHVL6QuffHWmzaE8EwJ1OIAik5bBh/zPT8RoPhiTfamZqWWwtfq88wkH0rorv JlTy1xPaWZjyzHypxFRIRH1a0kmTeKiFuj4oHOoocNhrTzPzqyDWRl62t1q4l0nK mKcMIGx4j5CxYJSekQ61MmJfQl096LHAcwhouCaBLJtbe+VybXVDb322IXL4+oVG 86B24nFZwsux1r5amAyt3xfwWZ/v7FxQUkjFiihb4oD8UBufsETFSh45XlRc0wCq +QS06JT3MCZv/9uI8WGjX0ViJu1bPUV7rxAgSm4HJ2xAdLMLIc2OR7iOvYnoPsGD fOb+VDvqAe+u3sb9gfTN+L16dG87SyvtnPb2r7gsrTzhECK0n8I= =wPeo -----END PGP SIGNATURE----- Thank you for your contribution to Debian.
-
reporter It is finally in Debian official archives.
% sudo apt-get install python3-amp !10512 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libjs-bootstrap libjs-jquery-ui python3-ase python3-matplotlib python3-scipy Suggested packages: libjs-jquery-ui-docs python-ase-doc dvipng ipython3 python-matplotlib-doc python3-cairocffi python3-gobject python3-pyqt4 python3-tornado ttf-staypuft python-scipy-doc The following NEW packages will be installed: libjs-bootstrap libjs-jquery-ui python3-amp python3-ase python3-matplotlib python3-scipy 0 upgraded, 6 newly installed, 0 to remove and 8 not upgraded. Need to get 11.9 MB/14.9 MB of archives. After this operation, 86.2 MB of additional disk space will be used. Do you want to continue? [Y/n]
I will proceed to close this report.
-
reporter - edited description
- changed status to resolved
-
repo owner Great! I put a note both on Amp's news/release notes and on our group web page.
- Log in to comment
Right now we have been having the dependency be the development branch of ASE. This is for a couple of reasons (1) ASE is quite reliable in the development branch, although some import names occasionally change around, (2) I use the development branch in research, and (3) we occasionally have needed to change something in the development branch of ASE to get Amp to work (although exactly what, I have forgotten -- perhaps we were only keeping it open as a possibility).
I imagine that for Debian we should have our dependency be a numbered release of ASE? Is the most recent okay? If so, we should try to figure out how to test against this.
I think the user will never see an issue with the tensorflow dependency unless they try to use that particular module. Should we have a warning pop up instead of an error if this is the case?
We should probably also figure out how to have the tensorflow test be skipped if tensorflow is not present. This is what ASE does for lots of its calculator tests.