docshund: a doc dog.
Project description
d o c s h u n d
simple code documentation generation
NOTE: Docshund is in alpha and may not yet be suitable for production workloads. Please exercise caution when using. (We'll try not to break everything if you promise not to expect it not to break everything.)
Why
We were tired of complex, long-running doc-generators. In some cases, we wanted to generate documentation for our source but didn't want to install all of our libraries' dependencies just to make a small change to a README. Docshund is the answer to this problem. Docshund doesn't require pip-installation of your package and, even for large projects, runs in just a handful of milliseconds.
On the flip-side, Docshund does not have the same featurelist as many other libraries, and Docshund also has a hard time jumping up onto your couch without help.
Installation
pip3 install docshund
Usage
docshund code.py > documentation.md
Or document an entire module with:
docshund .
docshund /path/to/module
What she do:
Go from this:
class Foo:
"""
This is a foo.
Do not cross the foo streams!
"""
def __init__(self):
"""
Create a new foo.
"""
def cross_streams(self, other_foo: Foo = None):
"""
Cross the streams of this foo with another foo.
If you do this, it will throw an error.
Arguments:
other_foo (Foo: None): The foo with which you'd like to cross streams
Returns:
None
Raises:
FooError: Raised if you cross the streams.
"""
if other_foo:
raise FooError("What did we JUST tell you?!")
To this markdown:
## *Class* `Foo`
This is a foo.
Do not cross the foo streams!
## *Function* `__init__(self)`
Create a new foo.
## *Function* `cross_streams(self, other_foo: Foo = None)`
Cross the streams of this foo with another foo.
If you do this, it will throw an error.
### Arguments
> - **other_foo** (`Foo`: `None`): The foo with which you'd like to cross streams
### Returns
None
### Raises
> - **FooError** (`None`: `None`): Raised if you cross the streams.
Class Foo
This is a foo.
Do not cross the foo streams!
Function __init__(self)
Create a new foo.
Function cross_streams(self, other_foo: Foo = None)
Cross the streams of this foo with another foo.
If you do this, it will throw an error.
Arguments
- other_foo (
Foo
:None
): The foo with which you'd like to cross streams
Returns
None
Raises
- FooError (
None
:None
): Raised if you cross the streams.
Generating documentation for this repository
The reference documentation for this repository was generated using the following command:
docshund docshund/__init__.py > docs/Reference.md
You might say we... 😎 ate our own dogfood.
Legal
Licensed under Apache 2.0. Reach out to opensource@fitmango.com with questions.
Copyright 2019 FitMango.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this codebase except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
(_______________()'`;
/, /`
\\"-------------\\
Made with ❤️ at 🥭
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
File details
Details for the file docshund-0.1.3.tar.gz
.
File metadata
- Download URL: docshund-0.1.3.tar.gz
- Upload date:
- Size: 257.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 333ee877723686c634a3170595ba5ad3e465f4e5c66ffb7262e64f1dc7441427 |
|
MD5 | d866457119a9e7fb6c0018fe76a25347 |
|
BLAKE2b-256 | 210e6d81b7eb296184c2ab954c63eabacce4a0478844a727204b90e978463f3c |