Tests and Documentation Done by Example.
Project description
Read Latest Documentation - Browse GitHub Code Repository
eXamples (AKA: xamples for SEO purposes) is a Python3 library enabling interactable, self-documentating, and self-verifying examples to be attached to Python functions using decorators.
Key Features:
- Simple and Obvious API: Simply add
@examples.example(*args, **kwargs)decorators for each example you want to add to a function. - Statically Generated:
portraywebsites are easy to host on GitHub pages and other similar services as they are outputted as standard static HTML websites. - Markdown Aware:
portraywill automatically include your projects.mdfiles and render them into HTML. It will also find and render Markdown within__doc__strings. - Fully Configurable: While
portraydoesn't have to be configured, you still can fully configure it within the standardpyproject.tomlfile. - Easily Programmable:
portrayexposes a clean and simple Python API. - Searchable: Out of the box
portraymakes all of your documentation, even autogenerated code references, free-text searchable. - Themeable:
portrayis compatible with all existing MkDocs Themes.
Under the hood, portray combines the Markdown documentation rendering capabilities provided by MkDocs with the automatic reference documentation generated by pdocs.
Quick Start
The following guides should get you up and running with a documentation website in no time.
- Installation - TL;DR: Run
pip3 install portraywithin your projects virtual environment. - Command Line Usage - TL;DR: Run
portray in_browserto test andportray on_github_pagesto deploy. - API Usage - TL;DR: Everything available via the CLI is also easily available programmatically from within Python.
- Configuration - TL;DR: Put all configuration within a
[tool.portray]section of yourpyproject.tomlfile.
Why Create Examples?
I've always wanted a way to attach examples to functions in a way that would be re-useable for documentation, testing, and API proposes. Just like moving Python parameter types from comments into prorammatically specified and easily introspectable entities has made them more braodly useful, I hope examples can do the same for example parameters.
I hope you too find eXamples useful!
~Timothy Crosley
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file examples-0.1.0.tar.gz.
File metadata
- Download URL: examples-0.1.0.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-25-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bba7ee36f9e798c89b32aecedc66dca012bd5fe04c6be8e4cb6570ed44c8f47e
|
|
| MD5 |
e430043b9ac0b5f9169aff4f20662b9f
|
|
| BLAKE2b-256 |
7f960fbf84c641fb30b90a2bd85f07b61bc44c842621140c8900c22cedd5e1d4
|
File details
Details for the file examples-0.1.0-py3-none-any.whl.
File metadata
- Download URL: examples-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/5.0.0-25-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17d69fe4f70af7ddcc18b47d97a0587339074b6cd565bb2f834e428c0262290e
|
|
| MD5 |
82d69a7a13b88fd0655abd0443db5fbb
|
|
| BLAKE2b-256 |
e237c36f7e528bb6609142256cbd297809984f3e90d20210469fa1c9f3150a86
|