Developer documentation

Lightkurve is actively developed on its GitHub repository. This page provides guidelines for package developers and maintainers.

Coding and documentation standards

Lightkurve adopts AstroPy’s coding guidelines and standards, as documented in AstroPy’s Development Documentation.

Building documentation

Note

Building the documentation is not necessary unless you are writing new documentation or do not have internet access, because the latest version of the documentation is available online at docs.lightkurve.org .

Building the lightkurve documentation requires a few extra packages:

  • sphinx
  • sphinx-automodapi
  • nbsphinx
  • ghp-import
  • graphviz
  • numpydoc

These packages can be installed using conda or pip.

To build the documentation in HTML format, execute:

$ cd docs
$ make clean
$ make html

This will save the documentation website in the ../../lightkurve-docs directory on your system. The notebook-based tutorials will not be recompiled by default because they take some time to build. To recompile the notebooks, type:

make notebooks

Finally, if you have write permission to lightkurve’s GitHub repository, you can upload the documentation to the web server using:

make upload

Release procedure

The procedure to release a new version of Lightkurve requires a number of manual steps:

  1. Add any new contributors to AUTHORS.rst.
  2. Remove the suffix .dev from the version number in lightkurve/version.py and commit to master. Note that Lightkurve follows a semantic versioning scheme.
  3. Verify that all unit tests pass:
$ pytest --remote-data
  1. Verify that the docs and all tutorial notebooks can be compiled without failure (see Building documentation above), and upload them to the webserver.
  2. Make a new release branch in GitHub using the Draft a new release button at https://github.com/KeplerGO/lightkurve/releases.
  3. Create and upload the new package to PyPI:
$ python setup.py release
  1. Increment the version number on the lightkurve conda feedstock. Navigate to the meta.yaml file in the recipe directory and change two lines:
{% set version = "1.0b20" %}
{% set sha256 = "b65f556362b64d9fcc8aa4b0e89991c2b8f7fc059dfa22269b0877a8b758b255" %}

Replace the version and sha256 values with the most recent release info in the lightkurve PyPI. Submit your update as a Pull Request, which offers a checklist to guide programmatic spot-checking of your code.

  1. Edit lightkurve/version.py to contain the next version number with suffix .dev.