{ "info": { "author": "Lars Martens", "author_email": "contact@haselkern.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# sprich\n\nThe easy to use plaintext dialog format.\n\nSprich (German: *speak*) is a tool for game developers to easily manage dialogs\nfor NPCs. It features a nice human readable format for creating the dialogs\nand compiles them to JSON for you to embed in your game.\n\n## Usage\nPut all the `.sprich` files you want to compile in one directory and run:\n\n sprich input_directory\n\nor\n\n sprich input_directory output_directory\n\nWhich will compile the files and place the resulting JSON - Files in the output\ndirectory, or in the input directory, if no output directory was specified.\n\n## Syntax\nEach file consists of several states and other statements which are all on\ntheir own line. In the following I will describe the intended behaviour for all\nstatements, in your game however you can exploit them as you wish.\n\nConsult the folder `examples` for a few examples of the syntax in action.\n\nEach state can have several actions followed by several options. If no options\nare given or no action transitions into a new state the dialog is over.\n\n### states\nThe default start state in sprich is considered to be named `[+]` and other\nstates can be named by a mix of letters, numbers and underscores.\n\n### messages\nThe simplest action is a message your character should say:\n\n [+]\n \"Hello!\"\n\n### options\nOnce all actions in a state have been processed you can show options to your user.\nThey define a text that should be selectable follow by an optional state and a\ncondition. The option should only be selectable/visible if the condition holds true.\nIf no state is given the option ends the dialog.\n\nConditions are always strings that your game needs to process.\n\n [+]\n \"Hello! How are you?\"\n > \"Good\" [good]\n > \"Bad\" [bad] \"mood == 0\"\n > \"I don't want to talk\"\n\n### function calls\nYou can call any function with parameters seperated by spaces. A function call\nis denoted by a `\\`.\n\n [+]\n \\think\n \\feel \"happy\" 3\n \"Nice to meet you!\"\n\n### instant transitions\nInstants can be used for intermediate states. They start with a `->` followed by\na state and an optional condition. If no condition is given the instant will be\nacted out immediately. This can be useful for checking conditions at the start\nof a dialog.\n\n [+]\n -> [grumpy] \"weather == bad\"\n -> [happy]\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/haselkern/sprich", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sprich", "package_url": "https://pypi.org/project/sprich/", "platform": "", "project_url": "https://pypi.org/project/sprich/", "project_urls": { "Homepage": "https://github.com/haselkern/sprich" }, "release_url": "https://pypi.org/project/sprich/0.1/", "requires_dist": [ "lark-parser (==0.7.1)" ], "requires_python": "", "summary": "A compiler for interactive dialogs.", "version": "0.1" }, "last_serial": 5255987, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "69f5cd6696004c387702e22fa6a60876", "sha256": "e5e972f4df781f41b3cc8e599bc6c4dd5acaef64825549909fc5a4c021727056" }, "downloads": -1, "filename": "sprich-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "69f5cd6696004c387702e22fa6a60876", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5270, "upload_time": "2019-05-11T12:37:59", "url": "https://files.pythonhosted.org/packages/4a/4c/28710dd2e3ff086aa653f9f9456a892713f1ec0475e29605ccea4328f9b4/sprich-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d60e079eecc43750cef7f1d596dadf30", "sha256": "420a0fc5982eecbe4ce6814f165d5a37a7012357cf0fca5f6ca05bfb6669aee0" }, "downloads": -1, "filename": "sprich-0.1.tar.gz", "has_sig": false, "md5_digest": "d60e079eecc43750cef7f1d596dadf30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3383, "upload_time": "2019-05-11T12:38:01", "url": "https://files.pythonhosted.org/packages/e2/42/cd45cde683d63ba83fd81eaa60a10f58ab4393b412ad14271aaa8067ff13/sprich-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69f5cd6696004c387702e22fa6a60876", "sha256": "e5e972f4df781f41b3cc8e599bc6c4dd5acaef64825549909fc5a4c021727056" }, "downloads": -1, "filename": "sprich-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "69f5cd6696004c387702e22fa6a60876", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5270, "upload_time": "2019-05-11T12:37:59", "url": "https://files.pythonhosted.org/packages/4a/4c/28710dd2e3ff086aa653f9f9456a892713f1ec0475e29605ccea4328f9b4/sprich-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d60e079eecc43750cef7f1d596dadf30", "sha256": "420a0fc5982eecbe4ce6814f165d5a37a7012357cf0fca5f6ca05bfb6669aee0" }, "downloads": -1, "filename": "sprich-0.1.tar.gz", "has_sig": false, "md5_digest": "d60e079eecc43750cef7f1d596dadf30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3383, "upload_time": "2019-05-11T12:38:01", "url": "https://files.pythonhosted.org/packages/e2/42/cd45cde683d63ba83fd81eaa60a10f58ab4393b412ad14271aaa8067ff13/sprich-0.1.tar.gz" } ] }