dungeonsheets


Namedungeonsheets JSON
Version 0.19.0 PyPI version JSON
download
home_pagehttps://github.com/canismarko/dungeon-sheets
SummaryDungeons and Dragons 5e Character Tools
upload_time2023-11-09 17:28:51
maintainer
docs_urlNone
authorMark Wolfman
requires_python>=3.7
licenseGPLv3
keywords d&d character sheets
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ================
 Dungeon Sheets
================

A tool to create character sheets and session notes for Dungeons and
Dragons 5th edition (D&D 5e).

.. image:: https://travis-ci.com/canismarko/dungeon-sheets.svg?branch=master
   :target: https://travis-ci.com/canismarko/dungeon-sheets
   :alt: Build status

.. image:: https://coveralls.io/repos/github/canismarko/dungeon-sheets/badge.svg
   :target: https://coveralls.io/github/canismarko/dungeon-sheets
   :alt: Test coverage status

.. image:: https://readthedocs.org/projects/dungeon-sheets/badge/?version=latest
   :target: https://dungeon-sheets.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://github.com/psf/black

Documentation
=============

Documentation can be found on readthedocs_.

.. _readthedocs: https://dungeon-sheets.readthedocs.io/en/latest/?badge=latest

Installation
============

.. code:: bash

    $ pip install dungeonsheets

.. note::

   Dungeon sheets requires **at least python 3.6**. This is mostly due
   to the liberal use of f-strings_. If you want to use it with
   previous versions of python 3, you'll probably have to replace all
   the f-strings with the older ``.format()`` method or string
   interpolation.

.. _f-strings: https://www.python.org/dev/peps/pep-0498/

Optional External dependencies
==============================

* You may use **pdftk** to generate the sheets in PDF format.
* You will need **pdflatex**, and a few latex packages, installed to
  generate the PDF spell pages (optional).

If **pdftk** is available, it will be used for pdf generation. If not,
a fallback python library (pdfrw) will be used. This has some
limitations:

- Produces v1.3 PDF files
- Not able to flatten PDF forms
- Will produce separate character-sheets, spell-lists and spell-books.
  
Different linux distributions have different names for packages. While
pdftk is available in Debian and derivatives as **pdftk**, the package
is not available in some RPM distributions, such as Fedora and CentOS.
One alternative would be to build your PC sheets using docker.

If the ``pdflatex`` command is available on your system, spellcasters
will include a spellbook with descriptions of each spell known. If
not, then this feature will be skipped.

In order to properly format descriptions for spells/features/etc.,
some additional latex packages are needed. On Ubuntu these can be
install with:

.. code:: bash

    $ sudo apt-get -y install pdftk texlive-latex-base texlive-latex-extra texlive-fonts-recommended

Usage
=====

Each character or set of GM notes is described by a python (or a VTTES
JSON) file, which gives many attributes associated with the
character. See examples_ for more information about the character
descriptions.

.. _examples: https://github.com/canismarko/dungeon-sheets/tree/master/examples

The PDF's can then be generated using the ``makesheets`` command. If
no filename is given, the current directory will be parsed and any
valid files found will be processed. If the ``--recursive`` option is
used, sub-folders will also be parsed.

.. code:: bash

    $ cd examples
    $ makesheets

dungeon-sheets contains definitions for standard weapons and spells,
so attack bonuses and damage can be calculated automatically.

Consider using the ``-F`` option to include the excellent D&D 5e
template for rendering spellbooks, druid wild forms and features
pages (https://github.com/rpgtex/DND-5e-LaTeX-Template).

If you'd like a **step-by-step walkthrough** for creating a new
character, just run ``create-character`` from a command line and a
helpful menu system will take care of the basics for you.


Content Descriptions
====================

The descriptions of content elements (e.g. classes, spells, etc.) are
included in docstrings. The descriptions should ideally conform to
reStructured text. This allows certain formatting elements to be
properly parsed and rendered into LaTeX or HTML::

  class Scrying(Spell):
    """You can see and hear a particular creature you choose that is on
    the same plane of existence as you. The target must make a W isdom
    saving throw, which is modified by how well you know the target
    and the sort of physical connection you have to it. If a target
    knows you're casting this spell, it can fail the saving throw
    voluntarily if it wants to be observed.

    Knowledge - Save Modifier
    -------------------------
    - Secondhand (you have heard of the target) - +5
    - Firsthand (you have met the target) - +0
    - Familiar (you know the target well) - -5

    Connection - Save Modifier
    --------------------------
    - Likeness or picture - -2
    - Possession or garment - -4
    - Body part, lock of hair, bit of nail, or the like - -10

    """
    name = "Scrying"
    level = 5
    ...

For content that is not part of the SRD, consider using other
sources. As an example, parse5e_ can be used to retrieve spells.


.. _parse5e: https://github.com/user18130814200115-2/parse5e

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/canismarko/dungeon-sheets",
    "name": "dungeonsheets",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "D&D character sheets",
    "author": "Mark Wolfman",
    "author_email": "canismarko@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/d8/a0/5abac38747eed3962de0e736de086335ebbf7b05efd6325d01bc60483abb/dungeonsheets-0.19.0.tar.gz",
    "platform": null,
    "description": "================\n Dungeon Sheets\n================\n\nA tool to create character sheets and session notes for Dungeons and\nDragons 5th edition (D&D 5e).\n\n.. image:: https://travis-ci.com/canismarko/dungeon-sheets.svg?branch=master\n   :target: https://travis-ci.com/canismarko/dungeon-sheets\n   :alt: Build status\n\n.. image:: https://coveralls.io/repos/github/canismarko/dungeon-sheets/badge.svg\n   :target: https://coveralls.io/github/canismarko/dungeon-sheets\n   :alt: Test coverage status\n\n.. image:: https://readthedocs.org/projects/dungeon-sheets/badge/?version=latest\n   :target: https://dungeon-sheets.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://github.com/psf/black\n\nDocumentation\n=============\n\nDocumentation can be found on readthedocs_.\n\n.. _readthedocs: https://dungeon-sheets.readthedocs.io/en/latest/?badge=latest\n\nInstallation\n============\n\n.. code:: bash\n\n    $ pip install dungeonsheets\n\n.. note::\n\n   Dungeon sheets requires **at least python 3.6**. This is mostly due\n   to the liberal use of f-strings_. If you want to use it with\n   previous versions of python 3, you'll probably have to replace all\n   the f-strings with the older ``.format()`` method or string\n   interpolation.\n\n.. _f-strings: https://www.python.org/dev/peps/pep-0498/\n\nOptional External dependencies\n==============================\n\n* You may use **pdftk** to generate the sheets in PDF format.\n* You will need **pdflatex**, and a few latex packages, installed to\n  generate the PDF spell pages (optional).\n\nIf **pdftk** is available, it will be used for pdf generation. If not,\na fallback python library (pdfrw) will be used. This has some\nlimitations:\n\n- Produces v1.3 PDF files\n- Not able to flatten PDF forms\n- Will produce separate character-sheets, spell-lists and spell-books.\n  \nDifferent linux distributions have different names for packages. While\npdftk is available in Debian and derivatives as **pdftk**, the package\nis not available in some RPM distributions, such as Fedora and CentOS.\nOne alternative would be to build your PC sheets using docker.\n\nIf the ``pdflatex`` command is available on your system, spellcasters\nwill include a spellbook with descriptions of each spell known. If\nnot, then this feature will be skipped.\n\nIn order to properly format descriptions for spells/features/etc.,\nsome additional latex packages are needed. On Ubuntu these can be\ninstall with:\n\n.. code:: bash\n\n    $ sudo apt-get -y install pdftk texlive-latex-base texlive-latex-extra texlive-fonts-recommended\n\nUsage\n=====\n\nEach character or set of GM notes is described by a python (or a VTTES\nJSON) file, which gives many attributes associated with the\ncharacter. See examples_ for more information about the character\ndescriptions.\n\n.. _examples: https://github.com/canismarko/dungeon-sheets/tree/master/examples\n\nThe PDF's can then be generated using the ``makesheets`` command. If\nno filename is given, the current directory will be parsed and any\nvalid files found will be processed. If the ``--recursive`` option is\nused, sub-folders will also be parsed.\n\n.. code:: bash\n\n    $ cd examples\n    $ makesheets\n\ndungeon-sheets contains definitions for standard weapons and spells,\nso attack bonuses and damage can be calculated automatically.\n\nConsider using the ``-F`` option to include the excellent D&D 5e\ntemplate for rendering spellbooks, druid wild forms and features\npages (https://github.com/rpgtex/DND-5e-LaTeX-Template).\n\nIf you'd like a **step-by-step walkthrough** for creating a new\ncharacter, just run ``create-character`` from a command line and a\nhelpful menu system will take care of the basics for you.\n\n\nContent Descriptions\n====================\n\nThe descriptions of content elements (e.g. classes, spells, etc.) are\nincluded in docstrings. The descriptions should ideally conform to\nreStructured text. This allows certain formatting elements to be\nproperly parsed and rendered into LaTeX or HTML::\n\n  class Scrying(Spell):\n    \"\"\"You can see and hear a particular creature you choose that is on\n    the same plane of existence as you. The target must make a W isdom\n    saving throw, which is modified by how well you know the target\n    and the sort of physical connection you have to it. If a target\n    knows you're casting this spell, it can fail the saving throw\n    voluntarily if it wants to be observed.\n\n    Knowledge - Save Modifier\n    -------------------------\n    - Secondhand (you have heard of the target) - +5\n    - Firsthand (you have met the target) - +0\n    - Familiar (you know the target well) - -5\n\n    Connection - Save Modifier\n    --------------------------\n    - Likeness or picture - -2\n    - Possession or garment - -4\n    - Body part, lock of hair, bit of nail, or the like - -10\n\n    \"\"\"\n    name = \"Scrying\"\n    level = 5\n    ...\n\nFor content that is not part of the SRD, consider using other\nsources. As an example, parse5e_ can be used to retrieve spells.\n\n\n.. _parse5e: https://github.com/user18130814200115-2/parse5e\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Dungeons and Dragons 5e Character Tools",
    "version": "0.19.0",
    "project_urls": {
        "Download": "https://github.com/canismarko/dungeon-sheets/archive/master.zip",
        "Homepage": "https://github.com/canismarko/dungeon-sheets"
    },
    "split_keywords": [
        "d&d",
        "character",
        "sheets"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e371a9bedbcc908c1e2166385ff67164d32addece481048a14ee6488294b3c49",
                "md5": "e348b3eadfb2dbd37ec4f0bcfd6061b8",
                "sha256": "79c78fd8b4c9d9234d47da58726254ff377043b3ed0a280d440fb5c528379b90"
            },
            "downloads": -1,
            "filename": "dungeonsheets-0.19.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e348b3eadfb2dbd37ec4f0bcfd6061b8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 2852758,
            "upload_time": "2023-11-09T17:28:46",
            "upload_time_iso_8601": "2023-11-09T17:28:46.383145Z",
            "url": "https://files.pythonhosted.org/packages/e3/71/a9bedbcc908c1e2166385ff67164d32addece481048a14ee6488294b3c49/dungeonsheets-0.19.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d8a05abac38747eed3962de0e736de086335ebbf7b05efd6325d01bc60483abb",
                "md5": "6b89b1390b827d6a9aae2dd32e6a45df",
                "sha256": "76adafaa2b2957a4931115545dff96f2b24821ec359adb04c48201132248382b"
            },
            "downloads": -1,
            "filename": "dungeonsheets-0.19.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6b89b1390b827d6a9aae2dd32e6a45df",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 2768465,
            "upload_time": "2023-11-09T17:28:51",
            "upload_time_iso_8601": "2023-11-09T17:28:51.652370Z",
            "url": "https://files.pythonhosted.org/packages/d8/a0/5abac38747eed3962de0e736de086335ebbf7b05efd6325d01bc60483abb/dungeonsheets-0.19.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-09 17:28:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "canismarko",
    "github_project": "dungeon-sheets",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "dungeonsheets"
}
        
Elapsed time: 0.13520s