Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

Commit

Permalink
First commit of sphinx docs and some community tools
Browse files Browse the repository at this point in the history
  • Loading branch information
cjgrady committed Apr 3, 2019
1 parent 2a0a29d commit d6b62f2
Show file tree
Hide file tree
Showing 91 changed files with 23,586 additions and 2 deletions.
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
64 changes: 64 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
## How to contribute to the Lifemapper Client Library

#### You found a bug

* Check that it hasn't already be reported by searching our GitHub issues [Issues](https://github.com/lifemapper/lm_client/issues).

* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/lifemapper/lm_client/issues/new?assignees=cjgrady&template=bug_report.md). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.


#### You wrote a patch for a bug

* Open a new GitHub pull request with the patch.

* Ensure the pull request description clearly describes the problem and solution. Include the relevant issue number if applicable.

* Before submitting, check that your patch follows our coding and testing conventions


#### You want to add new functinoality

* [Submit a new GitHub issue](https://github.com/lifemapper/lm_client/issues/new?assignees=&template=feature_request.md) and suggest your analysis. We want to make sure that it fits before you spend time coding it.

* Write your code and tests following our coding and testing conventions.

* Submit a pull request


#### Coding conventions

* We Use [PEP8](https://www.python.org/dev/peps/pep-0008/)

* Doc strings should follow [Google Style Guidelines](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)

* We use [pytest](https://docs.pytest.org/en/latest/) style tests

* Use pytest with coverage and pep8 to determine if test code is adequate. At this time, we support Python 2.7 and multiple versions of Python 3.

```
$ py.test tests/ --pep8 lm_client -v --cov lm_client --cov-report term-missing
$ py.test-3 tests/ --pep8 lm_client -v --cov lm_client --cov-report term-missing
```

#### You want to update documentation

* Update the documentation in a new branch

* If you update in-line documentation, make sure to rebuild the API doc RST files

```
$ sphinx-apidoc -o ./_sphinx_config/source ./lm_client/
```

* If you edit any RST docs (or update API docs), rebuild the html pages

```
$ sphinx-build -b html ./_sphinx_config/ ./docs/sphinx/
```

* Open and submit a new pull request for your updates

Thanks!

Lifemapper Team
32 changes: 30 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,30 @@
lm_client
=========
# Lifemapper Client Library

![Latest release](https://img.shields.io/github/release/lifemapper/lm_client.svg)
[![Build Status](https://travis-ci.org/lifemapper/lm_client.svg?branch=master)](https://travis-ci.org/lifemapper/lm_client)
[![Coverage Status](https://coveralls.io/repos/github/lifemapper/lm_client/badge.svg?branch=master)](https://coveralls.io/github/lifemapper/lm_client?branch=master)
![License Badge](https://img.shields.io/github/license/lifemapper/lm_client.svg)

The Lifemapper Client Library is an pen source project designed to provide
access to Lifemapper web services.

![Lifemapper](https://biotaphy.github.io/analyses/sphinx/_images/lm_logo.png)


## Install

Installation help can be found at https://lifemapper.github.io/lm_client/sphinx/pages/installation.html

## Getting help

A this time, the easiest way to get help is to [file a bug report](https://github.com/lifemapper/lm_client/issues/new?labels=&template=bug_report.md&title=).

## Contributing

Did you find a bug? Do you have an idea for an analysis? Do you want to write
some documentation? Head over to [our contributing page](CONTRIBUTING.md)
for more information about how you can help out.

## License

The BiotaPhy analyses repository is released under the [GPL 3.0 License](LICENSE).
20 changes: 20 additions & 0 deletions _sphinx_config/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = LifemapperClientLibrary
SOURCEDIR = .
BUILDDIR = ../docs/sphinx

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
177 changes: 177 additions & 0 deletions _sphinx_config/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# -*- coding: utf-8 -*-
#
# Lifemapper Client Library documentation build configuration file, created by
# sphinx-quickstart on Wed Apr 3 16:15:12 2019.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys

# -- General configuration ------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.viewcode',
'sphinx.ext.githubpages',
'sphinx.ext.napoleon']

# Add any paths that contain templates here, relative to this directory.
templates_path = ['.templates']

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'

# The master toctree document.
master_doc = 'index'

# General information about the project.
project = u'Lifemapper Client Library'
copyright = u'2019, Lifemapper Team'
author = u'Lifemapper Team'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = u'1.0.0'
# The full version, including alpha/beta/rc tags.
release = u'1.0.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'

# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False


# -- Options for HTML output ----------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'classic'

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['.static']

# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# This is required for the alabaster theme
# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
html_sidebars = {
'**': [
'relations.html', # needs 'show_related': True theme option to display
'searchbox.html',
]
}


# -- Options for HTMLHelp output ------------------------------------------

# Output file base name for HTML help builder.
htmlhelp_basename = 'LifemapperClientLibrarydoc'


# -- Options for LaTeX output ---------------------------------------------

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',

# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'LifemapperClientLibrary.tex', u'Lifemapper Client Library Documentation',
u'Lifemapper Team', 'manual'),
]


# -- Options for manual page output ---------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'lifemapperclientlibrary', u'Lifemapper Client Library Documentation',
[author], 1)
]


# -- Options for Texinfo output -------------------------------------------

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'LifemapperClientLibrary', u'Lifemapper Client Library Documentation',
author, 'LifemapperClientLibrary', 'One line description of project.',
'Miscellaneous'),
]




# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'https://docs.python.org/': None}
Loading

0 comments on commit d6b62f2

Please sign in to comment.