mirror of
https://github.com/enpaul/mezzo.git
synced 2024-12-04 20:30:37 +00:00
commit
1b111791c6
@ -8,4 +8,3 @@ exclude_lines =
|
|||||||
main()
|
main()
|
||||||
\.\.\.
|
\.\.\.
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
38
.github/workflows/ci.yml
vendored
Normal file
38
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
name: CI
|
||||||
|
on: [pull_request]
|
||||||
|
jobs:
|
||||||
|
Test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
python:
|
||||||
|
- version: 3.5
|
||||||
|
toxenv: py35
|
||||||
|
- version: 3.6
|
||||||
|
toxenv: py36
|
||||||
|
- version: 3.7
|
||||||
|
toxenv: py37
|
||||||
|
- version: 3.8
|
||||||
|
toxenv: py38
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python ${{ matrix.python.version }}
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python.version }}
|
||||||
|
- name: Run ${{ matrix.python.toxenv }} tests via tox
|
||||||
|
run: |
|
||||||
|
pip install tox==3.14.5
|
||||||
|
tox -e ${{ matrix.python.toxenv }}
|
||||||
|
Check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up Python 3.7
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: 3.7
|
||||||
|
- name: Run meta checks via tox
|
||||||
|
run: |
|
||||||
|
pip install tox==3.14.5
|
||||||
|
tox -e format -e static -e docs
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -96,4 +96,3 @@ ENV/
|
|||||||
|
|
||||||
# Rope project settings
|
# Rope project settings
|
||||||
.ropeproject
|
.ropeproject
|
||||||
|
|
||||||
|
27
.pre-commit-config.yaml
Normal file
27
.pre-commit-config.yaml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/ambv/black
|
||||||
|
rev: stable
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
language_version: python3.7
|
||||||
|
|
||||||
|
- repo: https://github.com/asottile/blacken-docs
|
||||||
|
rev: v0.5.0
|
||||||
|
hooks:
|
||||||
|
- id: blacken-docs
|
||||||
|
additional_dependencies: [black==19.3b0]
|
||||||
|
language_version: python3.7
|
||||||
|
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v2.0.0
|
||||||
|
hooks:
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: fix-encoding-pragma
|
||||||
|
args: [--remove]
|
||||||
|
- id: trailing-whitespace
|
||||||
|
|
||||||
|
- repo: https://github.com/asottile/reorder_python_imports
|
||||||
|
rev: v1.8.0
|
||||||
|
hooks:
|
||||||
|
- id: reorder-python-imports
|
@ -425,4 +425,3 @@ min-public-methods=2
|
|||||||
# Exceptions that will emit a warning when being caught. Defaults to
|
# Exceptions that will emit a warning when being caught. Defaults to
|
||||||
# "Exception"
|
# "Exception"
|
||||||
overgeneral-exceptions=Exception
|
overgeneral-exceptions=Exception
|
||||||
|
|
||||||
|
@ -18,4 +18,3 @@ PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|||||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
|
||||||
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
3
docs/.gitignore
vendored
Normal file
3
docs/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Exclude autogenerated module documentation
|
||||||
|
modules.rst
|
||||||
|
mezzo*.rst
|
61
docs/conf.py
Normal file
61
docs/conf.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Configuration file for the Sphinx documentation builder.
|
||||||
|
#
|
||||||
|
# This file only contains a selection of the most common options. For a full
|
||||||
|
# list see the documentation:
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
BASE_DIR = Path(__file__).parent.resolve()
|
||||||
|
ABOUT = {}
|
||||||
|
with open(Path(BASE_DIR, "..", "mezzo", "__about__.py")) as infile:
|
||||||
|
exec(infile.read(), ABOUT)
|
||||||
|
|
||||||
|
# The full version, including alpha/beta/rc tags
|
||||||
|
release = ABOUT["__version__"]
|
||||||
|
|
||||||
|
project = ABOUT["__title__"]
|
||||||
|
copyright = "2020, Ethan Paul"
|
||||||
|
author = "; ".join(ABOUT["__authors__"])
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
|
# 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_autodoc_typehints",
|
||||||
|
"sphinx.ext.intersphinx",
|
||||||
|
"sphinx.ext.coverage",
|
||||||
|
"sphinx.ext.imgmath",
|
||||||
|
"sphinx.ext.viewcode",
|
||||||
|
]
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ["_templates"]
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
# This pattern also affects html_static_path and html_extra_path.
|
||||||
|
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
||||||
|
|
||||||
|
|
||||||
|
# -- 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 = "alabaster"
|
||||||
|
|
||||||
|
# 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 = []
|
||||||
|
|
||||||
|
# -- Extension configuration -------------------------------------------------
|
||||||
|
|
||||||
|
# -- Options for intersphinx extension ---------------------------------------
|
||||||
|
|
||||||
|
# Example configuration for intersphinx: refer to the Python standard library.
|
||||||
|
intersphinx_mapping = {"https://docs.python.org/": None}
|
21
docs/index.rst
Normal file
21
docs/index.rst
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
.. Mezzo documentation master file, created by
|
||||||
|
sphinx-quickstart on Fri Mar 13 21:33:10 2020.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to Mezzo's documentation!
|
||||||
|
=================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: Contents:
|
||||||
|
|
||||||
|
API Reference <mezzo>
|
||||||
|
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
4
mezzo/__about__.py
Normal file
4
mezzo/__about__.py
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# pylint: disable=missing-docstring
|
||||||
|
__version__ = "0.0.0"
|
||||||
|
__title__ = "mezzo"
|
||||||
|
__authors__ = ["Ethan Paul <e@enp.one>"]
|
1524
poetry.lock
generated
1524
poetry.lock
generated
File diff suppressed because it is too large
Load Diff
@ -6,9 +6,21 @@ authors = ["Ethan Paul <e@enp.one>"]
|
|||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = "^3.4"
|
python = "^3.5"
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
|
tox = "^3.14.5"
|
||||||
|
sphinx = "^2.4.4"
|
||||||
|
sphinx-autodoc-typehints = {version = "^1.10.3", python = "^3.5.2"}
|
||||||
|
reorder-python-imports = {version = "^2.1.0", python = "^3.6.1"}
|
||||||
|
bandit = "^1.6.2"
|
||||||
|
ipython = {version = "^7.13.0", python = "^3.6"}
|
||||||
|
pre-commit = "^1.10"
|
||||||
|
mypy = "^0.770"
|
||||||
|
black = {version = "^19.10b0", allow-prereleases = true, python = "^3.6"}
|
||||||
|
pylint = "^2.4.4"
|
||||||
|
pytest = "^5.4.1"
|
||||||
|
pytest-cov = "^2.8.1"
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["poetry>=1.0.0"]
|
requires = ["poetry>=1.0.0"]
|
||||||
|
45
tox.ini
Normal file
45
tox.ini
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
[tox]
|
||||||
|
envlist = py35, py36, py37, py38, format, static, docs
|
||||||
|
skip_missing_interpreters = true
|
||||||
|
isolated_build = true
|
||||||
|
|
||||||
|
[testenv]
|
||||||
|
description = Nothing for now
|
||||||
|
commands =
|
||||||
|
python -c "print('Hello World!')"
|
||||||
|
|
||||||
|
[testenv:format]
|
||||||
|
description = Enforce file formatting (pre-commit)
|
||||||
|
skip_install = true
|
||||||
|
basepython = python3
|
||||||
|
deps =
|
||||||
|
pre-commit == 1.21.0
|
||||||
|
commands =
|
||||||
|
pre-commit run --all-files
|
||||||
|
|
||||||
|
[testenv:static]
|
||||||
|
description = Static code analysis (mypy+pylint+bandit)
|
||||||
|
basepython = python3.7
|
||||||
|
ignore_errors = true
|
||||||
|
deps =
|
||||||
|
pylint == 2.4.4
|
||||||
|
mypy == 0.770
|
||||||
|
bandit == 1.6.2
|
||||||
|
commands =
|
||||||
|
mypy mezzo --ignore-missing-imports --no-strict-optional
|
||||||
|
pylint mezzo --rcfile .pylintrc
|
||||||
|
bandit --recursive mezzo
|
||||||
|
|
||||||
|
[testenv:docs]
|
||||||
|
description = Build documentation (sphinx)
|
||||||
|
basepython = python3.7
|
||||||
|
deps =
|
||||||
|
sphinx == 2.4.4
|
||||||
|
sphinx-autodoc-typehints == 1.10.3
|
||||||
|
whitelist_externals =
|
||||||
|
rm
|
||||||
|
commands =
|
||||||
|
sphinx-apidoc -o "./docs/" "mezzo"
|
||||||
|
rm "docs/modules.rst"
|
||||||
|
sphinx-build -M html "./docs/" "./docs/_build" -W
|
||||||
|
sphinx-build -M latex "./docs/" "./docs/_build" -W
|
Loading…
Reference in New Issue
Block a user