Skip to content
Snippets Groups Projects
Commit cfe59b8e authored by Anton Joubert's avatar Anton Joubert
Browse files

Init repo from ska-python-skeleton template

parents
No related branches found
No related tags found
No related merge requests found
Showing with 2262 additions and 0 deletions
*.py[cod]
*.egg-info
*.eggs
.ipynb_checkpoints
build
dist
.cache
__pycache__
Pipfile.lock
htmlcov
.coverage
coverage.xml
.pytest_cache
*,cover
docs/_build
docs/apidocs
# ide
.idea
.eclipse
.vscode
# GitLab CI in conjunction with GitLab Runner can use Docker Engine to test and build any application.
# Docker, when used with GitLab CI, runs each job in a separate and isolated container using the predefined image that is set up in .gitlab-ci.yml.
# In this case we use the latest python docker image to build and test this project.
image: nexus.engageska-portugal.pt/ska-docker/ska-python-buildenv:latest
# cache is used to specify a list of files and directories which should be cached between jobs. You can only use paths that are within the project workspace.
# If cache is defined outside the scope of jobs, it means it is set globally and all jobs will use that definition
cache:
paths:
# before_script is used to define the command that should be run before all jobs, including deploy jobs, but after the restoration of artifacts.
# This can be an array or a multi-line string.
before_script:
- pip install pipenv
- pipenv install
stages:
- test
- linting
- deploy
# The YAML file defines a set of jobs with constraints stating when they should be run.
# You can specify an unlimited number of jobs which are defined as top-level elements with an arbitrary name and always
# have to contain at least the script clause.
# In this case we have only the test job which produces a coverage report and the unittest output (see setup.cfg), and
# the coverage xml report is moved to the reports directory while the html output is persisted for use by the pages
# job. TODO: possibly a candidate for refactor / renaming later on.
test:
stage: test
# tags:
# - docker-executor
script:
- pipenv run python setup.py test
- mv coverage.xml ./build/reports/code-coverage.xml
artifacts:
paths:
- ./build
- htmlcov
list_dependencies:
stage: test
script:
- pipenv graph >> pipenv_deps.txt
- dpkg -l >> system_deps.txt
- awk 'FNR>5 {print $2 ", " $3}' system_deps.txt >> system_deps.csv
- mkdir .public
- cp pipenv_deps.txt .public/
- cp system_deps.txt .public/
- cp system_deps.csv .public/
- mv .public public
artifacts:
paths:
- public
linting:
image: nexus.engageska-portugal.pt/ska-docker/ska-python-buildenv:latest
tags:
- docker-executor
stage: linting
script:
- make lint
when: always
artifacts:
paths:
- ./build
pages:
stage: deploy
tags:
- docker-executor
dependencies:
- test
script:
- ls -la
- mkdir .public
- cp -r htmlcov/* .public
- rm -rf htmlcov
- mv .public public
artifacts:
paths:
- public
expire_in: 30 days
create ci metrics:
stage: .post
image: nexus.engageska-portugal.pt/ska-docker/ska-python-buildenv:latest
when: always
tags:
- docker-executor
script:
# Gitlab CI badges creation: START
- apt-get -y update
- apt-get install -y curl --no-install-recommends
- curl -s https://gitlab.com/ska-telescope/ci-metrics-utilities/raw/master/scripts/ci-badges-func.sh | sh
# Gitlab CI badges creation: END
artifacts:
paths:
- ./build
\ No newline at end of file
.pylintrc 0 → 100644
[MASTER]
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS
# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
ignore-patterns=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use.
jobs=0
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=pylint_junit
# Pickle collected data for later comparisons.
persistent=yes
# Specify a configuration file.
#rcfile=
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence=
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=C,
R,
W
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=unreachable,
duplicate-key,
unnecessary-semicolon,
global-variable-not-assigned,
unused-variable,
binary-op-exception,
bad-format-string,
anomalous-backslash-in-string,
bad-open-mode
[REPORTS]
# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
#msg-template=
# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
output-format=junit
# Tells whether to display a full report or only the messages.
reports=yes
# Activate the evaluation score.
score=yes
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style.
#class-attribute-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style.
#variable-rgx=
[SIMILARITIES]
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
# Minimum lines number of a similarity.
min-similarity-lines=4
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis. It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
[LOGGING]
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored. Default to name
# with leading underscore.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=100
# Maximum number of lines in a module.
max-module-lines=1000
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,
dict-separator
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package..
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no
[DESIGN]
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=7
# Maximum number of boolean expressions in an if statement.
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,
_fields,
_replace,
_source,
_make
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=cls
[IMPORTS]
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=optparse,tkinter.tix
# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled).
ext-import-graph=
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled).
import-graph=
# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
[EXCEPTIONS]
# Exceptions that will emit a warning when being caught. Defaults to
# "Exception".
overgeneral-exceptions=Exception
###########
Change Log
###########
All notable changes to this project will be documented in this file.
This project adheres to `Semantic Versioning <http://semver.org/>`_.
[Unreleased]
************
Added
-----
* Empty Python project directory structure
LICENSE 0 → 100644
BSD License
Copyright (c) 2018, SKA Organisation
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.
* Neither the name of SKA Skeleton nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
Makefile 0 → 100644
# Use bash shell with pipefail option enabled so that the return status of a
# piped command is the value of the last (rightmost) commnand to exit with a
# non-zero status. This lets us pipe output into tee but still exit on test
# failures.
SHELL = /bin/bash
.SHELLFLAGS = -o pipefail -c
all: test lint
# The following steps copy across useful output to this volume which can
# then be extracted to form the CI summary for the test procedure.
test:
python setup.py test | tee ./build/setup_py_test.stdout; \
mv coverage.xml ./build/reports/code-coverage.xml;
# The following steps copy across useful output to this volume which can
# then be extracted to form the CI summary for the test procedure.
lint:
# FIXME pylint needs to run twice since there is no way go gather the text and junit xml output at the same time
pip3 install pylint2junit; \
pylint --output-format=parseable ska_python_skeleton | tee ./build/code_analysis.stdout; \
pylint --output-format=pylint2junit.JunitReporter ska_python_skeleton > ./build/reports/linting.xml;
.PHONY: all test lint
Pipfile 0 → 100644
[[source]]
url = "https://nexus.engageska-portugal.pt/repository/pypi-proxy/simple"
verify_ssl = true
name = "nexus-proxy"
[[source]]
url = "https://nexus.engageska-portugal.pt/repository/pypi/simple"
verify_ssl = true
name = "nexus-hosted"
[packages]
docutils = "*"
MarkupSafe = "*"
Pygments = "*"
pylint = "*"
pylint-junit = "*"
pytest = "*"
pytest-cov = "*"
pytest-pylint = "*"
pytest-json-report = "*"
python-dotenv = ">=0.5.1"
Sphinx = "*"
sphinx_rtd_theme = "*"
sphinx-autobuild = "*"
sphinxcontrib-websupport = "*"
recommonmark = "*"
[dev-packages]
[requires]
python_version = "3"
SKA Python Skeleton Project
===========================
[![Documentation Status](https://readthedocs.org/projects/ska-python-skeleton/badge/?version=latest)](https://developer.skatelescope.org/projects/skeleton/en/latest/?badge=latest)
Briefly describe your project here
Requirements
------------
The system used for development needs to have Python 3 and `pip` installed.
Install
-------
**Always** use a virtual environment. [Pipenv](https://pipenv.readthedocs.io/en/latest/) is now Python's officially
recommended method and the one used by default in this repo.
Follow these steps at the project root:
First, ensure that `~/.local/bin` is in your `PATH` with:
```bash
> echo $PATH
```
In case `~/.local/bin` is not part of your `PATH` variable, under Linux add it with:
```bash
> export PATH=~/.local/bin:$PATH
```
or the equivalent in your particular OS.
Then proceed to install pipenv and the required environment packages:
```bash
> pip install pipenv # if you don't have pipenv already installed on your system
> pipenv install
> pipenv shell
```
You will now be inside a pipenv shell with your virtual environment ready.
Use `exit` to exit the pipenv environment.
Testing
-------
* Put tests into the `tests` folder
* Use [PyTest](https://pytest.org) as the testing framework
- Reference: [PyTest introduction](http://pythontesting.net/framework/pytest/pytest-introduction/)
* Run tests with `python setup.py test`
- Configure PyTest in `setup.py` and `setup.cfg`
* Running the test creates the `htmlcov` folder
- Inside this folder a rundown of the issues found will be accessible using the `index.html` file
* All the tests should pass before merging the code
Code analysis
-------------
* Use [Pylint](https://www.pylint.org) as the code analysis framework
* By default it uses the [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/)
* Use the provided `code-analysis.sh` script in order to run the code analysis in the `module` and `tests`
* Code analysis should be run by calling `pylint ska_python_skeleton`. All pertaining options reside under the `.pylintrc` file.
* Code analysis should only raise document related warnings (i.e. `#FIXME` comments) before merging the code
Writing documentation
--------------------
* The documentation generator for this project is derived from SKA's [SKA Developer Portal repository](https://github.com/ska-telescope/developer.skatelescope.org)
* The documentation can be edited under `./docs/src`
* If you want to include only your README.md file, create a symbolic link inside the `./docs/src` directory if the existing one does not work:
```bash
$ cd docs/src
$ ln -s ../../README.md README.md
```
* In order to build the documentation for this specific project, execute the following under `./docs`:
```bash
$ make html
```
* The documentation can then be consulted by opening the file `./docs/build/html/index.html`
SHELL := /bin/bash
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = python -msphinx
SPHINXPROJ = skeleton
SOURCEDIR = src
BUILDDIR = build
# 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)
../../README.md
\ No newline at end of file
/*
Following SKA brand guidelines colors are defined as
SKA Sky Blue: rgb(0, 174, 239)
SKA Ocean Blue: rgb(0, 84, 164)
SKA Teal Blue: rgb(0, 104, 138)
SKA Burnt Sun: rgb(236, 134, 35)
SKA Earth Green: rgb(166, 206, 57)
*/
.wy-nav-side{
background-color: rgb(0, 84, 164);
color: white;
}
.wy-side-nav-search{
padding-top: 0px;
/*background-color: rgb(0, 174, 239);*/
background-color: rgb(0, 84, 164);
text-align: center;
}
.wy-menu-vertical p.caption{
color: rgb(236, 134, 35);
}
.wy-menu {
color: white;
}
.wy-menu-vertical a{
color: white;
}
.local-toc ul li a:hover {
background-color: rgb(0, 174, 239);
}
.wy-side-nav-search a{
padding-top: 0px;
}
.wy-side-nav-search a img.logo{
background-color: rgb(255, 255, 255);
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
padding-top: 40px;
}
.ska-logo, ska-logo:hover{
background-attachment: scroll;
background-clip: border-box;
background-color: rgb(255, 255, 255);
background-image: url("https://www.skatelescope.org/wp-content/themes/skatelescope.org-theme/img/img-logo3.png");
background-origin: padding-box;
background-position: 22px 35px;
background-position-x: 22px;
background-position-y: 35px;
background-repeat: no-repeat;
background-size: 153px 98px;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
/*color: rgb(0, 86, 120);
float: left;
font-family: "Eurostile LT W01 Demi", sans-serif;
font-size: 44.8px;
font-weight: 400;
line-height: 60px;
list-style-image: none;
list-style-position: outside;
list-style-type: none;*/
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
margin-top: 0px;
width: 186px;
height: 135px;
}
docs/src/_static/img/favicon.ico

1.37 KiB

docs/src/_static/img/logo.jpg

14.4 KiB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="300px" height="212px" viewBox="0 0 300 212" enable-background="new 0 0 300 212" xml:space="preserve"> <image id="image0" width="300" height="212" x="0" y="0"
xlink:href="data:image/png;base64,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" />
</svg>
jQuery(function(){
var github_v3_endpoint = "https://api.github.com/orgs/ska-telescope/repos";
var list = $("#list-of-projects > ul");
if( list.length ){
list.empty();
$.getJSON(github_v3_endpoint, function(data){
$.each(data, function(key, val){
//console.log(val);
if(val["description"])
description = val["description"];
else
description = "";
item = "<li><a href=\"" +
val["html_url"] +
"\">" +
val["name"] +
"</a> " +
description +
"</li>";
$(item).appendTo(list);
}); //end each
}); //end getJSON
}else{ //if list not found
//console.log("list not found")
}
});
{% extends "!footer.html" %}
{% block extrafooter %}
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">
<img alt="Creative Commons Licence"
style="border-width:0"
src="https://i.creativecommons.org/l/by/4.0/88x31.png" />
</a>
<br />
<span xmlns:dct="http://purl.org/dc/terms/"
property="dct:title">
SKA developer documentation
</span>
by
<a xmlns:cc="http://creativecommons.org/ns#"
href="developer.skatelscope.org"
property="cc:attributionName"
rel="cc:attributionURL">
SKA organisation
</a>
is licensed under a
<a rel="license"
href="http://creativecommons.org/licenses/by/4.0/">
Creative Commons Attribution 4.0 International License
</a>.
<br />Based on a work at
<a xmlns:dct="http://purl.org/dc/terms/"
href="https://github.com/ska-telescope/developer.skatelescope.org"
rel="dct:source">
github.com/ska-telescope/developer.skatelescope.org
</a>.
<br /><br />
This work is inspired by the
<a href="https://developer.lsst.io/">
LSST developer guide
</a> © Copyright 2016-2018 Association of Universities for Research in Astronomy, licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
<br /><br />
This work is inspired by the
<a href="https://www.apache.org/dev/">
Apache developer information
</a>
Copyright © 2018 The Apache Software Foundation, Licensed under the
<a rel="license" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
{% endblock %}
{% extends "!layout.html" %}
{#
{% block sidebartitle %}
#}
{# original content
{% if logo and theme_logo_only %}
<a href="{{ pathto(master_doc) }}">
{% else %}
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{project }}
{% endif %}
{% if logo %}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" />
{% endif %}
</a>
{% if theme_display_version %}
{%- set nav_version = version %}
{% if READTHEDOCS and current_version %}
{%- set nav_version = current_version %}
{% endif %}
{% if nav_version %}
<div class="version">
{{ nav_version }}
</div>
{% endif %}
{% endif %}
{% include "searchbox.html" %}
end of original content #}
{#
<a href="{{pathto(master_doc)}}" class="ska-logo"></a>
{% include "searchbox.html" %}
{% endblock %}
#}
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# developer.skatelescope.org documentation build configuration file, created by
# sphinx-quickstart on Wed Dec 13 11:59:38 2017.
#
# 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
sys.path.insert(0, os.path.abspath('../..'))
import sphinx_rtd_theme
def setup(app):
app.add_stylesheet('css/custom.css')
app.add_javascript('js/github.js')
# -- 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.napoleon',
'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.mathjax',
'sphinx.ext.ifconfig',
'sphinx.ext.viewcode',
'sphinx.ext.githubpages',
'recommonmark']
# 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 = 'developer.skatelescope.org'
copyright = '2018, SKA Organization'
author = 'Marco Bartolini'
# 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.Z version.
version = '0.1.0'
# The full version, including alpha/beta/rc pre-release tags.
release = '0.1.0-beta'
# 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 = 'En-en'
# 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 = []
# 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 = True
# -- 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 = 'sphinx_rtd_theme'
# 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 = {
#'logo_only' : False,
#'logo_only' : 'ska_logo.jpg',
#'logo' : 'ska_logo.jpg',
}
html_context = {
'favicon': 'img/favicon.ico',
'logo': 'img/logo.jpg',
'theme_logo_only' : True,
'display_github': True, # Integrate GitHub
'github_user': 'flyingfrog81', # Username
'github_repo': 'developer.skatelescope.org', # Repo name
'github_version': 'master', # Version
'conf_py_path': '/src/', # Path in the checkout to the docs root
}
# 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 = {
# '**': [
# 'about.html',
# 'navigation.html',
# 'relations.html', # needs 'show_related': True theme option to display
# 'searchbox.html',
# 'donate.html',
# ]
#}
# -- Options for HTMLHelp output ------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'developerskatelescopeorgdoc'
# -- 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, 'developerskatelescopeorg.tex', 'developer.skatelescope.org Documentation',
'Marco Bartolini', '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, 'developerskatelescopeorg', 'developer.skatelescope.org 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, 'developerskatelescopeorg', 'developer.skatelescope.org Documentation',
author, 'developerskatelescopeorg', 'One line description of project.',
'Miscellaneous'),
]
# -- Options for Epub output ----------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
epub_author = author
epub_publisher = author
epub_copyright = copyright
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''
# A unique identification for the text.
#
# epub_uid = ''
# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'https://docs.python.org/': None}
.. skeleton documentation master file, created by
sphinx-quickstart on Thu May 17 15:17:35 2018.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. HOME SECTION ==================================================
.. Hidden toctree to manage the sidebar navigation.
.. toctree::
:maxdepth: 2
:caption: Home
:hidden:
.. README =============================================================
.. This project most likely has it's own README. We include it here.
.. toctree::
:maxdepth: 2
:caption: Readme
README
.. COMMUNITY SECTION ==================================================
..
.. toctree::
:maxdepth: 2
:caption: Package-name
:hidden:
package/guide
Project-name documentation
==========================
These are all the packages, functions and scripts that form part of the project.
- :doc:`package/guide`
.. doctest-skip-all
.. _package-guide:
.. todo::
- Insert todo's here
**************************
Package-name documentation
**************************
This section describes requirements and guidelines.
Subtitle
========
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
.. Automatic API Documentation section. Generating the API from the docstrings. Modify / change the directory structure as you like
Public API Documentation
````````````````````````
Functions
---------
.. automodule:: ska_python_skeleton.ska_python_skeleton
:members:
Classes
-------
.. autoclass:: ska_python_skeleton.ska_python_skeleton.SKA
:noindex:
:members:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment