Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • kwant/kwant
  • jbweston/kwant
  • anton-akhmerov/kwant
  • cwg/kwant
  • Mathieu/kwant
  • slavoutich/kwant
  • pacome/kwant
  • behrmann/kwant
  • michaelwimmer/kwant
  • albeercik/kwant
  • eunjongkim/kwant
  • basnijholt/kwant
  • r-j-skolasinski/kwant
  • sahmed95/kwant
  • pablopiskunow/kwant
  • mare/kwant
  • dvarjas/kwant
  • Paul/kwant
  • bbuijtendorp/kwant
  • tkloss/kwant
  • torosdahl/kwant
  • kel85uk/kwant
  • kpoyhonen/kwant
  • Fromeworld/kwant
  • quaeritis/kwant
  • marwahaha/kwant
  • fernandodfufrpe/kwant
  • oly/kwant
  • jiamingh/kwant
  • mehdi2369/kwant
  • ValFadeev/kwant
  • Kostas/kwant
  • chelseabaptiste03/kwant
33 results
Select Git revision
Show changes
Commits on Source (8)
# Release %vX.Y.Z **UPDATE THIS**
This is a checklist based on the [release document](RELEASE.rst); consult it for more details.
## Preflight checks
- [ ] All the issues from this milestone are resolved
- [ ] Ensure that tests pass (either on [stable](https://gitlab.kwant-project.org/kwant/kwant/tree/stable) or on [master](https://gitlab.kwant-project.org/kwant/kwant/tree/master) branch)
- [ ] Documentation looks correct https://test.kwant-project.org/doc/<branch name>
- [ ] [Whatnew](doc/source/pre/whatsnew) is up to date
- [ ] `AUTHORS.rst` and `.mailmap` are up to date (run `git shortlog -s | sed -e "s/^ *[0-9\t ]*//"| xargs -i sh -c 'grep -q "{}" AUTHORS.rst || echo "{}"'`)
## Make a release, but do not publish it yet
- [ ] Tag the release
- [ ] Build the source tarball and inspect it
- [ ] Build the documentation
## Test packaging
These steps may be done in parallel
### Debian
- [ ] Follow the steps for building the Debian packages from [RELEASE.rst](RELEASE.rst)
### Conda
- [ ] Publish the release candidate source tarball "somewhere on the internet" (SOTI)
- [ ] open a PR to the [conda-forge/kwant-feedstock](https://github.com/conda-forge/kwant-feedstock/) repo on Github. Make sure to mark the PR as WIP so that it doesn't get merged in accidentally
- [ ] set the upstream tarball URL (in meta.yaml) to SOTI
- [ ] update the tarball hash in meta.yaml
- [ ] See if the package builds
## Publish the release
- [ ] push the tag
- [ ] upload the source tarball to PyPI
- [ ] upload the source tarball to the Kwant website
- [ ] publish the debian packages
- [ ] publish the ubuntu packages
- [ ] create a new version of the Kwant conda-forge feedstock, and open a pull request to upstream
- [ ] upload the documentation to the Kwant website
- [ ] update the Kwant website to say that Conda is the preferred way to install Kwant on Windows
## Announce the release
- [ ] Write a short post summarizing the highlights on the Kwant website
- [ ] post to the Kwant mailing list
## Working towards next release
- [ ] add a whatsnew file for the next release
- [ ] tag this release with an `a0` suffix
- [ ] push this tag to the official Kwant repository
- [ ] create a milestone for the next release
...@@ -3,6 +3,10 @@ Making a Kwant release ...@@ -3,6 +3,10 @@ Making a Kwant release
This document guides a contributor through creating a release of Kwant. This document guides a contributor through creating a release of Kwant.
Create a release issue
######################
Use the correct `issue template <gitlab.kwant-project.org/kwant/kwant/issues/new?issuable_template=release>`_, adjust it if necessary.
Preflight checks Preflight checks
################ ################
...@@ -114,21 +118,23 @@ Building the documentation requires 'sphinx' and a Latex installation. ...@@ -114,21 +118,23 @@ Building the documentation requires 'sphinx' and a Latex installation.
First build the HTML and PDF documentation:: First build the HTML and PDF documentation::
./setup.py build ./setup.py build
cd doc make -C doc realclean
make realclean make -C doc html latex
make html latex SPHINXOPTS='-A website_deploy=True -n -W' make -C doc/build/latex all-pdf
cd doc/build/latex
make all-pdf
Then create a zipped version of the HTML documentation and name the PDF Then create a zipped version of the HTML documentation and name the PDF
consistently, storing them, for example, in the "dist" directory along with the consistently, storing them, for example, in the "dist" directory along with the
source tarballs:: source tarballs::
ln -s `pwd`/doc/build/html /tmp/kwant-doc-<version> version=$(git describe | sed 's/^v//') # Assumes that we are on a tag.
(cd /tmp/; zip -r kwant-doc-<version>.zip kwant-doc-<version>) ln -s `pwd`/doc/build/html /tmp/kwant-doc-$version
mv /tmp/kwant-doc-<version>.zip dist (cd /tmp/; zip -r kwant-doc-$version.zip kwant-doc-$version)
mv /tmp/kwant-doc-$version.zip dist
mv doc/build/latex/kwant.pdf dist/kwant-doc-$version.pdf
Finally, rebuild the documentation for the website (including the web analysis javascript code)::
mv doc/build/latex/kwant.pdf dist/kwant-doc-<version>.pdf make -C doc html SPHINXOPTS='-A website_deploy=True -n -W'
Clone the repository of the Kwant Debian package Clone the repository of the Kwant Debian package
...@@ -514,23 +520,20 @@ Ask Christoph Groth if you need to be granted access. ...@@ -514,23 +520,20 @@ Ask Christoph Groth if you need to be granted access.
Upload the zipped HTML and PDF documentation:: Upload the zipped HTML and PDF documentation::
scp dist/kwant-doc-<version>.zip kwant-project.org:webapps/downloads/doc scp dist/kwant-doc-<version>.{zip,pdf} kwant-project.org:webapps/downloads/doc
scp dist/kwant-doc-<version>.pdf kwant-project.org:webapps/downloads/doc
Point the symbolic links ``latest.zip`` and ``latest.pdf`` to these new files::
ssh kwant-project.org "cd webapps/downloads/doc; ln -s kwant-doc-<version>.zip latest.zip"
ssh kwant-project.org "cd webapps/downloads/doc; ln -s kwant-doc-<version>.pdf latest.pdf"
Then upload the HTML documentation for the main website:: Upload the HTML documentation for the website::
rsync -rlv --delete doc/build/html/* kwant-project.org:webapps/kwant/doc/<short-version> rsync -rlv --delete doc/build/html/* kwant-project.org:webapps/kwant/doc/<short-version>
where in the above ``<short-version>`` is just the major and minor version numbers. where in the above ``<short-version>`` is just the major and minor version numbers.
Finally point the symbolic link ``<major-version>`` to ``<short-version>``:: Finally, create symbolic links for the website::
ssh kwant-project.org "cd webapps/kwant/doc; ln -s <major> <short-version>" ssh kwant-project.org
for e in zip pdf; do ln -sf kwant-doc-<version>.$e webapps/downloads/doc/latest.$e; done
ln -nsf <short-version> webapps/kwant/doc/<major>
exit
Announce the release Announce the release
......
What's new in Kwant 1.5
=======================
This article explains the user-visible changes in Kwant 1.5.0.
...@@ -2,6 +2,7 @@ What's new in Kwant ...@@ -2,6 +2,7 @@ What's new in Kwant
=================== ===================
.. toctree:: .. toctree::
1.5
1.4 1.4
1.3 1.3
1.2 1.2
......
...@@ -29,22 +29,29 @@ except ImportError: ...@@ -29,22 +29,29 @@ except ImportError:
raise raise
from ._common import KwantDeprecationWarning, UserCodeError from ._common import KwantDeprecationWarning, UserCodeError
__all__.extend(['KwantDeprecationWarning', 'UserCodeError']) __all__.extend(['KwantDeprecationWarning', 'UserCodeError'])
for module in ['system', 'builder', 'lattice', 'solvers', 'digest', 'rmt', # Pre-import most submodules. (We make exceptions for submodules that have
'operator', 'kpm', 'wraparound']: # special dependencies or where that would take too long.)
exec('from . import {0}'.format(module)) from . import system
__all__.append(module) from . import builder
from . import lattice
from . import solvers
from . import digest
from . import rmt
from . import operator
from . import kpm
from . import wraparound
__all__.extend(['system', 'builder', 'lattice', 'solvers', 'digest', 'rmt',
'operator', 'kpm', 'wraparound'])
# Make selected functionality available directly in the root namespace. # Make selected functionality available directly in the root namespace.
available = [('builder', ['Builder', 'HoppingKind']), from .builder import Builder, HoppingKind
('lattice', ['TranslationalSymmetry']), __all__.extend(['Builder', 'HoppingKind'])
('solvers.default', from .lattice import TranslationalSymmetry
['smatrix', 'greens_function', 'ldos', 'wave_function'])] __all__.extend(['TranslationalSymmetry'])
for module, names in available: from .solvers.default import smatrix, greens_function, ldos, wave_function
exec('from .{0} import {1}'.format(module, ', '.join(names))) __all__.extend(['smatrix', 'greens_function', 'ldos', 'wave_function'])
__all__.extend(names)
# Importing plotter might not work, but this does not have to be a problem -- # Importing plotter might not work, but this does not have to be a problem --
# only no plotting will be available. # only no plotting will be available.
......
...@@ -15,6 +15,5 @@ except ImportError as error: ...@@ -15,6 +15,5 @@ except ImportError as error:
"dependencies is not installed.") "dependencies is not installed.")
raise ImportError(msg) from error raise ImportError(msg) from error
__all__ = ['discretize', 'discretize_symbolic', 'build_discretized', __all__ = ['discretize', 'discretize_symbolic', 'build_discretized',
'sympify', 'lambdify', 'momentum_operators', 'position_operators'] 'sympify', 'lambdify', 'momentum_operators', 'position_operators']
...@@ -9,8 +9,7 @@ ...@@ -9,8 +9,7 @@
"""Functionality for graphs""" """Functionality for graphs"""
# Merge the public interface of all submodules. # Merge the public interface of all submodules.
__all__ = [] from .core import *
for module in ['core', 'defs']: from .defs import *
exec('from . import {0}'.format(module))
exec('from .{0} import *'.format(module)) __all__ = [core.__all__ + defs.__all__]
exec('__all__.extend({0}.__all__)'.format(module))
...@@ -10,7 +10,10 @@ __all__ = ['lapack'] ...@@ -10,7 +10,10 @@ __all__ = ['lapack']
from . import lapack from . import lapack
# Merge the public interface of the other submodules. # Merge the public interface of the other submodules.
for module in ['decomp_lu', 'decomp_ev', 'decomp_schur']: from .decomp_lu import *
exec('from . import {0}'.format(module)) from .decomp_schur import *
exec('from .{0} import *'.format(module)) from .decomp_ev import *
exec('__all__.extend({0}.__all__)'.format(module))
__all__.extend([decomp_lu.__all__,
decomp_ev.__all__,
decomp_schur.__all__])
...@@ -8,8 +8,14 @@ ...@@ -8,8 +8,14 @@
"""Physics-related algorithms""" """Physics-related algorithms"""
# Merge the public interface of all submodules. # Merge the public interface of all submodules.
__all__ = [] from .leads import *
for module in ['leads', 'dispersion', 'noise', 'symmetry', 'gauge']: from .dispersion import *
exec('from . import {0}'.format(module)) from .noise import *
exec('from .{0} import *'.format(module)) from .symmetry import *
exec('__all__.extend({0}.__all__)'.format(module)) from .gauge import *
__all__ = [leads.__all__
+ dispersion.__all__
+ noise.__all__
+ symmetry.__all__
+ gauge.__all__]
[pytest] [pytest]
testpaths = kwant testpaths = kwant
flakes-ignore = flakes-ignore =
__init__.py UnusedImport __init__.py UnusedImport ImportStarUsed ImportStarUsage
kwant/_plotter.py UnusedImport kwant/_plotter.py UnusedImport
graph/tests/test_scotch.py UndefinedName graph/tests/test_scotch.py UndefinedName
graph/tests/test_dissection.py UndefinedName