Skip to content

Commit

Permalink
Stub out docs. Closes #1. Closes #2.
Browse files Browse the repository at this point in the history
  • Loading branch information
onyxfish committed May 18, 2016
1 parent 997c4b6 commit f1f5f3e
Show file tree
Hide file tree
Showing 12 changed files with 333 additions and 2 deletions.
3 changes: 3 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
The following individuals have contributed code, documentation, or expertise to leather:

* `Christopher Groskopf <https://github.com/onyxfish/>`_
12 changes: 11 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
Experimental pure-Python charting library.
Leather is the Python charting library for those who need charts *now* and don't care if they're perfect.

Leather isn't picky. It's rough. It gets dirty. It looks sexy just hanging on the back of a chair. Leather doesn't need your accessories. Leather is how Snake Plissken would make charts.

Get it?

Important links:

* Documentation: http://leather.rtfd.io
* Repository: https://github.com/onyxfish/leather
* Issues: https://github.com/onyxfish/leather/issues
130 changes: 130 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Makefile for Sphinx documentation
#

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

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

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

help:
@echo "Please use \`make <target>' where <target> is one of"
@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 " 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:
-rm -rf $(BUILDDIR)/*

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/agate.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/agate.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/agate"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/agate"
@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."

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."
20 changes: 20 additions & 0 deletions docs/about.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
=============
About leather
=============

Why leather?
============

* A readable and user-friendly API.
* Optimized for exploratory charting.
* Produces scale-independent SVG charts.
* Designed with `iPython <http://ipython.org/>`_, `Jupyter <https://jupyter.org/>`_ and `atom/hydrogen <https://atom.io/packages/hydrogen>`_ in mind.
* Pure Python. No C dependencies to compile.
* MIT licensed and free for all purposes.
* Zealously `zen <https://www.python.org/dev/peps/pep-0020/>`_.
* Made with love.

Principles
==========

Leather is for people who want charts *now* and don't care if they're perfect. Leather is rough. It gets dirty. Leather doesn't need accessories. This is the Snake Plissken's jacket of charting libraries.
47 changes: 47 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys

# Path munging
sys.path.insert(0, os.path.abspath('..'))

# Extensions
extensions = [
'sphinx.ext.autosummary',
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx'
]
# autodoc_member_order = 'bysource'
autodoc_default_flags = ['members', 'show-inheritance']

intersphinx_mapping = {
'python': ('http://docs.python.org/3.5', None)
}

# Templates
templates_path = ['_templates']
master_doc = 'index'

# Metadata
project = u'leather'
copyright = u'2016, Christopher Groskopf'
version = '0.0.1'
release = '0.0.1'

exclude_patterns = ['_build']
pygments_style = 'sphinx'

# HTMl theming
html_theme = 'default'

on_rtd = os.environ.get('READTHEDOCS', None) == 'True'

if not on_rtd: # only import and set the theme if we're building docs locally
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

html_static_path = ['_static']
htmlhelp_basename = 'leatherdoc'
45 changes: 45 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
=================
leather |release|
=================

.. include:: ../README.rst

.. toctree::
:hidden:
:maxdepth: 2

about
install
release_process
license

Show me docs
============

* `About <about.html>`_ - why you should use agate and the principles that guide its development
* `Install <install.html>`_ - how to install for users and developers

Show me code
============

.. code-block:: python
TKTK
Join us
=======

* `Release process <release_process.html>`_ - the process for maintainers to publish new releases
* `License <license.html>`_ - a copy of the MIT open source license covering agate

Who we are
==========

.. include:: ../AUTHORS.rst

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
49 changes: 49 additions & 0 deletions docs/install.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
============
Installation
============

Users
-----

To use leather install it with pip::

pip install leather

Developers
----------

If you are a developer that also wants to hack on leather, install it from git::

git clone git://github.com/onyxfish/leather.git
cd leather
mkvirtualenv leather

# If running Python 3 (strongly recommended for development)
pip install -r requirements-py3.txt

# If running Python 2
pip install -r requirements-py2.txt

python setup.py develop
tox

.. note::

To run the leather tests with coverage::

nosetests --with-coverage tests

Supported platforms
-------------------

leather supports the following versions of Python:

* Python 2.7
* Python 3.3+
* `PyPy <http://pypy.org/>`_

It is tested primarily on OSX, but due to its minimal dependencies it should work on both Linux and Windows.

.. note::

`iPython <http://ipython.org/>`_ or `Jupyter <https://jupyter.org/>`_ user? Leather works great there too.
5 changes: 5 additions & 0 deletions docs/license.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
=======
License
=======

.. include:: ../COPYING
20 changes: 20 additions & 0 deletions docs/release_process.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
===============
Release process
===============

This is the release process for leather:

1. Verify all unit tests pass with fresh environments: ``tox -r``.
2. Verify 100% test coverage: ``nosetests --with-coverage tests``.
3. Ensure any new modules have been added to setup.py's ``packages`` list.
#. Ensure any new public interfaces have been added to the documentation.
#. Make sure the example script still works: ``python example.py``.
#. Ensure ``CHANGELOG.rst`` is up to date. Add the release date and summary.
#. Create a release tag: ``git tag -a x.y.z -m "x.y.z release."``
#. Push tags upstream: ``git push --tags``
#. If this is a major release, merge ``master`` into ``stable``: ``git checkout stable; git merge master; git push``
#. Upload to `PyPI <https://pypi.python.org/pypi/leather>`_: ``python setup.py sdist bdist_wheel upload``.
#. Flag the release to build on `RTFD <https://readthedocs.org/dashboard/leather/versions/>`_.
#. Update the "default version" on `RTFD <https://readthedocs.org/dashboard/leather/versions/>`_ to the latest.
#. Rev to latest version: ``docs/conf.py``, ``setup.py`` and ``CHANGELOG.rst`` need updates.
#. Commit revision: ``git commit -am "Update to version x.y.z for development."``.
1 change: 1 addition & 0 deletions requirements-py2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ cssselect>=0.9.1
tox>=1.3
Sphinx>=1.2.2
coverage>=3.7.1
sphinx_rtd_theme>=0.1.9
unittest2>=0.5.1
1 change: 1 addition & 0 deletions requirements-py3.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ cssselect>=0.9.1
tox>=1.3
Sphinx>=1.2.2
coverage>=3.7.1
sphinx_rtd_theme>=0.1.9
2 changes: 1 addition & 1 deletion tests/test_chart.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def test_multiple_series(self):
self.assertElementCount(svg, '.dots', 2)
self.assertElementCount(svg, 'circle', 9)

def test_custom_scale(self):
def test_custom_scales(self):
chart = leather.Chart()
chart.set_x_scale(leather.Linear(0, 20))
chart.set_x_axis(leather.Axis(ticks=5))
Expand Down

0 comments on commit f1f5f3e

Please sign in to comment.