[(scope)]: Subject
[Body]
```
Scope and body are optional. Type can be:
- `build`: About packaging, building wheels, etc.
- `chore`: About packaging or repo/files management.
- `ci`: About Continuous Integration.
- `docs`: About documentation.
- `feat`: New feature.
- `fix`: Bug fix.
- `perf`: About performance.
- `refactor`: Changes which are not features nor bug fixes.
- `style`: A change in code style/format.
- `tests`: About tests.
**Subject (and body) must be valid Markdown.**
If you write a body, please add issues references at the end:
```
Body.
References: #10, #11.
Fixes #15.
```
## Pull requests guidelines
Link to any related issue in the Pull Request message.
During review, we recommend using fixups:
```bash
# SHA is the SHA of the commit you want to fix
git commit --fixup=SHA
```
Once all the changes are approved, you can squash your commits:
```bash
git rebase -i --autosquash master
```
And force-push:
```bash
git push -f
```
If this seems all too complicated, you can push or force-push each new commit,
and we will squash them ourselves if needed, before merging.
python-legacy-0.2.3/LICENSE 0000664 0000000 0000000 00000001362 14244443640 0015313 0 ustar 00root root 0000000 0000000 ISC License
Copyright (c) 2021, Timothée Mazzucotelli
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
python-legacy-0.2.3/Makefile 0000664 0000000 0000000 00000001566 14244443640 0015754 0 ustar 00root root 0000000 0000000 .DEFAULT_GOAL := help
SHELL := bash
DUTY = $(shell [ -n "${VIRTUAL_ENV}" ] || echo pdm run) duty
args = $(foreach a,$($(subst -,_,$1)_args),$(if $(value $a),$a="$($a)"))
check_quality_args = files
docs_serve_args = host port
release_args = version
test_args = match
BASIC_DUTIES = \
changelog \
check-dependencies \
clean \
coverage \
docs \
docs-deploy \
docs-regen \
docs-serve \
format \
release
QUALITY_DUTIES = \
check-quality \
check-docs \
check-types \
test
.PHONY: help
help:
@$(DUTY) --list
.PHONY: lock
lock:
@pdm lock
.PHONY: setup
setup:
@bash scripts/setup.sh
.PHONY: check
check:
@bash scripts/multirun.sh duty check-quality check-types check-docs
@$(DUTY) check-dependencies
.PHONY: $(BASIC_DUTIES)
$(BASIC_DUTIES):
@$(DUTY) $@ $(call args,$@)
.PHONY: $(QUALITY_DUTIES)
$(QUALITY_DUTIES):
@bash scripts/multirun.sh duty $@ $(call args,$@)
python-legacy-0.2.3/README.md 0000664 0000000 0000000 00000006775 14244443640 0015602 0 ustar 00root root 0000000 0000000 mkdocstrings-python-legacy
The legacy Python handler for mkdocstrings.
---

WARNING: We suggest using the new handler instead:
[mkdocstrings-python](https://mkdocstrings.github.io/python/).
## Installation
You can install this handler as a *mkdocstrings* extra:
```toml title="pyproject.toml"
# PEP 621 dependencies declaration
# adapt to your dependencies manager
[project]
dependencies = [
"mkdocstrings[python-legacy]>=0.18",
]
```
You can also explicitely depend on the handler:
```toml title="pyproject.toml"
# PEP 621 dependencies declaration
# adapt to your dependencies manager
[project]
dependencies = [
"mkdocstrings-python-legacy",
]
```
## Preview

## Features
- **Data collection from source code**: collection of the object-tree and the docstrings is done thanks to
[pytkdocs](https://github.com/mkdocstrings/pytkdocs).
- **Support for type annotations:** pytkdocs collects your type annotations and *mkdocstrings* uses them
to display parameters types or return types.
- **Recursive documentation of Python objects:** just use the module dotted-path as identifier, and you get the full
module docs. You don't need to inject documentation for each class, function, etc.
- **Support for documented attributes:** attributes (variables) followed by a docstring (triple-quoted string) will
be recognized by Griffe in modules, classes and even in `__init__` methods.
- **Multiple docstring-styles support:** common support for Google-style, Numpydoc-style,
and Sphinx-style docstrings.
- **Admonition support in Google docstrings:** blocks like `Note:` or `Warning:` will be transformed
to their [admonition](https://squidfunk.github.io/mkdocs-material/reference/admonitions/) equivalent.
*We do not support nested admonitions in docstrings!*
- **Every object has a TOC entry:** we render a heading for each object, meaning *MkDocs* picks them into the Table
of Contents, which is nicely display by the Material theme. Thanks to *mkdocstrings* cross-reference ability,
you can reference other objects within your docstrings, with the classic Markdown syntax:
`[this object][package.module.object]` or directly with `[package.module.object][]`
- **Source code display:** *mkdocstrings* can add a collapsible div containing the highlighted source code
of the Python object.
python-legacy-0.2.3/config/ 0000775 0000000 0000000 00000000000 14244443640 0015551 5 ustar 00root root 0000000 0000000 python-legacy-0.2.3/config/coverage.ini 0000664 0000000 0000000 00000000422 14244443640 0020043 0 ustar 00root root 0000000 0000000 [coverage:run]
branch = true
parallel = true
source =
src/
tests/
[coverage:paths]
equivalent =
src/
__pypackages__/
[coverage:report]
precision = 2
omit =
src/*/__init__.py
src/*/__main__.py
tests/__init__.py
[coverage:json]
output = htmlcov/coverage.json
python-legacy-0.2.3/config/flake8.ini 0000664 0000000 0000000 00000005142 14244443640 0017426 0 ustar 00root root 0000000 0000000 [flake8]
exclude = fixtures,site,snippets
max-line-length = 132
docstring-convention = google
ban-relative-imports = true
ignore =
# redundant with W0622 (builtin override), which is more precise about line number
A001
# missing docstring in magic method
D105
# multi-line docstring summary should start at the first line
D212
# does not support Parameters sections
D417
# whitespace before ':' (incompatible with Black)
E203
# redundant with E0602 (undefined variable)
F821
# black already deals with quoting
Q000
# use of assert
S101
# we are not parsing XML
S405
# line break before binary operator (incompatible with Black)
W503
# two-lowercase-letters variable DO conform to snake_case naming style
C0103
# redundant with D102 (missing docstring)
C0116
# line too long
C0301
# too many instance attributes
R0902
# too few public methods
R0903
# too many public methods
R0904
# too many branches
R0912
# too many methods
R0913
# too many local variables
R0914
# too many statements
R0915
# redundant with F401 (unused import)
W0611
# lazy formatting for logging calls
W1203
# short name
VNE001
# f-strings
WPS305
# common variable names (too annoying)
WPS110
# redundant with W0622 (builtin override), which is more precise about line number
WPS125
# too many imports
WPS201
# too many module members
WPS202
# overused expression
WPS204
# too many local variables
WPS210
# too many arguments
WPS211
# too many expressions
WPS213
# too many methods
WPS214
# too deep nesting
WPS220
# high Jones complexity
WPS221
# too many elif branches
WPS223
# string over-use: can't disable it per file?
WPS226
# too many public instance attributes
WPS230
# too complex f-string
WPS237
# too cumbersome, asks to write class A(object)
WPS306
# multi-line parameters (incompatible with Black)
WPS317
# multi-line strings (incompatible with attributes docstrings)
WPS322
# implicit string concatenation
WPS326
# explicit string concatenation
WPS336
# noqa overuse
WPS402
# __init__ modules with logic
WPS412
# print statements
WPS421
# statement with no effect (not compatible with attribute docstrings)
WPS428
# redundant with C0415 (not top-level import)
WPS433
# multiline attribute docstring
WPS462
# implicit dict.get usage (generally false-positive)
WPS529
python-legacy-0.2.3/config/mypy.ini 0000664 0000000 0000000 00000000162 14244443640 0017247 0 ustar 00root root 0000000 0000000 [mypy]
ignore_missing_imports = true
exclude = tests/fixtures/
warn_unused_ignores = true
show_error_codes = true
python-legacy-0.2.3/config/pytest.ini 0000664 0000000 0000000 00000000270 14244443640 0017601 0 ustar 00root root 0000000 0000000 [pytest]
norecursedirs =
.git
.tox
.env
dist
build
python_files =
test_*.py
*_test.py
tests.py
addopts =
--cov
--cov-config config/coverage.ini
testpaths =
tests
python-legacy-0.2.3/docs/ 0000775 0000000 0000000 00000000000 14244443640 0015234 5 ustar 00root root 0000000 0000000 python-legacy-0.2.3/docs/changelog.md 0000664 0000000 0000000 00000000026 14244443640 0017503 0 ustar 00root root 0000000 0000000 --8<-- "CHANGELOG.md"
python-legacy-0.2.3/docs/code_of_conduct.md 0000664 0000000 0000000 00000000034 14244443640 0020670 0 ustar 00root root 0000000 0000000 --8<-- "CODE_OF_CONDUCT.md"
python-legacy-0.2.3/docs/contributing.md 0000664 0000000 0000000 00000000031 14244443640 0020257 0 ustar 00root root 0000000 0000000 --8<-- "CONTRIBUTING.md"
python-legacy-0.2.3/docs/credits.md 0000664 0000000 0000000 00000000071 14244443640 0017211 0 ustar 00root root 0000000 0000000 ```python exec="yes"
--8<-- "scripts/gen_credits.py"
```
python-legacy-0.2.3/docs/css/ 0000775 0000000 0000000 00000000000 14244443640 0016024 5 ustar 00root root 0000000 0000000 python-legacy-0.2.3/docs/css/material.css 0000664 0000000 0000000 00000000131 14244443640 0020327 0 ustar 00root root 0000000 0000000 /* More space at the bottom of the page. */
.md-main__inner {
margin-bottom: 1.5rem;
}
python-legacy-0.2.3/docs/css/mkdocstrings.css 0000664 0000000 0000000 00000000205 14244443640 0021242 0 ustar 00root root 0000000 0000000 /* Indentation. */
div.doc-contents:not(.first) {
padding-left: 25px;
border-left: .05rem solid var(--md-typeset-table-color);
}
python-legacy-0.2.3/docs/gen_ref_nav.py 0000775 0000000 0000000 00000001663 14244443640 0020070 0 ustar 00root root 0000000 0000000 """Generate the code reference pages and navigation."""
from pathlib import Path
import mkdocs_gen_files
nav = mkdocs_gen_files.Nav()
for path in sorted(Path("src").rglob("*.py")):
module_path = path.relative_to("src").with_suffix("")
doc_path = path.relative_to("src").with_suffix(".md")
full_doc_path = Path("reference", doc_path)
parts = tuple(module_path.parts)
if parts[-1] == "__init__":
parts = parts[:-1]
doc_path = doc_path.with_name("index.md")
full_doc_path = full_doc_path.with_name("index.md")
elif parts[-1] == "__main__":
continue
nav[parts] = doc_path.as_posix()
with mkdocs_gen_files.open(full_doc_path, "w") as fd:
ident = ".".join(parts)
fd.write(f"::: {ident}")
mkdocs_gen_files.set_edit_path(full_doc_path, path)
with mkdocs_gen_files.open("reference/SUMMARY.md", "w") as nav_file:
nav_file.writelines(nav.build_literate_nav())
python-legacy-0.2.3/docs/index.md 0000664 0000000 0000000 00000000023 14244443640 0016660 0 ustar 00root root 0000000 0000000 --8<-- "README.md"
python-legacy-0.2.3/docs/license.md 0000664 0000000 0000000 00000000031 14244443640 0017172 0 ustar 00root root 0000000 0000000 ```
--8<-- "LICENSE"
```
python-legacy-0.2.3/docs/logo.png 0000664 0000000 0000000 00000162714 14244443640 0016715 0 ustar 00root root 0000000 0000000 PNG
IHDR Z rM zTXtRaw profile type exif xڭgvcvcrZo^+DN;JzzG|Ssg_^(c1}k%,~=o?:םf7U}
?u%K;OVr]##xRHSwjX}s#h
͒wi&ٸ0pOtx4{'Aϻ^$
oe1yT?h|>/|?[~.=oV߳k _|(uJa,pza%WzN\XxGhq2.L&$2kH%Tz,q
{L9)$cNuoB'3yH&%HHӑ`SCK)(k*l-JF=Ksđ2h1䦓'\0EKXf݆EʪnXsǝ6ȵn R:SO;3/vͷzwG־?k;keJlkCIQX́7e@BQStEL(9;(cd0
?#s?ys9?9=oڞ
zاztB)0qd1^W/)ɫӈ=o[imjhDv6mr\KbhZXٷgwNnE|:=w+z~9 b%t_Zo[@