Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
fbrennen committed Mar 22, 2017
0 parents commit 86bcb9d
Show file tree
Hide file tree
Showing 43 changed files with 3,930 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
__pycache__
build
dist
.settings
*.egg-info
*.pyc
*.swp
*ont_fast5_api.egg-info
fast5_api.rst
fast5_api.*.rst
.#*
#*
*#
*~
.nfs*
363 changes: 363 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This file tells sdist which addional files to include in the distribution it builds.
# That distribution is used as the base for building the .deb with stdeb, and certain files
# (such as header files and .md files) are not included by default.
# See https://docs.python.org/2/distutils/sourcedist.html#manifest-template

include README.md
include LICENSE.md
prune test
prune build
prune docs
39 changes: 39 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
ifndef PYTHON
PYTHON=$(shell which python3)
endif
LATEST_TAG := $(shell git tag --list release_* | sort -V | tail -n 1 | sed "s/release[-_]\([\.0-9]*\)/\1/g")
VERSION_CODE=${shell lsb_release -cs}

all:
@echo "make clean - remove build dirs and pyc files"
@echo "make doc - build Sphinx docs. Requires the ability to find dependency libraries (e.g. dragonet / chimaera)"
@echo "make test - run tests"
@echo "make get_latest_tag - look up the latest release and check out that version"
@echo "make builddeb - generate a deb package"
@echo "make develop - set up repo for local use"
@echo "make develop_uninstall - remove easy_install hook for the repo"

clean:
$(PYTHON) setup.py clean
rm -rf deb_dist ont_fast5_api.egg-info dist ont_fast5_api-*.tar.gz
find . -name '*.pyc' -delete

doc:
cd docs && $(MAKE) api && $(MAKE) html VERSION=$(LATEST_TAG)

test:
$(PYTHON) -m unittest discover

get_latest_tag:
git checkout release_$(LATEST_TAG)

builddeb: clean
$(PYTHON) setup.py --command-packages=stdeb.command sdist_dsc --debian-version 1~$(VERSION_CODE) bdist_deb

develop:
$(PYTHON) setup.py develop --user || $(PYTHON) setup.py develop

develop_uninstall:
$(PYTHON) setup.py develop --user --uninstall || $(PYTHON) setup.py develop --uninstall

.PHONY : all clean doc test get_latest_tag builddeb develop develop_uninstall
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ont_fast5_api Python Project
====================================
Oxford Nanopore Technologies fast5 API software.
-------------------------------------

This project provides classes and utility functions for working with read fast5
files. It provides an abstraction layer between the underlying h5py library and
the various concepts central to read fast5 files, such as "reads", "analyses",
"analysis summaries", and "analysis datasets". Ideally all interaction with a
read fast5 file should be possible via this API, without having to directly
invoke the h5py library.
171 changes: 171 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# Makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = build
VERSION ?= unknown

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) -D version=$(VERSION) -D release=$(VERSION) $(SPHINXOPTS) source
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source

.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " api to autogenerate API documentation"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"

clean:
$(eval NON_INDEX_FILES := $(filter-out source/index.rst, $(wildcard source/*.rst)))
-rm -rf $(BUILDDIR)
mkdir $(BUILDDIR)
ifneq ($(NON_INDEX_FILES),)
rm $(NON_INDEX_FILES)
endif

api:
$(eval NON_INDEX_FILES := $(filter-out source/index.rst, $(wildcard source/*.rst)))
ifneq ($(NON_INDEX_FILES),)
rm $(NON_INDEX_FILES)
endif
sphinx-apidoc --no-toc -o source/ ..
rm source/test.rst
rm source/setup.rst
@echo
@echo "API gubbins generated in source directory for version $(VERSION)."

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."

qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/fast5_api.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/fast5_api.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/ont_fast5_api"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ont_fast5_api"
@echo "# devhelp"

epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."

latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."

man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."

info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."

gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."

changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."

linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."

doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
Loading

0 comments on commit 86bcb9d

Please sign in to comment.