Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alfred82santa/dirty-models-sphinx
Sphinx extension for dirty models
https://github.com/alfred82santa/dirty-models-sphinx
Last synced: about 2 months ago
JSON representation
Sphinx extension for dirty models
- Host: GitHub
- URL: https://github.com/alfred82santa/dirty-models-sphinx
- Owner: alfred82santa
- License: gpl-2.0
- Created: 2014-04-11T12:23:02.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2022-08-26T10:27:12.000Z (over 2 years ago)
- Last Synced: 2024-10-08T02:51:45.747Z (3 months ago)
- Language: Python
- Homepage: http://dirty-models-sphinx-extension.readthedocs.io
- Size: 51.8 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
|doc-master| |pypi-lastrelease| |python-versions|
|project-status| |project-license| |project-format|
|project-implementation|.. |doc-master| image:: https://readthedocs.org/projects/dirty-models-sphinx-extension/badge/?version=latest
:target: http://dirty-models-sphinx-extension.readthedocs.io/?badge=latest
:alt: Documentation Status.. |pypi-lastrelease| image:: https://img.shields.io/pypi/v/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: Latest Version.. |python-versions| image:: https://img.shields.io/pypi/pyversions/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: Supported Python versions.. |project-status| image:: https://img.shields.io/pypi/status/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: Development Status.. |project-license| image:: https://img.shields.io/pypi/l/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: License.. |project-format| image:: https://img.shields.io/pypi/format/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: Download format.. |project-implementation| image:: https://img.shields.io/pypi/implementation/dirty-models-sphinx.svg
:target: https://pypi.python.org/pypi/dirty-models-sphinx/
:alt: Supported Python implementations.. _Dirty Models: http://dirty-models.readthedocs.io/
.. _Dirty Validators: https://github.com/alfred82santa/dirty-validators
.. _Dirty Models Sphinx extension: http://dirty-models-sphinx-extension.readthedocs.io
.. _Sphinx: http://www.sphinx-doc.org
.. _autodoc: http://www.sphinx-doc.org/en/stable/ext/autodoc.html?highlight=autodoc#module-sphinx.ext.autodoc
=============================
Dirty Models Sphinx extension
=============================`Sphinx`_ extension for dirty models
-----
About
-----`Sphinx`_ extension to help developers to write documentation of
applications which use `Dirty Models`_.Features
========* Describe each field with real type.
* All field types defined on `Dirty Models`_ are documented.
* Use prefixed (doc comment using ``#:`` before field) or
suffixed (Multiline doc string after field) documentation for each field.* Document ``read only`` fields.
* Document default value for each field.
* Document datetime format on those fields.
* Able to set a prefix text in model signature.
* Able to set a prefix text in fields signature.
* Able to document field type as annotation or as field directive.
* Able to add models to ``toctree``.
* Able to add model attributes to ``toctree``.
* Able to describe model as structure.
Changelog
=========Version 0.6.2
-------------* Make it compatible with newer versions of `Sphinx`_ (+5.0).
Version 0.6.1
-------------* Remove deprecated dependencies in `Sphinx`_ 3.0.0.
* Added documentation for `HashMapModels` with hardcoded field type.
* Fixes.Version 0.6.0
-------------* Use `access_mode` of `Dirty Models`_ version `0.12.0`.
Version 0.5.1
-------------* Fix regressions.
Version 0.5.0
-------------* Added option to describe model as structure.
* Added enum documenter.
* Added option to hide/show alias.
* Added option to hide/show read-only tag.
* Added option to use custom title as model name.
* No document fields with key `hidden` set to true on field metadata.
* Better field type handling.
* New module autodocumenter `autodirtymodule` in order to allow to set new options at module level.Version 0.4.1
-------------* Fix installation.
Version 0.4.0
-------------* Document default timezone on TimeField and DatetimeField.
* Document forced timezone on DatetimeField.
* Minor fixes.
* Fix nested classes.
* Document EnumField.Version 0.3.0
-------------* Added option to add models to ``toctree``.
* Added option to add model attributes to ``toctree``.
* Added option to set prefix model signature.
* Added option to set prefix model field signature.
* Added option to use field type as annotation.
* Added fields to index.
* Changed default value label to ``Default value``.Issues
======* Latex manual document class builder fails when model attributes are in ``toctree``.
That is because it creates a fake sections with same ``ids`` and remove after ``toctree`` is created.
So, latex builder does not found references when it try to create links.------------
Installation
------------Just use ``pip`` to install it:
.. code-block:: bash
$ pip install dirty-models-sphinx
And add to `Sphinx`_ extensions to your project.
.. warning::
`autodoc`_ extension (included in Sphinx) is required.
**conf.py file:**
.. code-block:: python
extensions = [
'sphinx.ext.autodoc',
'dirty_models_sphinx'
]-------------
Configuration
-------------It is possible to modify `Dirty Models Sphinx extension`_ behavior using configuration in ``conf.py`` file.
**dirty_model_add_classes_to_toc**
If it is ``True`` Dirty Models classes will be added to table of content. Default: ``True``.
**dirty_model_add_attributes_to_toc**
If it is ``True`` Dirty Models class attributes will be added to table of content, only if classes were added.
Default: ``True``.**dirty_model_class_label**
It defines a prefix text for Dirty Model class signatures. It is possible to use ``None`` in order to avoid prefix.
Default: ``'Model'``.**dirty_model_property_label**
It defines a prefix text for Dirty Model class field signatures. It is possible to use ``None`` in
order to avoid prefix. Default: ``'property'``.**dirty_enum_label**
It defines a prefix text for enumearions signatures. It is possible to use ``None`` in
order to avoid prefix. Default: ``'Enum'``.**dirty_model_hide_alias**
It allows to hide field alias.
**dirty_model_hide_readonly**
It allows to hide read-only tags.
-----
Usage
-----Just use regular autodocumenter:
.. code-block:: rst
.. automodule:: models
:members:
:show-inheritance:------
Future
------* Document `Dirty Validators`_.
* Document basic validations.
-------------
Documentation
-------------http://dirty-models-sphinx-extension.readthedocs.io